[Micropython]TPYBoardV102 DIY智能温控小风扇
1.实验目的
1. 学习在PC机系统中扩展简单I/O 接口的方法。
2. 进一步学习编制数据输出程序的设计方法。
3. 学习DS18B20的接线方法,并利用DS18B20检测当前温度。
4.学习三极管9014的用法。
5.通过18B20智能控制直流电机驱动小风扇。
2.所需元器件
TPYBoard板子一块
直流电机一个
面包板一块
数据线一条
三极管9014(NPN)一个
杜邦线若干
3.学习DS18B20的接线方法,检测当前温度
先看一下DS18B20针脚含义,如上图:
TPYBoard的针脚与DS18B20的针脚对应关系如下:
还是看不明白的话,直接上针脚编号
接线ok后,在MicroPython的源码目录中,进入drivers\onewire\目录,然后将目录下的文件ds18x20.py和onewire.py复制到PYBFLASH磁盘的根目录。复制文件后要安全退出磁盘,然后重新接入,不然找不到文件,即可运行main.py文件了,打印温度,即可用Putty看到当前的温度。
main.py源代码:
#main.py import pyb from pyb import Pin from ds18x20 import DS18X20 Pin("Y11",Pin.OUT_PP).low()#GND Pin("Y9",Pin.OUT_PP).high()#VCC pyb.delay(100) DQ=DS18X20(Pin('Y10'))#DQ while True: tem = DQ.read_temp() print(tem) pyb.delay(1000)
4.三极管的原理
在这里我们用到三极管的开关与放大功能,给基极不同电平控制直流电机电流的通断,以达到控制电机转动的目的,根据三极管特性我们将集电极连接TPYBoard的3.3v,发射极连接电机一极,电机另一极接TPYboard的GND,通过温度传感器18B20检测温度,当温度到达指定温度时,通过TPYBoard控制三极管基极的电平,驱动直流电机转动。
源代码
我们按照上面的步骤做完以后,然后通电,编写main.py文件,即可通过温度控制风扇的转动,具体代码如下:
#main.py import pyb from pyb import Pin from ds18x20 import DS18X20 Pin("Y9",Pin.OUT_PP).high()#VCC Pin("Y11",Pin.OUT_PP).low()#GND x1 = Pin('X1', Pin.OUT_PP) pyb.delay(100) DQ=DS18X20(Pin('Y10'))#DQ while 1: tem = DQ.read_temp() if tem > 18: x1.value(1) else: x1.value(0)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?