数字骰子实验(柳俊毅)

2015-04-121万
AI 快速预览详细 收起
数字骰子实验是一个适合初学者的创意编程项目。通过使用八位数码管和按键,结合Arduino编程,可以制作一个简易的随机数生成器。按下按钮后,数码管会在1-8之间快速循环跳动,并最终定格在一个随机数上。这个项目不仅能够锻炼基本的电路连接和编程能力,还能激发孩子们的创造力。


数码管实验和按键控制LED的实验,通过实验大家已经学会了两种器件的基本用法。这次使用数码管与按键进行组合,做一个简易数字骰子。
数字骰子的基本原理是按下按钮数码管快速在1-8之间循环跳动一次,数码管定格在当前的数字上,不再跳动。
需要器材如下
1 X 八位数码管数字骰子实验(柳俊毅)图2
1 X 220Ω电阻数字骰子实验(柳俊毅)图3
1 X 按钮
如下图接
数字骰子实验(柳俊毅)图5
代码如下
  1. //项目gamble – 数码色子
  2. int number[10][8] =
  3. {
  4.   {0,0,0,1,0,0,0,1},   //显示0
  5.   {0,1,1,1,1,1,0,1},   //显示1
  6.   {0,0,1,0,0,0,1,1},   //显示2
  7.   {0,0,1,0,1,0,0,1},   //显示3
  8.   {0,1,0,0,1,1,0,1},   //显示4
  9.   {1,0,0,0,1,0,0,1},   //显示5
  10.   {1,0,0,0,0,0,0,1},   //显示6
  11.   {0,0,1,1,1,1,0,1},   //显示7
  12.   {0,0,0,0,0,0,0,1},   //显示8
  13.   {0,0,0,0,1,1,0,1}    //显示9
  14. };
  15. void numberShow(int i){         //该该函数用来显示数字
  16.     for(int pin = 2; pin <= 9 ; pin++){
  17.        digitalWrite(pin, number[i][pin - 2]);
  18.     }
  19. }
  20. void setup(){
  21.   for(int pin = 2 ; pin <= 9 ; pin++){      // 设置数字引脚2~9为输出模式
  22.       pinMode(pin, OUTPUT);
  23.       digitalWrite(pin, HIGH);
  24.   }
  25. }
  26. void loop() {
  27.   while(analogRead(0)>1000)          //读取模拟1口电压值如果电压值大于1000(即4.88V)
  28.     { int rand = random(0,10);   
  29.     for(int j = 0; j <= 9 ; j++){  
  30.           numberShow(j);       //调用numberShow()函数,显示0~9
  31.           delay(100);
  32.         }
  33.           numberShow(rand);
  34.     }
  35. }
复制代码

实验效果如下
数字骰子实验(柳俊毅)图1数字骰子实验(柳俊毅)图4
本篇由柳俊毅制作,罗亮指导



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -