用3个IO口控制6个LED灯,怎么做到的? [转载]
-
-
二、总结提升
以上其实是用了一种叫“查理复用”(Charlieplex)的方法。
为什么叫查理复用?很简单,因为这个方法来源于美信半导体公司的工程师Charlie Allen。
查理复用是一种能够在驱动LED,特别是驱动大量LED时有效地节约GPIO的方法。
使用该方法,n个GPIO可以驱动 n*(n-1) 个LED,所以:-
使用2个GPIO可以驱动2个LED。
-
使用3个GPIO可以驱动6个LED。
-
使用4个GPIO可以驱动12个LED。
以此类推。
这种方式能够实现的基础是:
单片机GPIO的三个状态:高电平、低电平、高阻态。LED具有单向导电性。
查理复用设计的方法:
-
任意两个GPIO引脚之间串入两个LED,这两个LED为并联,且LED方向相反。
-
当你想要点亮某个特定的LED时,就将其两端所连接到的GPIO引脚分别设定为高电平和低电平,其它剩余的GPIO引脚设定为高阻态。
-
前面电动牙刷中6个LED灯的电路,就是这么设计的。
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号