新手电子骰子制作感想

2016-01-291.9万
AI 快速预览详细 收起
本文介绍了如何使用Arduino Uno R3和共阴数码管制作一个电子骰子。项目所需的硬件包括Arduino Uno R3、470Ω电阻、四脚开关、面包板、导线和共阴数码管。通过详细的接线图和代码示例,新手可以轻松完成这个项目。项目的核心是通过穷举法switch函数生成1到6之间的随机数,并通过共阴数码管显示。通过这个项目,新手可以理解共阴数码管的工作原理,并学会基本的接线和代码编写。


今天开始做Arduino了,哈哈,作为新手,做出第一个比较实用的小东西还是挺开心。忍不住想来说一些感想。
准备工作:
1、一颗敢想敢做的心(JUST DO IT),拒做键盘侠。PS:没拿过广告费哦
2、Arduino Uno R3及其套餐:USB下载线。



3、470Ω电阻X7。(原谅手残x1)如图
新手电子骰子制作感想图1
4、四脚开关X1.(原谅手残x2)
新手电子骰子制作感想图3新手电子骰子制作感想图2
5、面包板X1。
新手电子骰子制作感想图4

6、还有主角:共阴数码管
新手电子骰子制作感想图5新手电子骰子制作感想图6

7、一坨导线。。。

8、知识储备
共阴八极管:(请原谅XN)
新手电子骰子制作感想图7

如图,共阴八极管的原理就是图中引脚3,8接地后,再在对应数字引脚输入电压,就可以使得图中对应一段的LED亮起,经过组合后,便能显示出数字。(PS:我判定正反的标志是八极管上面有一个圈,对应着图中引脚十(个人认为是小数点,所以应该在右下方,嘿嘿机智如我))
接下来是代码区,一坨在那。。。(使用的是穷举法switch()函数,有点烦,希望在研究出另一种更简便方法)
  1. int switchPin=2;        //定义switchPin引脚为2
  2. #define A_LED 3
  3. #define B_LED 4
  4. #define C_LED 5
  5. #define D_LED 6
  6. #define E_LED 7
  7. #define F_LED 8
  8. #define G_LED 9                //数码管中表示数字的引脚A~B分别连接第3~9引脚
  9.                         
  10. int temp;
  11. void setup()
  12. {
  13.   Serial.begin(9600);
  14.   pinMode(switchPin,INPUT);
  15.   pinMode(A_LED,OUTPUT);
  16.   pinMode(B_LED,OUTPUT);
  17.   pinMode(C_LED,OUTPUT);
  18.   pinMode(D_LED,OUTPUT);
  19.   pinMode(E_LED,OUTPUT);
  20.   pinMode(F_LED,OUTPUT);
  21.   pinMode(G_LED,OUTPUT);
  22. }
  23. void loop()
  24. {
  25. if (LOW== digitalRead(switchPin))        //如果按键按下
  26. {
  27. temp=random(1,7);        //产生一个1~6中的随机数
  28. switch (temp){
  29. case (1) :
  30. {
  31. Serial.println(1);        //通过串口监视器可以同步查看产生的随机数
  32. digitalWrite( A_LED , LOW );
  33. digitalWrite( B_LED , LOW );
  34. digitalWrite( C_LED , LOW );
  35. digitalWrite( D_LED , HIGH );
  36. digitalWrite( E_LED , LOW );
  37. digitalWrite( F_LED , LOW );
  38. digitalWrite( G_LED ,HIGH );        //数码管显示“1”
  39. break;
  40. }
  41. case (2) :
  42. {
  43. Serial.println(2);
  44. digitalWrite( A_LED , HIGH);
  45. digitalWrite( B_LED , LOW );
  46. digitalWrite( C_LED , HIGH );
  47. digitalWrite( D_LED , HIGH );
  48. digitalWrite( E_LED , HIGH );
  49. digitalWrite( F_LED , HIGH );
  50. digitalWrite( G_LED , LOW );        //数码管显示“2”
  51. break;
  52. }
  53. case (3) :
  54. {
  55. Serial.println(3);
  56. digitalWrite( A_LED , HIGH );
  57. digitalWrite( B_LED , LOW );
  58. digitalWrite( C_LED , HIGH );
  59. digitalWrite( D_LED , HIGH );
  60. digitalWrite( E_LED , LOW );
  61. digitalWrite( F_LED , HIGH );
  62. digitalWrite( G_LED , HIGH );        //数码管显示“3”
  63. break;
  64. }
  65. case (4) :
  66. {
  67. Serial.println(4);
  68. digitalWrite( A_LED , HIGH );
  69. digitalWrite( B_LED , HIGH );
  70. digitalWrite( C_LED , LOW );
  71. digitalWrite( D_LED , HIGH );
  72. digitalWrite( E_LED , LOW );
  73. digitalWrite( F_LED , LOW );
  74. digitalWrite( G_LED , HIGH );        //数码管显示“4”
  75. break;
  76. }
  77. case (5) :
  78. {
  79. Serial.println(5);
  80. digitalWrite( A_LED , HIGH );
  81. digitalWrite( B_LED , HIGH );
  82. digitalWrite( C_LED , HIGH );
  83. digitalWrite( D_LED , LOW );
  84. digitalWrite( E_LED , LOW );
  85. digitalWrite( F_LED , HIGH );
  86. digitalWrite( G_LED , HIGH );        //数码管显示“5”
  87. break;
  88. }
  89. case (6) :
  90. {
  91. Serial.println(6);
  92. digitalWrite( A_LED , HIGH );
  93. digitalWrite( B_LED , HIGH );
  94. digitalWrite( C_LED , HIGH );
  95. digitalWrite( D_LED , LOW );
  96. digitalWrite( E_LED , HIGH );
  97. digitalWrite( F_LED , HIGH );
  98. digitalWrite( G_LED , HIGH );        //数码管显示“6”
  99. break;
  100. }
  101. }
  102. delay(1000);
  103. }
  104. }
  105.    
复制代码
接线如图(sorry,暂时还没装Arduino图形界面那个软件,所以暂时只能用多图给你们看啦

新手电子骰子制作感想图8新手电子骰子制作感想图9新手电子骰子制作感想图10


感想:
做每一个arduino的小项目或教程时候,一定要不满足于复制代码,以及简单的复制接线,应该要去寻找项目之中的内涵。比如八极管的工作原理,代码中各代码的含义,学会积累,毕竟以后的创作是不可能有人再给你复制黏贴的,有些代码,常用元件的原理及使用方法必须牢记于心。所谓的基础教程,就是先让我们了解一些基本的元件知识以及常用的代码含义,这是一个吸收的过程,等到有了足够的吸收才能有输出,也就是创作阶段,将我们所思所想真正的表达出来。这恰恰是我们比较欠缺的,是金子总会发光,但也要主动去迎着阳光一面,只停留在黑暗角落中是不可能有机会的。将手从键盘拿开,让它多在arduino上鼓捣会更容易实现电子梦想哦。当然凡是也都是需要毅力的,也希望大家能够执着于自己喜欢的事物,即使是顽固也不过分。作为入门的新手的一份感想,希望能够勉励自己,致未来的自己,致我的Arduino,单片机生涯的开始。电子创客:

WE ARE!

创作许可协议

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

评论(7)
Ash1
Ash1
JUST DO IT
D.Rainbow
D.Rainbow
作者
回复Ash1
FIGHT TOGETHER!
D.Rainbow
D.Rainbow
作者
回复Ash1
FIGHT TOGETHER!
dsweiliang
dsweiliang
不错不错
D.Rainbow
D.Rainbow
作者
回复dsweiliang
新手项目而已哈哈
iooops
iooops
有小视频不!楼主快来一发嘎
D.Rainbow
D.Rainbow
作者
回复iooops
过几天做新项目会考虑加上小视频哦
丄帝De咗臂
丄帝De咗臂
电子骰子,好熟悉
丄帝De咗臂
丄帝De咗臂回复D.Rainbow
木有木有,我也做过电子骰子,蛮好的
D.Rainbow
D.Rainbow
作者
回复丄帝De咗臂
大神见笑啦
qq815076543322
qq815076543322
楼主 好认真啊 满腔热血
iooops
iooops
楼主你好认真……
D.Rainbow
D.Rainbow
作者
回复iooops
应该的 吼吼
吹口琴的钢铁侠
吹口琴的钢铁侠
字里行间好热血
D.Rainbow
D.Rainbow
作者
回复吹口琴的钢铁侠
哈哈因为年轻,所以冲动
- 没有更多了 -