拆解电动牙刷,用3个IO口控制6个LED灯,怎么做到的?查理复用!
高电平
低电平
高阻态
使用2个GPIO可以驱动2个LED。
使用3个GPIO可以驱动6个LED。
使用4个GPIO可以驱动12个LED。
以此类推。
单片机GPIO的三个状态:高电平、低电平、高阻态。
LED具有单向导电性。
任意两个GPIO引脚之间串入两个LED,这两个LED为并联,且LED方向相反。
当你想要点亮某个特定的LED时,就将其两端所连接到的GPIO引脚分别设定为高电平和低电平,其它剩余的GPIO引脚设定为高阻态。
前面电动牙刷中6个LED灯的电路,就是这么设计的。
如果要同时亮起两个以上的LED,怎么办?
交替点亮他们就行,只要交替切换的速度够快,由于人眼的视觉暂留效应,看起来就是同时亮起的。
值得一提的是,如果要同时亮起的LED较多,比如大规模的LED点阵,那么还要注意一些新的问题,颇有门道。
本文不再展开,感兴趣的读者可以自行查询修炼,继续进阶。
拆解老式电饭锅限温器并验证其原理
拆解日本松下的老古董收录机,感受50年前的电路设计,满满的历史感
【拆解】某平台19元的儿童电话手表,究竟怎么做到的?
【拆解】支付宝盒,支付宝到账100万!
评论
