D.Rainbow 发表于 2016-1-29 20:34:35

新手电子骰子制作感想

本帖最后由 D.Rainbow 于 2016-1-29 20:34 编辑

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



3、470Ω电阻X7。(原谅手残x1)如图

4、四脚开关X1.(原谅手残x2)

5、面包板X1。


6、还有主角:共阴数码管


7、一坨导线。。。

8、知识储备
共阴八极管:(请原谅XN){:5_198:}


如图,共阴八极管的原理就是图中引脚3,8接地后,再在对应数字引脚输入电压,就可以使得图中对应一段的LED亮起,经过组合后,便能显示出数字。(PS:我判定正反的标志是八极管上面有一个圈,对应着图中引脚十(个人认为是小数点,所以应该在右下方,嘿嘿机智如我))
接下来是代码区,一坨在那。。。(使用的是穷举法switch()函数,有点烦,希望在研究出另一种更简便方法)

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);
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);
}

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 , LOW );
digitalWrite( C_LED , LOW );
digitalWrite( D_LED , HIGH );
digitalWrite( E_LED , LOW );
digitalWrite( F_LED , LOW );
digitalWrite( G_LED ,HIGH );      //数码管显示“1”
break;
}

case (2) :
{
Serial.println(2);
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 , LOW );      //数码管显示“2”
break;
}

case (3) :
{
Serial.println(3);
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 );      //数码管显示“3”
break;
}

case (4) :
{
Serial.println(4);
digitalWrite( A_LED , HIGH );
digitalWrite( B_LED , HIGH );
digitalWrite( C_LED , LOW );
digitalWrite( D_LED , HIGH );
digitalWrite( E_LED , LOW );
digitalWrite( F_LED , LOW );
digitalWrite( G_LED , HIGH );      //数码管显示“4”
break;
}

case (5) :
{
Serial.println(5);
digitalWrite( A_LED , HIGH );
digitalWrite( B_LED , HIGH );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , LOW );
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 , HIGH );
digitalWrite( C_LED , HIGH );
digitalWrite( D_LED , LOW );
digitalWrite( E_LED , HIGH );
digitalWrite( F_LED , HIGH );
digitalWrite( G_LED , HIGH );      //数码管显示“6”
break;
}

}

delay(1000);

}

}
   接线如图(sorry,暂时还没装Arduino图形界面那个软件,所以暂时只能用多图给你们看啦{:5_161:}{:5_161:})



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

吹口琴的钢铁侠 发表于 2016-1-29 21:02:16

字里行间好热血{:5_185:}

iooops 发表于 2016-1-30 00:13:50

{:5_175:}楼主你好认真……

大连林海 发表于 2016-1-30 12:01:20

楼主 好认真啊满腔热血

D.Rainbow 发表于 2016-1-30 12:17:24

吹口琴的钢铁侠 发表于 2016-1-29 21:02
字里行间好热血

哈哈因为年轻,所以冲动{:5_192:}

D.Rainbow 发表于 2016-1-30 12:17:51

iooops 发表于 2016-1-30 00:13
楼主你好认真……

应该的 吼吼{:5_195:}

丄帝De咗臂 发表于 2016-1-31 14:40:06

电子骰子,好熟悉

iooops 发表于 2016-1-31 16:04:19

有小视频不!楼主快来一发嘎

D.Rainbow 发表于 2016-1-31 21:13:22

iooops 发表于 2016-1-31 16:04
有小视频不!楼主快来一发嘎

过几天做新项目会考虑加上小视频哦{:5_161:}

D.Rainbow 发表于 2016-1-31 21:14:01

丄帝De咗臂 发表于 2016-1-31 14:40
电子骰子,好熟悉

大神见笑啦{:5_166:}

dsweiliang 发表于 2016-2-1 08:50:19

不错不错

丄帝De咗臂 发表于 2016-2-2 17:00:07

D.Rainbow 发表于 2016-1-31 21:14
大神见笑啦

木有木有,我也做过电子骰子,蛮好的

Ash 发表于 2016-2-2 18:06:51

JUST DO IT {:5_148:}

D.Rainbow 发表于 2016-2-2 19:15:16

Ash 发表于 2016-2-2 18:06
JUST DO IT

FIGHT TOGETHER!

D.Rainbow 发表于 2016-2-2 19:16:09

Ash 发表于 2016-2-2 18:06
JUST DO IT

FIGHT TOGETHER!

D.Rainbow 发表于 2016-2-2 19:59:02

dsweiliang 发表于 2016-2-1 08:50
不错不错

新手项目而已哈哈
页: [1]
查看完整版本: 新手电子骰子制作感想