电路啊
认证:优质创作者
所在专题目录 查看专题
电路原理分析:三色调光LED台灯
巧用1个GPIO控制2个LED灯显示4种状态
设计手势控制的LED灯:掌握基础电路后,设计电路就是搭积木
用3个IO口控制6个LED灯,怎么做到的?查理复用!
作者动态 更多
会生气的机器人:深入浅出讲解多谐振荡器电路
3星期前
拆开火火兔,分析最简单最节省成本的锂电池充电电路
10-21 08:00
分享一篇洗稿文章:《电子火折子的电路原理》
10-13 11:26
RTC晶振为何钟情32.768KHz?
10-13 11:15
电热水瓶不出热水,维修发现水泵故障,缝缝补补再战两年
10-13 11:09

巧用1个GPIO控制2个LED灯显示4种状态

很多电子产品有状态指示灯,比如电视机:

  • 待机状态亮
  • 开机状态亮绿

实现起来很简单,微控制器MCU的两个GPIO分别控制就行:

不过资源总是紧张的,有时候会碰到GPIO不够用的情况。

如果只用1个GPIO,可不可以实现控制两个LED灯呢?

要实现4种状态:

  • 灯亮,绿灯灭
  • 灯灭,绿灯亮
  • 都灭
  • 都亮

直接上电路:

 

一、电路分析

1、红灯亮,绿灯灭时,GPIO1输出5V高电平:

2、红灯灭,绿灯亮时,GPIO1输出0V低电平:

3、红灯和绿灯都灭时,GPIO1设为浮空高阻态。此时由于两个LED灯总的导通压降要求大于5V,所以两个LED灯都不导通。

注意该状态可能会出现两个LED灯因存在漏电流而导致微亮的情况,使用该状态务必要做好充分验证。

也可以将5V供电改为3.3V供电,降低供电电压后不会出现微亮的情况。此时GPIO的高电平电压要同步变为3.3V,LED灯的限流电阻R1、R2也要适当调整大小。

具体的实验分析请阅读文章:《用实验讲解:巧用1个GPIO控制2个LED显示4种状态》(点击阅读)

4、红灯和绿灯都亮时,GPIO1交替输出高低电平。只要高低电平切换的频率够高,由于视觉暂留效应,人眼看到的就是两个灯都常亮。

 

二、注意事项

使用这个电路时,要注意MCU的GPIO的电流驱动能力。

GPIO能承受的电流要大于LED灯流过的电流。

以下截图出自STM32芯片的数据手册,它的GPIO可以驱动或吸入8mA的电流。

眼尖的读者可能会发现,截图的这个芯片本身不能用5V供电。

这里只是用来示例说明MCU的GPIO有特定的电流驱动能力,要注意查看具体是多大。在外围电路设计时,注意不要超出MCU的GPIO驱动能力范围。

至于电压大小,读者在理解了上述电路的设计思路后,可以自行改为别的供电电压,比如3.3V的。

 

三、总结

1个GPIO控制2个LED灯显示4种状态”,电路的实现本身很妙。

1个GPIO控制2个LED灯显示4种状态”,不知下面这位大神是否可以出个绝妙的下联。

关于电路的学习,希望大家,enjoy!

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 5
收藏 5
关注 150
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧