当前位置: 首页 > 应用教程 > 【创客学堂】玩腻了普通骰子?这款智能骰子你一定要看

【创客学堂】玩腻了普通骰子?这款智能骰子你一定要看

编辑:jane2015-04-21 浏览次数:2109

       节假日酒桌上耍腻了普通骰子?对不能把握骰子的读数耿耿于怀?

       不要担心!智能骰子来啦!小奥亲授秘籍,手把手教你搭建一款智能骰子:从此,智能数字随心控,赢遍天下无敌手!
       打造一款智能骰子首需利器:八段数码管。
       八段数码管是由多个发光LED封装到一起组成的“8”字型输出器件,每一个笔画为一个发光LED。
       智能骰子工作原理:先由按键触发random(min,max)函数产生一个随机数,再通过CarDuinoUNO R3控制器控制不同笔画位置的LED灯从而使八段数码管显示不同数字。
主要配件:
CarDuino UNO R3控制器×1
USB下载线×1
大面包板×1
跳线若干
共阴极八段数码管×1
电阻×8
按键开关×1

智能骰子组装原理图


智能骰子组装面包板接插图


智能骰子实物连接图
       按上面所示的面包板接插图及原理图接好电路,然后将下面的程序下载到CarDuino UNO R3控制器中。
智能骰子实验程序:
int switchPin=2;    //定义switchPin引脚为2
#define A_LED 3
#define B_LED 4
#define C_LED 5
#define D_LED 6
#define E_LED 7
#define F_LED 8
#define G_LED 9        //数码管中表示数字的引脚A~B分别连接第3~9引脚    int temp;
void setup()
{
Serial.begin(9600);    //设置串口波特率为9600
pinMode(switchPin,INPUT);
pinMode(A_LED,OUTPUT);  
pinMode(B_LED,OUTPUT);  
pinMode(C_LED,OUTPUT);
pinMode(D_LED,OUTPUT);
pinMode(E_LED,OUTPUT);
pinMode(F_LED,OUTPUT);
pinMode(G_LED,OUTPUT); //设置2为输入引脚;3~9为输出引脚
}
void loop()
{
if (LOW== digitalRead(switchPin))    //如果按键按下
{
temp=random(1,7);    //产生一个1~6中的随机数
switch (temp){
case (1) :
{
Serial.println(1);    //通过串口监视器可以同步查看产生的随机数
digitalWrite( A_LED , LOW );
digitalWrite( B_LED , HIGH );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , LOW );
digitalWrite( E_LED , LOW );
digitalWrite( F_LED , LOW );
digitalWrite( G_LED , LOW );    //数码管显示“1”
break;
}
case (2) :
{
Serial.println(2);
digitalWrite( A_LED , HIGH );
digitalWrite( B_LED , HIGH );
digitalWrite( C_LED , LOW );
digitalWrite( D_LED , HIGH );
digitalWrite( E_LED , HIGH );
digitalWrite( F_LED , LOW );
digitalWrite( G_LED , HIGH );    //数码管显示“2”
break;
}
case (3) :
{
Serial.println(3);
digitalWrite( A_LED , HIGH );
digitalWrite( B_LED , HIGH );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , HIGH );
digitalWrite( E_LED , LOW );
digitalWrite( F_LED , LOW );
digitalWrite( G_LED , HIGH );    //数码管显示“3”
break;
}
case (4) :
{
Serial.println(4);
digitalWrite( A_LED , LOW );
digitalWrite( B_LED , HIGH );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , LOW );
digitalWrite( E_LED , LOW );
digitalWrite( F_LED , HIGH );
digitalWrite( G_LED , HIGH );    //数码管显示“4”
break;
}
case (5) :
{
Serial.println(5);
digitalWrite( A_LED , HIGH );
digitalWrite( B_LED , LOW );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , HIGH );
digitalWrite( E_LED , LOW );
digitalWrite( F_LED , HIGH );
digitalWrite( G_LED , HIGH );    //数码管显示“5”
break;
}
case (6) :
{
Serial.println(6);
digitalWrite( A_LED , HIGH );
digitalWrite( B_LED , LOW );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , HIGH );
digitalWrite( E_LED , HIGH );
digitalWrite( F_LED , HIGH );
digitalWrite( G_LED , HIGH );    //数码管显示“6”
break;
}
}
delay(1000);
}
}
       按下按键,函数random(1,7)产生一个{1、2、3、4、5、6}之中的随机数,显示到八段数码管,并且通过串口监视器同步观察随机数值(如下图所示),从而实现了智能骰子的功能。

串口监视器返回随机数
       好啦!到这里,一款智能骰子就组装好啦!啥?你嫌它太暴露又太丑?发挥你的奇思妙想,把它变得美观又实用吧,期待你的作品哦~
       奥松机器人《爱上Arduino》互动入门套件,组装智能骰子就靠它!
       《爱上Arduino》互动入门套件,专为Arduino爱好者精心打造,套件内基本元件丰富,更配置了直流电机、风扇、干簧管、磁钢、倾角传感器、红外热释电传感器等器材。即便未学过电子电路知识的你也可以组装出智能骰子、智能门铃、流水灯等等,还可以做出酷炫的报警器:满足你的动手需求!想想拥有自己独设的一款电子神器是何等的自信和威风~

       点击此处秒购《爱上Arduino》互动入门套件,为酷爱电子的Ta留一件吧~

相关文章:
【创客学堂】利用红外热释电传感器制作属于自己的报警神器

【创客学堂】Arduino开发板头号名人:Intel Galileo的十大特性

【创客学堂】Arduino与树莓派各自有什么优缺点?

【创客学堂】Instagram上的树莓派飞屋环游记

【创客学堂】树莓派+Tor 看小伙伴们如何躲开NSA追踪

----------------------------------------------------------------------------------------------------------------
奥松机器人官网:www.robotbase.cn
微信号:搜索公众号“奥松机器人”
QQ群: 271230889(讨论,解惑)
微博:@奥松机器人基地
----------------------------------------------------------------------------------------------------------------
温馨提示:予人玫瑰,手留余香;如果你喜欢这篇文章,不妨转发推荐给你身边的朋友!

  • 用户评价

暂时还没有任何用户评论

总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码:
captcha

Hi,大家好,我是小奥!

欢迎来到奥松机器人的世界!

需要咨询服务请点小奥哦!

  • 销售咨询: 销售咨询
  • 销售咨询: 销售咨询
  • 技术支持: 技术支持
  • 咨询电话:
    0451-86628691
Top