树莓派实现温控风扇智能降温
树莓派带外壳,但是他一直转挺吵的,然后可以通过改造一下,让他可以变成一个可控的风扇,实现一个温控的功能
需要的材料
- 三极管S8550 PNP型:两块多五十个
- 杜邦线母对母
- 杜邦线公对母
这些tb都可以买到,有包邮的店铺
然后介绍一下这些东西
三极管把平面对着自己,有三个引脚,左到右分别是E、B、C。通俗说E是正极,C是负极,相当于二极管,基级B低电平才导通电路。
然后是树莓派引脚,有四十个引脚,这里可以看到有两种编码,在写代码的时候需要指定有什么编码方式,引脚的对应是把树莓派的网线插口朝下,对应的引脚顺序
接线方式
风扇的红色是正极,接在5V,4号引脚上
这里把三极管接在风扇的负极上,即风扇的黑色线连接三极管的C级
三极管的E级连接6号引脚,接地
三极管的基级B连接8号接口,也就是BCM编码的GPIO 14号引脚
连接好以后开机,在开机的过程中风扇好像会间歇性通电,问题不大。
开机以后,在python终端执行命令试试,首先需要安装一下库
apt install RPi.GPIO
执行python
GPIO_OUT=14GPIO.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 timeclass FanController:def __init__(self,GPIO_PIN):self.GPIO_OUT=GPIO_PINGPIO.setmode(GPIO.BCM)GPIO.setwarnings(False)GPIO.setup(self.GPIO_OUT,GPIO.OUT,initial=GPIO.HIGH)self.Status=Falsedef action(self,flag):if flag=='start':GPIO.output(self.GPIO_OUT,GPIO.LOW)self.Status=Trueelif 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)/1000print(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)
参考链接
树莓派—利用三极管控制散热风扇
树莓派实现温控风扇智能降温相关推荐
- 树莓派3B+温控风扇
树莓派3B+温控风扇 已添加散热片的树莓派3B+,在空载工作过程中温度过高,需要增加风扇达到物理降温的效果.但在使用过程中,风扇发出的声音过高,需要在温度较低的情况下停止风扇的工作. 准备材料 树莓派 ...
- 树莓派——PWM温控风扇程序(C++、python)、开机自启动
原理 读取/sys/class/thermal/thermal_zone0/temp文件,返回树莓派温度,控制GPIO产生PWM,从而实现温控风扇的控制. C/C++代码 命令行操作 cd /home ...
- 树莓派 ubuntu gpio_树莓派自动温控风扇
某天忘记把树莓派的电源断掉,然后第二天早上被它的风扇声音吵醒!! 严格来说在温度不高的时候风扇没必要打开,好在树莓派最不怕的就是各种折腾了. 动手把风扇改成温控的. 描述 raspbian的/sys/ ...
- 树莓派 + SSD启动 + CentOS 8 64位 + 内网穿透 + 自动温控风扇 + SMB服务 + 文件分类备份
功能描述 上闲鱼拿下了个树莓派4B 8G,300块,我仿佛听见有人说"哇"?哦,其实它的外显输出有点问题,但我是不关心,真香. 到手之后自然是传统装机,点到为止,64位centos ...
- 毕业设计 stm32智能温控风扇系统 - 单片机 嵌入式
文章目录 1 简介 2 绪论 2.1 课题背景 3 系统设计 3.1 系统架构 3.2 硬件部分 3.2.1 DS18B20 简介 3.2.2 LCD1602 液晶屏简介 3.3 软件部分 3.3.1 ...
- 基于stm32单片机智能温控风扇控制系统Proteus仿真
资料编号:103 下面是相关功能视频演示: 103-基于stm32单片机智能温控风扇控制系统Proteus仿真(源码+仿真+全套资料) 功能介绍:采用stm32单片机.ds18b20温度传感器采集温 ...
- 北邮信通导论第三单元智能温控风扇
智能温控风扇(显示温度转速+高温自动开启) #include <U8glib.h> #define INTERVAL_LCD 20 unsigned long lcd_time = mil ...
- 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计
1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告) 摘 要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...
- 基于STM32的智能温室控制系统仿真电路设计(温控补光)-基于STM32的智能蓝牙温控风扇控制系统设计-基于STM32的无线蓝牙心电监护仪系统设计【毕设课设分享】
1609 基于STM32的智能蓝牙温控风扇控制系统设计-毕设课设 1.LCD1602液晶显示当前温度,温度上下限值,风扇等级,自动手动模式: 2.设置有4个按键,按键1可以设置自动和手动2种模式切换: ...
最新文章
- 95后程序员业余帮人鉴定毒蘑菇,竟成百万粉丝的网络大V!
- HTML 特殊符号编码对照表
- 创建Maven的Web工程
- linux 信号灯超时时间到,急!!信号灯超时时间已到错误又出来了!!!!
- qt icon如何显示gif_收集Qt支持的emoji表情-第五弹
- 零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到一个文件下】
- scanf和gets的差别
- 两个字符串的最长公共子序列长度_算法学习笔记(58): 最长公共子序列
- Android 高通 Wi-Fi 驱动
- 必须了解的EXCEL常用函数都有哪些?【附动图详解】数据分析
- linux清除密码记录
- 传统数据与大数据安装服务器系统的对比
- 第六届CCF计算机职业资格认证考试题解(C++)
- 【转】类别catagory的用法
- windows新电脑只有固态C盘,如何分盘
- 【无标题】vue elementPlus表格数据导出Excel
- [机缘参悟-33]:眼见不一定为实,大多数时候“眼见为虚”
- 诛仙3 私服架设 仿官网
- 外贸工具saas 关于外贸管理软件
- PARAMETERS定义下拉列表--实例参考学习