众所周知,我们一般给Pi装的散热时都是自己插在电源上的,要转就一直转。最近一直在Pi上开个MC的服务器,Pi2的CPU温度在不开风扇时经常飙到50+,而一直开着风扇有太吵,所以就有了这个让树莓派自动控制风扇的东西。
原理
硬件上用三极管使树莓派能通过gpio来控制风扇的启停。然后在Pi上写一个很简单的Python小程序,实现温度较高时启动风扇,较低时关闭。
硬件连接
如图所示
软件部分
#!/usr/bin/python2 #coding:utf8 #自动风扇控制程序,使用wiringPi的gpio命令来操作GPIO import commands, time #控制风扇的GPIO FAN_GPIO=15 commands.getoutput('sudo gpio mode '+str(FAN_GPIO)+' output') while True: # 获取CPU温度 tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' ) cpu_temp_raw = tmpFile.read() tmpFile.close() cpu_temp = round(float(cpu_temp_raw)/1000, 1) #如果温度大于45`C,就启动风扇 if cpu_temp>=45.0 : commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 0') #如果温度小于42`C,就关闭风扇 if cpu_temp<42.0 : commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 1') time.sleep(5)
温度判断部分使用了双阈值,防止老在临界点徘徊
挺好,风扇声音其实还可以
你好,感谢您的分享。我也想买个树莓派放在家里24小时开机,可是看不懂您的电路图,能通俗讲解一下吗?谢谢。
补了张图,黑色的那个是一个PNP型的三极管,比如S8550。
请问风扇副是接E极还是C极,两张图好像是反的。
均可,不影响
图片都看不到了
已补
图不见
为什么启动风扇用低电平,关闭风扇用高电平?没有想明白。b端有电流不是才导通么?
因为用的是PNP三极管,也就是“低电平导通”,如果用NPN的三极管就是“高电平导通”
你的树莓派能跑Minecraft游戏?刚买的一个raspiberry pi 4,打开一个浏览器都非常的卡顿,键盘输入有时有10几秒的延迟,简直受不了
mc本身大概是跑不了的,mc服务器倒是可以