電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Arduino創(chuàng)建電子記分牌

使用Arduino創(chuàng)建電子記分牌

2022-12-16 | zip | 0.28 MB | 次下載 | 免費(fèi)

資料介紹

描述

很多時(shí)候我們想和朋友一起玩,我們需要一個(gè)電子板來(lái)計(jì)算每個(gè)球隊(duì)或球員的積分。基于此,我們用Arduino開(kāi)發(fā)了這個(gè)項(xiàng)目。

以下項(xiàng)目是使用Arduino開(kāi)發(fā)電子記分牌。通過(guò)這個(gè)記分板,我們將使用兩個(gè)按鈕來(lái)調(diào)整每個(gè)球員或球隊(duì)的得分。

接下來(lái),我們將逐步開(kāi)始項(xiàng)目的討論和開(kāi)發(fā)。

項(xiàng)目發(fā)展

最初,我們?cè)趫D 1 中展示了所使用的電子元件和該項(xiàng)目的示意組裝電路。

?
pYYBAGOX3XiARkymAAE3mlWXpZc973.jpg
?

通過(guò)這個(gè)電路,我們用兩個(gè)按鈕來(lái)調(diào)整電子記分牌上的分?jǐn)?shù)。

連接到數(shù)字引腳 6的按鈕調(diào)整玩家 1 的分?jǐn)?shù),而連接到數(shù)字引腳 7 的按鈕調(diào)整玩家 2 的分?jǐn)?shù)。

點(diǎn)數(shù)將由Arduino Nano發(fā)送TM1637 顯示模塊。

接下來(lái),我們將開(kāi)始討論項(xiàng)目編程代碼。

電子記分牌的邏輯程序設(shè)計(jì)

以下是使用 Arduino 開(kāi)發(fā)電子記分牌的完整代碼。不久之后,我們將逐步介紹該項(xiàng)目的討論。

#include 
  
TM1637Display display(2,3);  
  
byte CountP1 = 0, CountP2 = 0;  
bool player1 = 0, player2 = 0;  
bool PreviousStateP1 = 0, PreviousStateP2 = 0;  
  
#define P1 6  
#define P2 7  
  
void setup()  
{  
      display.setBrightness(1);      // set display to maximum brightness  
  
      pinMode(P1, INPUT);  
      pinMode(P2, INPUT);  
  
      display.showNumberDec(0,true,4,0);  
}  
  
void loop()  
{  
            player1 = digitalRead(P1);   
            player2 = digitalRead(P2);  
  
            delay(50);  
  
            if(player1 == 1 && PreviousStateP1 == 0)  
            {  
             CountP1++;   
             PreviousStateP1 = 1;  
            }  
  
            if(player1 == 0 && PreviousStateP1 == 1)  
            {  
             PreviousStateP1 = 0;  
            }  
  
            if(player2 == 1 && PreviousStateP2 == 0)  
            {  
             CountP2++;   
             PreviousStateP2 = 1;  
            }  
  
            if(player2 == 0 && PreviousStateP2 == 1)  
            {  
             PreviousStateP2 = 0;  
            }               
  
              display.showNumberDecEx((100*CountP1) + CountP2, 0x40, 1, 4, 0);                             
}

首先,我們插入 TM1637 模塊庫(kù),聲明所有變量,并定義按鈕引腳。

#include 
  
TM1637Display display(2,3);  
  
byte CountP1 = 0, CountP2 = 0;  
bool player1 = 0, player2 = 0;  
bool PreviousStateP1 = 0, PreviousStateP2 = 0;  
  
#define P1 6  
#define P2 7

之后,在 void setup 函數(shù)中配置了顯示亮度,將引腳設(shè)置為輸入,并在TM1637 顯示器中打印了零值。

void setup()  
{  
      display.setBrightness(1);      // set display to maximum brightness  
  
      pinMode(P1, INPUT);  
      pinMode(P2, INPUT);  
  
      display.showNumberDec(0,true,4,0);  
}

TM1637 顯示功能的所有文檔都可以在鏈接中訪問(wèn):TM1637 顯示文檔

現(xiàn)在,在循環(huán)函數(shù)中實(shí)現(xiàn)了使用兩個(gè)按鈕增加兩個(gè)計(jì)數(shù)變量的代碼。每個(gè)按鈕將遞增每個(gè)變量,如下所示。

void loop()  
{  
            player1 = digitalRead(P1);   
            player2 = digitalRead(P2);  
  
            delay(50);  
  
            if(player1 == 1 && PreviousStateP1 == 0)  
            {  
             CountP1++;   
             PreviousStateP1 = 1;  
            }  
  
            if(player1 == 0 && PreviousStateP1 == 1)  
            {  
             PreviousStateP1 = 0;  
            }  
  
            if(player2 == 1 && PreviousStateP2 == 0)  
            {  
             CountP2++;   
             PreviousStateP2 = 1;  
            }  
  
            if(player2 == 0 && PreviousStateP2 == 1)  
            {  
             PreviousStateP2 = 0;  
            }               
  
              display.showNumberDecEx((100*CountP1) + CountP2, 0x40, 1, 4, 0);                             
}

在循環(huán)中,將讀取每個(gè)引腳。如果按下按鈕之一,變量 CountP1 或 CountP2 將根據(jù)按下的按鈕遞增。

最后,計(jì)數(shù)值將顯示在 TM1637 顯示屏中,如圖 1 所示。

?
pYYBAGOX3bWAGAoLAAumIHFXQlY982.jpg
圖 1 - 3 x 2 電子記分板上的演示文稿。
?

為了在 TM1637 Display 中顯示值,使用了下面介紹的功能。

display.showNumberDecEx((100*CountP1) + CountP2, 0x40, 1, 4, 0);

通過(guò)此函數(shù),通過(guò)以下公式計(jì)算計(jì)數(shù)值:(100*CountP1) + CountP2。

不久之后,被激活的點(diǎn)將兩個(gè)值分開(kāi)。

因此,這是一個(gè)可以在多個(gè)游戲中使用的簡(jiǎn)單項(xiàng)目。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)