资讯详情

树莓派实现温控风扇智能降温

覆盆子派有外壳,但他一直很吵,然后他可以成为一个可控的风扇,通过改造实现温度控制的功能

需要的材料

  • 三极管S8550 PNP类型:两块多五十块
  • 杜邦线母对母
  • 杜邦线公对母

这些tb可以买到有包邮的店铺。

然后介绍这些东西 三极管面对自己,有三个引脚,从左到右E、B、C。一般来说,E是正极,C它是负极,相当于二极管,只有基级B低电平才能导通电路。 在这里插入图片描述 然后是覆盆子引脚,有40个引脚。这里可以看到两种编码。编写代码时,需要指定编码方法。引脚的对应性是将覆盆子派的网线插口朝下,并对应引脚顺序 风扇的红色是正极,接5V,4号引脚上 将三极管连接到风扇的负极上,即风扇的黑线连接到三极管的C级 三极管E级连接6号引脚,接地 三极管基级B连接8号接口,即BCM编码的GPIO 14号引脚

连接后开机,开机时风扇似乎间歇性通电,问题不大。 开机后,在python试试终端执行命令,首先需要安装仓库 apt install RPi.GPIO 执行python

GPIO_OUT=14  GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(GPIO_OUT,GPIO.OUT,initial=GPIO.HIGH) self.Status=False #启动 GPIO.output(GPIO_OUT,GPIO.LOW) #关闭 GPIO.output(GPIO_OUT,GPIO.HIGH) 

然后,可以执行以下命令来检查覆盆子派的温度输出值除以1000是当前的温度值

cat /sys/class/thermal/thermal_zone0/temp 

最后,这是一个脚本,可以根据温度控制风扇。当温度超过50时打开,当温度低于45时关闭,可以自行设置。这里也可以设置一个

import subprocess import RPi.GPIO as GPIO import time  class FanController:     def __init__(self,GPIO_PIN):         self.GPIO_OUT=GPIO_PIN         GPIO.setmode(GPIO.BCM)         GPIO.setwarnings(False)         GPIO.setup(self.GPIO_OUT,GPIO.OUT,initial=GPIO.HIGH)         self.Status=False     def action(self,flag):         if flag=='start':            GPIO.output(self.GPIO_OUT,GPIO.LOW)
            self.Status=True
        elif flag=='stop':
            GPIO.output(self.GPIO_OUT,GPIO.HIGH)
            self.Status=False
def getTemp():
    Temp=subprocess.getoutput('cat /sys/class/thermal/thermal_zone0/temp')
    Temp=int(Temp)/1000
    print(time.strftime('%Y-%m-%d %H:%M-%S')+'\ttemp is %s oC' % (str(Temp)))
    return Temp
Fan=FanController(14)
print('start temp controller program')

while True:
    Temp=getTemp()
    if Temp>50 and not Fan.Status:
        print('temp is higher than 50 , fan will start')
        Fan.action('start')
    elif Temp<45 and Fan.Status:
        print('temp is less than 45 , fan will stop')
        Fan.action('stop')
    time.sleep(15)

参考链接 树莓派—利用三极管控制散热风扇

标签: 智能开关三极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台