IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 树莓派实现温控风扇智能降温 -> 正文阅读

[嵌入式]树莓派实现温控风扇智能降温

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

需要的材料

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

GPIO.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 time

class FanController:
    def __init__(self,GPIO_PIN):
        self.GPIO_OUT=GPIO_PIN
        GPIO.setmode(GPIO.BCM)
        GPIO.setwarnings(False)
        GPIO.setup(self.GPIO_OUT,GPIO.OUT,initial=GPIO.HIGH)
        self.Status=False
    def action(self,flag):
        if flag=='start':
            GPIO.output(self.GPIO_OUT,GPIO.LOW)
            self.Status=True
        elif 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)/1000
    print(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)

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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:50:26  更:2022-06-14 22:51:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:31:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计