• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
lemal-woods
博客园    首页    新随笔    联系   管理    订阅  订阅

Arduino入门之数码管实验

最近搞了个好玩的东西,无暇玩Java了,呵呵。初学arduino,写一个数码管实验的随笔。

先看一下效果。

如果有四位数码管,就可以做个时钟了。如果你非要说做的是计时器,我也不反对。:P

 

先来看一下数码管:

图1-数码管实物图

上下对称,各五个针脚。针脚对应显示如图2:

图2-数码管针脚与显示对应关系

最简单的原理就是:低电平亮,高电平灭。

连接方式嘛,看视频呗。数码管针脚接到板子的引脚,仅此而已。数码管的GND位据说应该接到+5V电压那个引脚,但是经测试是不给电的,还是接到GND才对。

代码前段是定义引脚号,便于使用:

int a=7;
int b=6;
int c=5;
int d=11;
int e=10;
int f=8;
int g=9;
int dp=4;

也就是说图2指示的A针脚连接Arduino上的7号引脚,以此类推。当然不能用导线直接连,220欧的电阻如果可以够得着就直接连,够不着再用导线延长。

看一下部分代码吧:

 1 int a=7;
2 int b=6;
3 int c=5;
4 int d=11;
5 int e=10;
6 int f=8;
7 int g=9;
8 int dp=4; //dp是小数点哦亲 :~
9
10 //数字0的显示
11 void digital_0(void)
12 {
13 unsigned char j;
14 for(j=5;j<=8;j++)
15 digitalWrite(j,HIGH);
16 digitalWrite(e,HIGH);
17 digitalWrite(d,HIGH);
18 digitalWrite(g,LOW); //中间一横,不亮
19 digitalWrite(dp,LOW); //小数点,不亮
20 }
21
22 //1-9略,虽然我的视频里只有1-9。
23
24 void setup()
25 {
26 int i;
27 for(i=4;i<=11;i++)
28 pinMode(i,OUTPUT); //设置4~11引脚为输出模式,相对应的INPUT就是输入模式了,例如遥控器输入通过红外线传递的脉冲信号,本实验未用到。
29 }
30 void loop()
31 {
32 while(1)//死循环
33 {
34 digital_0();//显示数字0
35 delay(1000);//间隔1s,做时钟的话调整这里就可以。
36 digital_1();
37 delay(1000);
38 digital_2();
39 delay(1000);
40 digital_3();
41 delay(1000);
42 digital_4();
43 delay(1000);
44 digital_5();
45 delay(1000);
46 digital_6();
47 delay(1000);
48 digital_7();
49 delay(1000);
50 digital_8();
51 delay(1000);
52 digital_9();
53 delay(1000);
54 }
55 }

 

过段时间找个一起玩的,让他买个蓝牙模块什么的,玩点高级的。确实挺好玩,有兴趣的可以买个板子试试。

 

 

 

posted @ 2012-03-14 10:43  lemal-woods  阅读(3115)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3