数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2033|回复: 44

[other] 三位数码管只有6条腿?

[复制链接]
发表于 2024-11-4 00:27:18 | 显示全部楼层
本帖最后由 t3486784401 于 2024-11-4 00:30 编辑

Arduino 有一块扩展板叫 LOL (Lots Of Leds),使用 12 个 io 驱动 9*14 个 LED,就是这种接线。



理论上 N 个 io 按照排列组合原理,带极性的 LED 最多可接 P(N,2) = N(N-1) 个。
上述 LOL 板子就是 12*11 = 132 > 9*14; 这里数码管就是 6*5 = 30 足够三个八折腾。






不过真玩过这个电路就知道有多蛋疼:这 126 个 LED 我焊了大半个下午,然后就 bug 了。
以 3 个 io 驱动点为例,最多 3*2=6 个 LED,接线如下:



当 A+ B- C悬空时, 理论上是选通 D1 点亮,然后 D1 对 A-B 电压钳位后导致 D3-D6 都不亮。
然而实际是 D3、D6 有反向 PN 结漏电流,电压损失远小于正向导通电压,然后 D4 或 D5 随机鬼火。

最后总结出来,所有的 LED 都不能用低电流高亮 LED(例如翠绿),否则满屏鬼火息不灭。
至于驱动时序,最差 Duty= 1/N(N-1)  一个个点亮过去,总是能扫描出来的,唯独鬼火无解。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2024-11-4 12:49:54 | 显示全部楼层
snaker 发表于 2024-11-4 07:48
不懂就问,单片机IO不是只有0和1,怎么弄成悬空?

稍微现代一点的单片机,io 都不止这两个状态:
输出0、输出1、上拉输入、下拉输入、高阻输入、模拟输入。

这里选择高阻输入或者模拟输入状态比较合适。
回复 支持 反对

使用道具 举报

发表于 2024-11-4 12:50:39 | 显示全部楼层
595953427@qq 发表于 2024-11-4 08:22
要使用导通电压一致的LED

导通一致还不够,要使用微电流不会鬼火的老LED,新的高灵敏度的步行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-18 17:20 , Processed in 0.124800 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表