树莓派带外壳,但是他一直转挺吵的,然后可以通过改造一下,让他可以变成一个可控的风扇,实现一个温控的功能

需要的材料

  • 三极管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)

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

树莓派实现温控风扇智能降温相关推荐

  1. 树莓派3B+温控风扇

    树莓派3B+温控风扇 已添加散热片的树莓派3B+,在空载工作过程中温度过高,需要增加风扇达到物理降温的效果.但在使用过程中,风扇发出的声音过高,需要在温度较低的情况下停止风扇的工作. 准备材料 树莓派 ...

  2. 树莓派——PWM温控风扇程序(C++、python)、开机自启动

    原理 读取/sys/class/thermal/thermal_zone0/temp文件,返回树莓派温度,控制GPIO产生PWM,从而实现温控风扇的控制. C/C++代码 命令行操作 cd /home ...

  3. 树莓派 ubuntu gpio_树莓派自动温控风扇

    某天忘记把树莓派的电源断掉,然后第二天早上被它的风扇声音吵醒!! 严格来说在温度不高的时候风扇没必要打开,好在树莓派最不怕的就是各种折腾了. 动手把风扇改成温控的. 描述 raspbian的/sys/ ...

  4. 树莓派 + SSD启动 + CentOS 8 64位 + 内网穿透 + 自动温控风扇 + SMB服务 + 文件分类备份

    功能描述 上闲鱼拿下了个树莓派4B 8G,300块,我仿佛听见有人说"哇"?哦,其实它的外显输出有点问题,但我是不关心,真香. 到手之后自然是传统装机,点到为止,64位centos ...

  5. 毕业设计 stm32智能温控风扇系统 - 单片机 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景 3 系统设计 3.1 系统架构 3.2 硬件部分 3.2.1 DS18B20 简介 3.2.2 LCD1602 液晶屏简介 3.3 软件部分 3.3.1 ...

  6. 基于stm32单片机智能温控风扇控制系统Proteus仿真

    资料编号:103  下面是相关功能视频演示: 103-基于stm32单片机智能温控风扇控制系统Proteus仿真(源码+仿真+全套资料) 功能介绍:采用stm32单片机.ds18b20温度传感器采集温 ...

  7. 北邮信通导论第三单元智能温控风扇

    智能温控风扇(显示温度转速+高温自动开启) #include <U8glib.h> #define INTERVAL_LCD 20 unsigned long lcd_time = mil ...

  8. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  9. 基于STM32的智能温室控制系统仿真电路设计(温控补光)-基于STM32的智能蓝牙温控风扇控制系统设计-基于STM32的无线蓝牙心电监护仪系统设计【毕设课设分享】

    1609 基于STM32的智能蓝牙温控风扇控制系统设计-毕设课设 1.LCD1602液晶显示当前温度,温度上下限值,风扇等级,自动手动模式: 2.设置有4个按键,按键1可以设置自动和手动2种模式切换: ...

最新文章

  1. 95后程序员业余帮人鉴定毒蘑菇,竟成百万粉丝的网络大V!
  2. HTML 特殊符号编码对照表
  3. 创建Maven的Web工程
  4. linux 信号灯超时时间到,急!!信号灯超时时间已到错误又出来了!!!!
  5. qt icon如何显示gif_收集Qt支持的emoji表情-第五弹
  6. 零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到一个文件下】
  7. scanf和gets的差别
  8. 两个字符串的最长公共子序列长度_算法学习笔记(58): 最长公共子序列
  9. Android 高通 Wi-Fi 驱动
  10. 必须了解的EXCEL常用函数都有哪些?【附动图详解】数据分析
  11. linux清除密码记录
  12. 传统数据与大数据安装服务器系统的对比
  13. 第六届CCF计算机职业资格认证考试题解(C++)
  14. 【转】类别catagory的用法
  15. windows新电脑只有固态C盘,如何分盘
  16. 【无标题】vue elementPlus表格数据导出Excel
  17. [机缘参悟-33]:眼见不一定为实,大多数时候“眼见为虚”
  18. 诛仙3 私服架设 仿官网
  19. 外贸工具saas 关于外贸管理软件
  20. PARAMETERS定义下拉列表--实例参考学习

热门文章

  1. WPF入门第二篇 MVVM与Binding
  2. 以匠心守初心!百望云荣膺人民网“第十九届人民匠心飞跃奖”
  3. Teigha绘制“月亮”形状
  4. 【网格问题】leetcode289.生命游戏
  5. Excel 使用技巧集锦
  6. 【CF 513F2】
  7. java 全角_java全角、半角字符的关系以及转换详解
  8. 谈谈Web端性能测试
  9. 微信小程序开发《6 .框架之逻辑层》
  10. highCharts第一天学习笔记(面积图)