树莓派3b使用一路继电器控制小风扇
发布日期:2021-06-30 10:11:58
浏览次数:4
分类:技术文章
本文共 1371 字,大约阅读时间需要 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代表的是BCM编码的这个08的编号方式。
下面就是使用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 = 8 GPIO.setmode(GPIO.BCM) #BCM就是我们上面所说的08编号方式。 # init 08 off GPIO.setup(channel,GPIO.OUT,initial=GPIO.LOW) #设置channel=8的接口的编号方式是输出,默认是低电平。 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 &
中间的是你代码的绝对路径,&是后台运行,直接在后台循环就可以啦!
我就是小菜鸟,喜欢就点赞给我动力吧!
转载地址:https://islet.blog.csdn.net/article/details/78396555 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月26日 00时25分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Raft算法
2019-04-30
Python计算文本BLEU分数
2019-04-30
swap内存(linux)
2019-04-30
人脸au
2019-04-30
torch.distributed 分布式
2019-04-30
OpenMP编程模型(OMP)
2019-04-30
混合精度训练(FP16 & FP32)
2019-04-30
PyPy
2019-04-30
打印CSDN文章
2019-04-30
MATLAB与CUDA
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
NAS (Network Attached Storage 网络附属存储)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30
Ninja
2019-04-30
lmdb数据库的读取与转换(一) —— 基本操作
2019-04-30
opencv相关操作(cv2) (python)
2019-04-30
lmdb数据库的读取与转换(二) —— 数据集操作
2019-04-30
Lua语言
2019-04-30
Python __doc__获得模块的文档字符串内容
2019-04-30
Python sys.path和模块搜索路径
2019-04-30