python控制风扇_树莓派使用三极管实现温度控制风扇

原标题:树莓派使用三极管实现温度控制风扇

树莓派3使用的处理器芯片是博通的BCM2837,是一个1.2GHz 64位的四核ARMv8 处理器,在平时使用树莓派时CPU温度较高,这个问题在夏天使用时更加严重。虽然安装了散热片,温度也依然在50度左右。为了提高树莓派散热效果,我加装了一个强力散热风扇,效果非常明显,但是也出现了一个问题,就是只要通电,散热风扇就一直转。为解决这个问题,使用了一个三极管来控制树莓派散热风扇。当树莓派CPU温度超过设定的值时,就开启风扇进行散热;当温度降到一定值时,就关闭风扇,既节省了电能,也减少风扇运转的噪音。

原理介绍

通过将树莓派的一个GPIO连接到三极管的基极,这样就可以通过这个GPIO控制风扇的开关了,再通过python脚本,检测树莓派CPU温度,当温度过高时开启风扇,过低就关闭风扇。

连接原理图

三极管的三个管脚分别为发射极、基极和集电极,我使用的时D8550,其封装图为:

三极管D8550和树莓派的连接如下图。

原理图如下图。

温度控制风扇python脚本

树莓派的15号引脚连接到了三极管的基极(编号参照:树莓派GPIO编号),当温度过高时,GPIO引脚输出低电平,可以开启风扇。python程序为:

#!/usr/bin/python2#coding:utf8#自动风扇控制程序,使用wiringPi的gpio命令来操作GPIOimportcommands ,time #控制风扇的GPIOFAN_GPIO =15commands .getoutput ('sudo gpio mode '+str (FAN_GPIO )+' OUTPUT')whileTrue:# 获取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)printcpu_temp #如果温度大于48`C,就启动风扇ifcpu_temp >=48.0:commands .getoutput ('sudo gpio write '+str (FAN_GPIO )+' 0')#如果温度小于40`C,就关闭风扇ifcpu_temp <=40.0:commands .getoutput ('sudo gpio write '+str (FAN_GPIO )+' 1')time .sleep (10)

Python

Copy

保存后,运行程序,当温度高于48度就开启风扇降温,温度降到40度以下时关闭风扇,这样可以防止风扇在临界点往复。

效果图

完成后的效果图如下。

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值