锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

树莓派3b使用一路继电器控制小风扇

时间:2024-01-03 06:37:01 4继电器温控器

1.初得树莓派3b,但是风扇的声音太吵了!

后来发送的一路继电器可以用来控制风扇,只是做了一个CPU温控风扇。

第一步,认清GPIO口。

这里可以清楚地看到1-40的编号方式和GPIOXX Ground等两种方式。请注意,01是方形的,这也可以在背面清楚地看到。01是不同的焊锡丝。不要反过来,

第二步,接线
带螺丝的输出端常开常闭,vcc,输入端是vcc,gnd,in(数据)。

1.输入端接GPIO:

vcc和gnd接树莓派5v和接地口,in接GPIO08,

2.输出端接电源风扇:

带螺丝的一端,中间5v电源(这里直接树莓派5V口供电)。

两边的一个是常开口,一个是常闭口。我们选择常开口,接风扇正极,风扇负极接地。注:常开口就是NO,in不触发就是经常开路。

第三步,代码
我在这里用的是BCM编码方法,就是GPIO08代表的是BCM08的编号方式。

以下是使用Python简单控制。

代码如下:

import sys
import time
try:
import RPi.GPIO as GPIO #支持GPIO模块
except RuntimeError:
print("Error importting Rpi.GPIO")

def cpu_temp(): #这个函数是读取树莓派的文件,里面是cpu温度/1000是我们熟悉的温度,可以直接使用Cat该文件
f = open("/sys/class/thermal/thermal_zone0/temp",'r')
return float(f.read())/1000

def main():
channel = 8
GPIO.setmode(GPIO.BCM) #BCM就是上面提到的08编号方法。

# init 08 off
GPIO.setup(channel,GPIO.OUT,initial=GPIO.LOW) #设置channel=接口编号为输出,默认为低电平。
is_close = True
while 1:
temp = cpu_temp()
if is_close:
if temp > 45.0: #直接高电平温度大于45,触发风扇端的信号。
GPIO.output(channel,GPIO.HIGH)
is_close = False
else:
if temp < 38.0:
GPIO.output(channel,GPIO.LOW)
is_close = True

time.sleep(2.0) #延迟再读取


if __name__ == '__main__':
main()
#支持GPIO模块
直接python3 myfengshan.py

第四步是设置启动自启动
现在我们设置后台操作,进入/etc目录下:cd /etc,打开rc.local :nano rc.local ,再exit()前加一行:

python3 /home/pi/.../myfengshan.py &

您代码的绝对路径在中间,&是后台运行,可以直接在后台循环!
————————————————
版权声明:本文为CSDN博主「懂事的王才不开心」遵循原创文章 CC 4.0 BY-SA 版权协议,请附上原始来源链接和本声明。
原文链接:https://blog.csdn.net/qq_37887537/article/details/78396555

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

相关文章