600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 树莓派PWM控制降温风扇 基于ubuntu系统

树莓派PWM控制降温风扇 基于ubuntu系统

时间:2024-06-02 00:31:11

相关推荐

树莓派PWM控制降温风扇 基于ubuntu系统

本文章是基于ubuntu的树莓派控制降温风扇,采用python编写,具有开机自启的功能,有很好的降低噪音的功能。其思路是获取cpu温度,并依据不同温度产生不同的pwm来进行控制风扇。具体代码如下:

安装树莓派端口支持库sudo apt-get install python3-rpi.gpio

import RPi.GPIO as GPIOimport timeFAN=18 #BCM引脚编号TEMP_MIN=30TEMP_MAX=50GPIO.setmode(GPIO.BCM)GPIO.setup(FAN,GPIO.OUT)#GPIO.output(FAN,GPIO.HIGH)GPIO.setwarnings(False)pwm = GPIO.PWM(FAN, 50)pwm.start(100)time.sleep(5)pwm.stop()print("风扇防止卡死程序运行结束")# 设置风扇while True:file = open("/sys/class/thermal/thermal_zone0/temp")# 读取结果,并转换为浮点数temp = float(file.read()) # 关闭文件file.close()print("温度: %.1f" %(temp/1000))if temp<TEMP_MIN*1000:pwm.stop()print("温度低于设定值,风扇关闭")#set_fan(0)#低电平,为开启风扇elif temp>TEMP_MAX*1000:pwm.start(100);print("温度高于最高设定值,风扇全速运行")#set_fan(1)#高电平,为关闭风扇else:dc = (temp - TEMP_MIN * 1000) * 100 / ((TEMP_MAX - TEMP_MIN) * 1000)pwm.start(dc)print("PWM duty cycle:%.1f" %dc)time.sleep(10)#每隔十秒检测一下温度GPIO.cleanup()

硬件电路图如下:

这里点解电容的作用是为了防止噪音产生的。

最后为了防止树莓派每一次开机都要自己去启动脚本,所以我们设置一下开机自启动。

我这里使用的是supervisor来操作,操作流程如下

安装supervisorsudo apt install supervisor打开配置文件目录cd /etc/supervisor/conf.d新建配置文件touch pwmfs.conf编写配置文件内容vim /etc/supervisor/conf.d/pwmfs.conf配置文件内容如下:

[program:pwmfs]command = python3 /home/ubuntu/pwmfs.pyautostart = true

注:其中/home/ubuntu/pwmfs.py就是你存放脚本的位置。

重启服务sudo systemctl restart supervisor其他命令

查看supervisor运行状态:sudo supervisorctl status

查看后台进程号:ps -aux|grep pwmfs| grep -v grep

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。