nodeMCU之GPIO控制继电器

板子是ESP8266-01,刷的nodemcu_0.9.6固件,就是github最后一个bin,其他版本的试了不能用。

(题外话,玩ESP8266-01供电需要3.3V以上,之前因为供电不足各种失败)

手里倒也有整合的继电器模块,直接用GPIO控制就可以,但是那种个头太大了,所以淘宝买了几个单独的继电器。

这种单纯的继电器直接用GPIO供电是不行的,GPIO属于信号源,供LED可以,供继电器的话电流不够,接上以后无法工作。

所以需要用三极管做一个开关电路,集电极接VCC,发射极接继电器,然后GPIO接基极,这样GPIO发生电平变化,就能对供电进行控制。

对于三极管的使用我也没有系统的学习过,涉及到计算什么的头就大了,所以干脆不算了,反正我就做开关使用,随手拿了一个2N5551接上去了,在面包板上搭电路进行测试,当GPIO0为低电位时继电器断开,为高电位时闭合,用电器工作。

然后拿了洞洞板进行焊接,头一次用这东西,一不留神就把眼给堵上了,很艰辛……

好不容易焊好了,测试时却发现板子无法正常启动,只有先断开GPIO0和基极的连接,然后启动板子后再接上,才可以正常工作,这下郁闷了。分析应该是GPIO0通过基极被拉成低电位了,致使板子识别为下载模式,启动失败。换成GPIO2也不行,必须是高电平才能启动。

陷入郁闷之中,一看表半夜一点半了,倒头睡觉……

然后,我就梦到打南边来了一位白胡子老头,他说三极管分两种,NPN型和PNP型,前者是高电平导通的,后者是低电平导通。我顿时惊醒,穿衣服继续干活……

思路是对的,既然GPIO被拉低无法启动,那么改成拉高不就成了么,换了一个S9012的管,这个是PNP型的,换上之后测试,一切正常。另外,GPIO0启动的时候电平变发生短暂变动,我换成了GPIO2,这个启动之后就是高电平,一切都是那么完美~

最后附张正面照吧(背面不给看了)


nodeMCU之GPIO控制继电器_第1张图片

你可能感兴趣的:(nodeMCU之GPIO控制继电器)