色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用Arduino寫個搶答器

汽車電子技術 ? 來源:嵌入式悅翔園 ? 作者:李斌 ? 2023-02-17 11:25 ? 次閱讀

1前言

事情是這樣的,本來在準備公眾號文章,想著用tinkercad模擬一下自己寫的程序,結果無論自己如何調整程序,都無法達到預期的效果,后來經過層層排查發現是被一個按鍵整破防了。

圖片

這種四腳按鍵的四個引腳在按下之前是兩兩相通的原理圖如下:

圖片

我在之前一直認為這種按鈕的四個腳都是獨立的,并且在按下后四個腳都會相通,經過查詢資料發現原來自己認為的一直都是錯的,這里把錯誤分享給大家,希望大家引以為戒(應該也不會有人像我一樣傻吧)

2效果演示

所需材料:

  • Arduinio uno開發板一個
  • 按鍵四個
  • LED燈三個
  • 電阻七個
  • 杜邦線若干

連接電路圖:圖片

實現功能:

1、主持人按下按鈕才能開始搶答,并且閃燈提示;

2、選手A搶答后選手B、C將無法進行搶答;

3、主持人再次點擊按鈕可以恢復搶答模式,并閃燈提示;

3主程序

//定義LED燈的引腳
const int greenLed = 10;
const int yellowLed = 9;
const int redLed = 8;

//定義按鍵開關引腳
const int greenButton = 2; 
const int yellowButton = 3; 
const int redButton = 4;
const int startButton = 5; 

int r=1,y=1,b=1,s=1;  //定義三個變量存儲三個按鍵開關的狀態
bool ready = false;   //定義一個變量用于記錄搶答器是否就緒的狀態

void setup() {
  // put your setup code here, to run once:
  // 定義引腳輸入輸出狀態
  pinMode(redLed, OUTPUT);
  pinMode(yellowLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(redButton, INPUT);
  pinMode(yellowButton, INPUT);
  pinMode(greenLed, INPUT);
  pinMode(startButton, INPUT);

  //將LED燈的初始化狀態設定為熄滅
  digitalWrite(redLed, LOW);
  digitalWrite(yellowLed, LOW);
  digitalWrite(greenLed, LOW);
}

void loop() {
  // put your main code here, to run repeatedly:
  // 讀取四個按鍵開關的狀態
     r = digitalRead(redButton);
     y = digitalRead(yellowButton);
     b = digitalRead(greenButton);
     s = digitalRead(startButton);

     if(s==0){  //如果主持人按下開始搶答按鈕,選手前面的LED閃爍3次
       for(int i=0;i<3;i++){
        digitalWrite(redLed, HIGH);
        digitalWrite(yellowLed, HIGH);
        digitalWrite(greenLed, HIGH);
        delay(500);
        digitalWrite(redLed, LOW);
        digitalWrite(yellowLed, LOW);
        digitalWrite(greenLed, LOW);
        delay(500);
      }
      ready = true;
     }

     //當搶答器處于就緒狀態時
     //紅色按鍵按下
     if(ready && r==0){
      digitalWrite(redLed, HIGH);
      ready = false;
      }

      //黃色按鍵按下
     if(ready && y==0){
      digitalWrite(yellowLed, HIGH);
      ready = false;
      }

      //藍色按鍵按下
      if(ready && b==0){
      digitalWrite(greenLed, HIGH);
      ready = false;
      }       
}

4效果演示

,時長00:41

[ ]

5代碼分析

在實現搶答環節中主要用到了if函數,但是有一個參數至關重要,ready的狀態直接決定了能否進入if循環,所以使用ready = false;實現各個按鍵的互鎖。

判斷條件ready && y==0用來判斷是否已經準備就緒,并且其他人還未成功搶到,只有這兩種情況同時滿足才能進入if,并將ready的狀態改為false,防止進入其他if

另外有的朋友可能會說if放置的先后順序會影響結果,其實代碼的運行速度是非常快的,并不會出現像大家想想的那種情況,所以在一定程度上還是公平的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 搶答器
    +關注

    關注

    17

    文章

    243

    瀏覽量

    34968
  • 按鈕
    +關注

    關注

    0

    文章

    134

    瀏覽量

    13130
  • Arduino
    +關注

    關注

    189

    文章

    6494

    瀏覽量

    190371
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    基于數字電路的多路搶答器設計

    本文介紹一種數字電路組成的顯示優先搶答號碼的多路搶答器的設計與制作。
    發表于 03-31 09:28 ?1.2w次閱讀
    基于數字電路的多路<b class='flag-5'>搶答器</b>設計

    #電子制作 #Arduino 搶答器小實驗

    搶答器Arduino
    電子技術那些事兒
    發布于 :2022年08月09日 21:25:55

    求c程序 基于12864的八路搶答器

    本人大二,做個基于12864的八路搶答器,c程序不怎么給力,不懂怎么寫個好程序,求幫忙。。。。。
    發表于 05-17 22:55

    基于STM32的無線搶答器

    無線搶答器采用STM32F103ZET6(STM 32F103ZET6數據手冊)芯片主控,同時藍牙模塊HC-05,語音模塊ISD1760(ISD1760數據手冊),數碼管,七彩燈等部件構成,當
    發表于 08-29 14:13

    制作搶答器

    第四章 搶答器的制作(Arduino邊做邊學:從點亮Led到物聯網)
    發表于 06-24 12:18

    FPGA搶答器該怎么設計?

    主要有兩種:小規模數字邏輯芯片譯碼和觸發來做,另外一種單片機來做;小規模數字邏輯電路比較復雜,單片機來做隨著搶答組數的增加有時候存在
    發表于 09-24 08:24

    基于STM32的搶答器設計

    前言最近在指導一個小學弟完成他的設計,借此機會記錄一個小項目從“系統結構設計、器件選型、PC板繪制、程序調試”的過程。目的:設計一個四人的搶答器設計要求:1、搶答器可同時供四組搶答;2、搶答器
    發表于 07-26 06:14

    多路智力競賽搶答器設計

    掌握搶答器的工作原理及其設計方法。重點:定時搶答器的總體框圖的產生。難點:搶答器控制電路的設計。一、搶答器的功能要求·基本功能① 設計一個智力競賽
    發表于 12-01 17:34 ?624次下載
    多路智力競賽<b class='flag-5'>搶答器</b>設計

    自制電子搶答器

    自制電子搶答器搶答器已被人們所熟知,在一些電子類的雜志中也經常介紹,許多電子搶答器都采用了邏輯電路進行設計,在本文
    發表于 11-21 10:55 ?1.4w次閱讀

    PLC搶答器設計

    本文介紹的PLC搶答器,思路清晰,程序設計易于理解,能準確、快速做出判斷,具有很強的實用性。PLC搶答器設計保證了競賽活動的合理、公平、公正進行。
    發表于 12-24 00:30 ?2w次閱讀
    PLC<b class='flag-5'>搶答器</b>設計

    搶答器

    搶答器 C51單片機源碼,KEIL源文件,C語言編寫
    發表于 06-20 16:36 ?44次下載

    搶答器protues仿真程序 51搶答器設計 搶答器程序prot

    搶答器protues仿真程序 51搶答器設計 搶答器程序protues仿真設計
    發表于 01-14 22:32 ?178次下載

    8路數字搶答器課程設計報告

    搶答器作為一種工具,已經廣泛應用于各種智力和知識競賽場合。本設計以八路智力競賽搶答器為基本概念,從實際應用出發,利用電子設計自動化( EDA)技術,數字、模擬電子器件設計具有擴充功能的搶答器
    發表于 11-15 17:39 ?47次下載

    搶答器plc梯形圖介紹(三路搶答器和四路搶答器

    本文為大家介紹一個三路搶答器和一個四路搶答器的PLC梯形圖。
    發表于 01-31 15:35 ?8.5w次閱讀
    <b class='flag-5'>搶答器</b>plc梯形圖介紹(三路<b class='flag-5'>搶答器</b>和四路<b class='flag-5'>搶答器</b>)

    數顯號碼搶答器設計制作

    本文介紹一種數字電路組成的顯示優先搶答號碼的多路搶答器的設計與制作。
    的頭像 發表于 02-09 10:01 ?5194次閱讀
    數顯號碼<b class='flag-5'>搶答器</b>設計制作
    主站蜘蛛池模板: 亚洲成人日韩 | 四虎国产精品永久一区高清 | 2023极品少妇XXXO露脸 | 狠狠色噜噜狠狠狠狠米奇777 | 3d在线看小舞被躁视频 | 在线高清电影理论片4399 | 亚洲AV福利天堂一区二区三 | 国产精品亚洲电影久久成人影院 | 老司机福利在视频在ae8 | 精品久久99麻豆蜜桃666 | 伊人久久中文大香线蕉综合 | 亚洲精品国产A久久久久久 亚洲精品国产AV成人毛片 | 97精品国偷拍自产在线 | 无限资源日本2019版免费 | 日久精品不卡一区二区 | 99精彩免费观看 | 中文无码有码亚洲 欧美 | 久久re这里视频只有精品首页 | 久久久久999 | 内射白浆一区二区在线观看 | 久久99国产精品无码AV | 越南女 黑人 痛苦 大叫 | 最近最新的日本字幕MV | 国产成人亚洲精品午夜国产馆 | 人妻中文字幕无码久久AV爆 | 国产精品人妻无码77777 | 99久久精品免费国产一区二区三区 | 日韩毛片在线视频 | 亚洲日韩欧美国产专区 | 国产精品一区二区人妻无码 | 免费看到湿的小黄文软件APP | 国产精品免费大片一区二区 | 最近日本MV字幕免费观看视频 | 国产高清精品自在久久 | 97超级碰碰人妻中文字幕 | 美美哒高清在线播放8 | 在线观看免费视频a | 亚洲AV精品无码成人 | 国产亚洲精品久久久久久国模美 | 看了n遍舍不得删的黄文 | 久久精品一本到99热 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品