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

来源:互联网 发布:软件问题报告模板 编辑:程序博客网 时间:2024/09/21 08:50

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

后来送的一路继电器可以用来控制风扇就简单的做了一个CPU温控风扇。

第一步,认清GPIO口的区别。


这里明显可以看出有1-40的编号,这就是一种GPIO的编号方式,而我这里使用的是24接口GPIO08,这个08的编号方式也是一种,后来的代码会说到。

这里有使用三极管进行控制开关的,手上没有三极管,又是个菜鸟,慢慢的才把一路继电器使用出来。

一路继电器一边是带螺丝的,一边是使用杜邦线进行连接的,杜邦线的一端就是输入端,带螺丝的一端就是输出端,输入端的vcc和接地接好树莓派的5v和接地口,上面有说明,输出端带螺丝的一端,中间的接5v电源,两边的一个是常开口,一个是常闭口,我们选择常开口,接风扇的正极,风扇负极接地,常开口就是NO,不触发就是常开路。


下面就是使用Python来进行简单的控制啦。

代码如下:

import sys import timetry: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())/1000def main():channel = 8GPIO.setmode(GPIO.BCM)#BCM就是我们上面所说的08编号方式。# init 08 offGPIO.setup(channel,GPIO.OUT,initial=GPIO.LOW)#设置channel=8的接口的编号方式是输出,默认是低电平。is_close = Truewhile 1:temp = cpu_temp()if is_close:if temp > 45.0:#温度大于45直接高电平,触发风扇端的信号。GPIO.output(channel,GPIO.HIGH)is_close = Falseelse:if temp < 38.0:GPIO.output(channel,GPIO.LOW)is_close = Truetime.sleep(2.0)#延时再读取if __name__ == '__main__':main()
直接python3 myfengshan.py

就可以直接运行了。

现在我们设置后台运行,进入/etc目录下:cd /etc,打开rc.local :nano rc.local ,再exit()前加一行:

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

中间的是你代码的绝对路径,&是后台运行,直接在后台循环就可以啦!

我就是小菜鸟,喜欢就点赞给我动力吧!

原创粉丝点击