为了账号安全,请及时绑定邮箱和手机立即绑定

Arduino基础入门篇14—跳动的数码管

本篇介绍数码管显示器件,通过控制一位共阴极数码管动态显示数字0到9来了解数码管的使用。

1. 数码管介绍

数码管,又称LED数码管,是常见的用来显示数字的电子器件。通常由八段发光二极管封装在一起组成“8”字形状,外加一个小数点。数码管每一段都是一个独立的LED,通过控制相应段LED的亮灭使其组成相应数字形状来显示数字。

数码管的8个LED并联在一起,根据公共管脚的不同,分为共阳极数码管和共阴极数码管两种。其区别就是公共管脚是LED灯的正极还是负极。

webp

数码管内部结构

如上图,数码管8个段分别命名为A,B,C,D,E,F,G,DP,其封装共10个引脚,其中上下方正中间的是公共极,其他引脚分别对应8个LED的另一端。

2. 实验材料

  • Uno R3开发板

  • 配套USB数据线

  • 面包板及配套连接线

  • 共阴极数码管

  • 1个220Ω限流电阻

webp

数码管显示

那么如何让数码管来显示数字呢?比如显示数字0,我们只需要点亮A,B,C,D,E,F段LED,熄灭G,DP段LED即可。

3. 实验步骤

1. 根据原理图搭建电路。

数码管的A,B,C,D,E,F,G,DP引脚分别接入开发板的数字管脚7,6,5,10,11,8,9,4。数码管公共端接限流电阻,电阻另一端接GND。

实验原理图如下图所示:

webp

实验原理图g

实物连接图如下图所示:

webp

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

/*
NixieTube
控制共阴极数码管显示数字0到9
*///设置控制各段的数字IO脚,具体几号引脚对应哪一段,来源为数码管官方引脚图。int pin_a = 7;int pin_b = 6;int pin_c = 5;int pin_d = 10;int pin_e = 11;int pin_f = 8;int pin_g = 9;int pin_p = 4;        
//根据共阴极数码管段码表定义0~9显示的各段开关状态int numTable[10][8] = {//1为点亮,0为关闭//a  b  c  d  e  f  g  dp{1, 1, 1, 1, 1, 1, 0, 0},     //0{0, 1, 1, 0, 0, 0, 0, 0},     //1{1, 1, 0, 1, 1, 0, 1, 0},     //2{1, 1, 1, 1, 0, 0, 1, 0},     //3{0, 1, 1, 0, 0, 1, 1, 0},     //4{1, 0, 1, 1, 0, 1, 1, 0},     //5{1, 0, 1, 1, 1, 1, 1, 0},     //6{1, 1, 1, 0, 0, 0, 0, 0},     //7{1, 1, 1, 1, 1, 1, 1, 0},     //8{1, 1, 1, 1, 0, 1, 1, 0},     //9};void setup(){for (int i = 4; i <= 11; i++)
{
pinMode(i, OUTPUT); //设置4~11引脚为输出模式}
}void loop(){for (int i = 0; i < 10; i++)//以此显示数字0到9{
digitalWrite(pin_a, numTable[i][0]); //设置a 引脚的电平digitalWrite(pin_b, numTable[i][1]); //设置b 引脚的电平digitalWrite(pin_c, numTable[i][2]); //设置c 引脚的电平digitalWrite(pin_d, numTable[i][3]); //设置d 引脚的电平digitalWrite(pin_e, numTable[i][4]); //设置e 引脚的电平digitalWrite(pin_f, numTable[i][5]); //设置f 引脚的电平digitalWrite(pin_g, numTable[i][6]); //设置g 引脚的电平digitalWrite(pin_p, numTable[i][7]); //设置dp引脚的电平delay(200);
}

}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

webp

程序下载

3. 实验现象

数码管循环显示数字0到9。

webp

实验现象

4. 实验分析

程序中定义了一个二位数组用来存储0到9的段码显示。然后在loop中通过for()循环遍历显示0到9,每个数字分别读取对应的段码表来控制相应段LED的亮灭。

根据使用场所和需求的不同,LED被封装成不同类型的数码管,但其基本原理都是相同的,都需要控制每一个LED的亮灭最终拼凑成需要显示的数字、字母甚至是汉字。



作者:TonyCode
链接:https://www.jianshu.com/p/8d4b6de5675c


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消