关于Arduino共阴极数码的有关小白实验

目录

1.数码管的科普

内部结构:

分类及工作原理:

2.实验需要的材料

3.实验的电子连接图

4.实验代码

5.实验结果

6.注意事项

2. 必须串联限流电阻

3. 程序上传与硬件供电注意

4. 调试与故障排查要点


1.数码管的科普

一位数码管是一种简单的显示器件,由多个发光二极管以特定形
状组合而成,主要用于显示单个数字或简单符号。以下是详细介
绍:

上面标的数字是Arduino板上引角对应的接口。

内部结构:

一位数码管通常由 8 个发光二极管组成,其中 7 个用于构成数字 0-9 的字形,分别标记为 A、B、C、D、E、F、G,另一个为小数点 DP。

分类及工作原理:

按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM) 的数码管,共阳数码管在应用时应将公共极 COM 接+ 5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极 (COM) 数码管,共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。接下来我就用具体的实验带大家更具体地了解数码管

2.实验需要的材料

除了一个数码管外我们还需要,Arduino 板1个,USB下载数据线1根,面包板1个,杜邦线若干
1k 电阻 8 个

3.实验的电子连接图

4.实验代码

// 共阳极数码管引脚定义
int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
int h = 9; // dp小数点

// 数码管段码表(共阳极:LOW亮,HIGH灭)
// 索引0-9对应数字0-9,元素为{a,b,c,d,e,f,g,h}的电平状态
int segCodes[10][8] = {
  {LOW, LOW, LOW, LOW, LOW, LOW, HIGH, LOW},  // 0
  {HIGH, LOW, LOW, HIGH, HIGH, HIGH, HIGH, LOW}, // 1
  {LOW, LOW, HIGH, LOW, LOW, HIGH, LOW, LOW}, // 2
  {LOW, LOW, LOW, LOW, HIGH, HIGH, LOW, LOW}, // 3
  {HIGH, LOW, LOW, HIGH, HIGH, LOW, LOW, LOW}, // 4
  {LOW, HIGH, LOW, LOW, HIGH, LOW, LOW, LOW}, // 5
  {LOW, HIGH, LOW, LOW, LOW, LOW, LOW, LOW}, // 6
  {LOW, LOW, LOW, HIGH, HIGH, HIGH, HIGH, LOW}, // 7
  {LOW, LOW, LOW, LOW, LOW, LOW, LOW, LOW}, // 8
  {LOW, LOW, LOW, LOW, HIGH, LOW, LOW, LOW}  // 9
};

void setup() {
  // 初始化2-9号引脚为输出
  for (int i = 2; i <= 9; i++) {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  // 循环显示0-9
  for (int num = 0; num <= 9; num++) {
    showDigit(num);
    delay(1000); // 延时1秒
  }
}

// 显示指定数字的函数
void showDigit(int num) {
  digitalWrite(a, segCodes[num][0]);
  digitalWrite(b, segCodes[num][1]);
  digitalWrite(c, segCodes[num][2]);
  digitalWrite(d, segCodes[num][3]);
  digitalWrite(e, segCodes[num][4]);
  digitalWrite(f, segCodes[num][5]);
  digitalWrite(g, segCodes[num][6]);
  digitalWrite(h, segCodes[num][7]);
}

这份代码是基于Arduino实现的共阳极数码管0-9循环显示程序,核心功能是让数码管每隔1秒依次显示0到9的数字:

5.实验结果

给arduino板通电以后,数码管会按照从 0 ~ 9 的顺序每隔1秒切换显示数字。给大家看一下实验视频

数码管的科普视频

6.注意事项

 
1. 引脚接线要精准

- 数码管的  a-g  引脚需对应连接 Arduino 的 2-8 引脚,小数点  h  接 9 引脚,不要接错引脚顺序,否则数字显示会错乱。

- 共阳极数码管的公共端必须接 Arduino 的 5V 引脚,若误接 GND 会变成共阴极逻辑,导致所有段码不亮或显示异常。

2. 必须串联限流电阻

每个数码管的段引脚(a-h)与 Arduino 引脚之间,要串联一个 220Ω 左右的限流电阻。若直接连接不加电阻,过大的电流会烧毁数码管段芯或 Arduino 的引脚。

3. 程序上传与硬件供电注意

上传程序时,先断开数码管的供电连接,避免上传过程中硬件的电流波动干扰程序烧录。实验时优先用 USB 线为 Arduino 供电,保证电压稳定,避免外接电源电压过高损坏元件。

4. 调试与故障排查要点

若数码管某一段不亮,先检查对应引脚的接线是否松动、电阻是否损坏,再核对程序里的段码表电平是否正确。若所有段都不亮,先确认公共端是否接对 5V,再检查 Arduino 引脚的输出模式是否为  OUTPUT 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值