linkdfrobot 发表于 2015-4-12 10:37:17

数字骰子实验(柳俊毅)

本帖最后由 linkdfrobot 于 2015-4-12 10:45 编辑

数码管实验和按键控制LED的实验,通过实验大家已经学会了两种器件的基本用法。这次使用数码管与按键进行组合,做一个简易数字骰子。数字骰子的基本原理是按下按钮数码管快速在1-8之间循环跳动一次,数码管定格在当前的数字上,不再跳动。需要器材如下1 X 八位数码管1 X 220Ω电阻1 X 按钮如下图接
代码如下//项目gamble – 数码色子
int number =
{
{0,0,0,1,0,0,0,1},   //显示0
{0,1,1,1,1,1,0,1},   //显示1
{0,0,1,0,0,0,1,1},   //显示2
{0,0,1,0,1,0,0,1},   //显示3
{0,1,0,0,1,1,0,1},   //显示4
{1,0,0,0,1,0,0,1},   //显示5
{1,0,0,0,0,0,0,1},   //显示6
{0,0,1,1,1,1,0,1},   //显示7
{0,0,0,0,0,0,0,1},   //显示8
{0,0,0,0,1,1,0,1}    //显示9
};

void numberShow(int i){         //该该函数用来显示数字
    for(int pin = 2; pin <= 9 ; pin++){
       digitalWrite(pin, number);
    }
}

void setup(){
for(int pin = 2 ; pin <= 9 ; pin++){      // 设置数字引脚2~9为输出模式
      pinMode(pin, OUTPUT);
      digitalWrite(pin, HIGH);
}
}

void loop() {
while(analogRead(0)>1000)          //读取模拟1口电压值如果电压值大于1000(即4.88V)
    { int rand = random(0,10);   
    for(int j = 0; j <= 9 ; j++){
          numberShow(j);       //调用numberShow()函数,显示0~9
          delay(100);
      }
          numberShow(rand);
    }
}
实验效果如下本篇由柳俊毅制作,罗亮指导


页: [1]
查看完整版本: 数字骰子实验(柳俊毅)