7798浏览
查看: 7798|回复: 0

数字骰子实验(柳俊毅)

[复制链接]
本帖最后由 linkdfrobot 于 2015-4-12 10:45 编辑

数码管实验和按键控制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
本篇由柳俊毅制作,罗亮指导



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail