南方都下大雪了,苦逼的北方还没下雪,天寒地冻,不过这几天办公室空调开太大了就想到做一个温控小风扇,简单模型出来了。等夏天一定做一个美观精致的小风扇送给女朋友(如果有的话QAQ)话不多说直接上干货。(跪求附件怎么上传)
所需器件
- TPYBoard v102板子 1块
- 直流电机 1个
- 面包板 1块
- 数据线 1条
- 三极管9014(NPN)1个
- 杜邦线 若干
- DS18B20 温度传感器1 个
首先连接DS18B20检测温度,不细说,直接上针脚图和接线方式
TPYBoard v102的针脚与DS18B20的针脚对应关系如下:
TPYBoard | DS18B20 |
3.3v | VDD |
GND | GND |
Y10 | DO |
接线OK后,将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)
OK,下面就是连接电机了,首先板子的电压驱动不了这个直流电机,所以我们需要加一个9014(三极管)放大一下电压。下图9014针脚
然后将三极管的集电极连接TPYBoard的3.3v,基极连接TPYBoard的X1,发射极连接电机一端,电机另一端连接TPYBoard的GND。然后当温度达到指定温度时电机就自行运转了。这里我设置的是18度
实物图
源代码
我们按照上面的步骤做完以后,然后通电,编写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)
ds18x20.py 链接: https://pan.baidu.com/s/1eTEBeGM 密码: k1nw
onewire.py 链接: https://pan.baidu.com/s/1kWmaC55 密码: btq2