您的位置:首页 > 产品设计 > UI/UE

Arduino入门之数码管实验

2012-03-14 10:43 351 查看
最近搞了个好玩的东西,无暇玩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欧的电阻如果可以够得着就直接连,够不着再用导线延长。

看一下部分代码吧:

 int a=7;
int b=6;
int c=5;
int d=11;
int e=10;
int f=8;
int g=9;
int dp=4;  //dp是小数点哦亲 :~

//数字0的显示
void digital_0(void)
{
unsigned char j;
for(j=5;j<=8;j++)
digitalWrite(j,HIGH);
digitalWrite(e,HIGH);
digitalWrite(d,HIGH);
digitalWrite(g,LOW); //中间一横,不亮
digitalWrite(dp,LOW); //小数点,不亮
}

//1-9略,虽然我的视频里只有1-9。

void setup()
{
int i;
for(i=4;i<=11;i++)
pinMode(i,OUTPUT); //设置4~11引脚为输出模式,相对应的INPUT就是输入模式了,例如遥控器输入通过红外线传递的脉冲信号,本实验未用到。
}
void loop()
{
while(1)//死循环
{
digital_0();//显示数字0
delay(1000);//间隔1s,做时钟的话调整这里就可以。
digital_1();
delay(1000);
digital_2();
delay(1000);
digital_3();
delay(1000);
digital_4();
delay(1000);
digital_5();
delay(1000);
digital_6();
delay(1000);
digital_7();
delay(1000);
digital_8();
delay(1000);
digital_9();
delay(1000);
}
}


过段时间找个一起玩的,让他买个蓝牙模块什么的,玩点高级的。确实挺好玩,有兴趣的可以买个板子试试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: