課程目標(biāo)
- 按鍵控制數(shù)碼管電路的搭建
- 隨機數(shù)的應(yīng)用
相關(guān)知識
在Arduino中,random()函數(shù)用來產(chǎn)生偽隨機數(shù),可以傳入一個區(qū)間,產(chǎn)生此區(qū)間內(nèi)的隨機數(shù)。
random()
- 描述:生成偽隨機數(shù)。
- 函數(shù)原型:
- random(max)
- random(min,max)
- 參數(shù):
- min: 隨機數(shù)區(qū)間下限值,且包括在內(nèi)。此參數(shù)可選,省略則從0開始。
- max: 隨機數(shù)區(qū)間上限值,且不包括在內(nèi)。
- 返回值:min和max-1之間的隨機數(shù)。
randomSeed()
- 描述:初始化隨機數(shù)生成器。
- 函數(shù)原型:randomSeed(seed)
- 參數(shù):用于初始化偽隨機序列的數(shù)字,隨機數(shù)種子。
- 返回值:沒有。
電路搭建
所需材料
Arduino UNO * 1
共陽極數(shù)碼管 * 1
按鍵 * 1
杜邦線若干
*接線方式
*
參考前幾期課程,進行綜合接線。

程序流程分析

程序編寫
練習(xí):隨機數(shù)顯示
根據(jù)要求,編寫程序?qū)崿F(xiàn)按鍵數(shù)碼管顯示0~9隨機數(shù)功能。
圖形化方式:

代碼方式:
/* 項目名稱:電子骰子
項目時間:2022.02.17
項目作者:MRX
*/
int Pin[8] = {2,3,4,5,6,7,8};//定義引腳數(shù)組
int num;
unsigned char Num[10][7] =
//a b c d e f g
{{0, 0, 0, 0, 0, 0, 1}, //0
{1, 0, 0, 1, 1, 1, 1}, //1
{0, 0, 1, 0, 0, 1, 0}, //2
{0, 0, 0, 0, 1, 1, 0}, //3
{1, 0, 0, 1, 1, 0, 0}, //4
{0, 1, 0, 0, 1, 0, 0}, //5
{0, 1, 0, 0, 0, 0, 0}, //6
{0, 0, 0, 1, 1, 1, 1}, //7
{0, 0, 0, 0, 0, 0, 0}, //8
{0, 0, 0, 0, 1, 0, 0}, //9
};
void setup()
{
for (int i = 2; i <= 8; i++)
{
pinMode(i, OUTPUT); //設(shè)置2~8引腳為輸出模式
}
pinMode(10,INPUT);
randomSeed(analogRead(0));
}
//根據(jù)索引顯示數(shù)字
void showNum(int index)
{
digitalWrite(2, Num[index][0]); //設(shè)置a 引腳的電平
digitalWrite(3, Num[index][1]); //設(shè)置b 引腳的電平
digitalWrite(4, Num[index][2]); //設(shè)置c 引腳的電平
digitalWrite(5, Num[index][3]); //設(shè)置d 引腳的電平
digitalWrite(6, Num[index][4]); //設(shè)置e 引腳的電平
digitalWrite(7, Num[index][5]); //設(shè)置f 引腳的電平
digitalWrite(8, Num[index][6]); //設(shè)置g 引腳的電平
}
void loop()
{
if(digitalRead(10)){
num = random(10); //每0.5秒產(chǎn)生隨機數(shù)
delay(500);
}
showNum(num); //顯示隨機數(shù)
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1894瀏覽量
94199 -
生成器
+關(guān)注
關(guān)注
7文章
322瀏覽量
22727 -
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
197035 -
隨機數(shù)
+關(guān)注
關(guān)注
0文章
20瀏覽量
12283
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
arduino學(xué)習(xí)筆記8 - 數(shù)字骰子實驗
前幾次做了數(shù)碼管實驗和按鍵控制LED的實驗,通過實驗大家已經(jīng)學(xué)會了兩種器件的基本用法。這次使用數(shù)碼管與按鍵進行組合,做一個簡易數(shù)字骰子。數(shù)字篩子的基本原理是數(shù)碼管快速在1-8之間循環(huán)跳動,當(dāng)按下按鍵
發(fā)表于 10-23 17:38
電子骰子的設(shè)計方案分享
描述電子骰子它是電子骰子,用于生成隨機數(shù),通常作為桌面游戲的一部分,包括骰子游戲、棋盤游戲、角色扮演游戲和機會游戲。
發(fā)表于 06-30 06:20
基于AT89C205構(gòu)建的電子骰子的電路圖
這是基于Atmel AT89C2051的微控制器芯片構(gòu)建的電子骰子的電路圖。這種電子骰子的應(yīng)用與骰子游戲中使用的類似。該電路生成隨機數(shù),這些
基于Arduino的7段顯示數(shù)字骰子
電子發(fā)燒友網(wǎng)站提供《基于Arduino的7段顯示數(shù)字骰子.zip》資料免費下載
發(fā)表于 11-14 09:28
?0次下載
分享一個棋盤游戲電子骰子電路
在享受我們的棋盤游戲時,電子骰子可以成為傳統(tǒng)骰子的良好而有趣的替代品。我們設(shè)計了一個電子骰子電路,它將生成從0到6的隨機數(shù)。該電路的特點是,
Arduino篇—電子骰子
評論