南方都下大雪了,苦逼的北方还没下雪,天寒地冻,不过这几天办公室空调开太大了就想到做一个温控小风扇,简单模型出来了。等夏天一定做一个美观精致的小风扇送给女朋友(如果有的话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 importpyb frompyb importPin fromds18x20 importDS18X20 Pin( "Y11",Pin.OUT_PP).low() #GNDPin( "Y9",Pin.OUT_PP).high() #VCCpyb.delay( 100) DQ=DS18X20(Pin( 'Y10')) #DQwhileTrue: tem = DQ.read_temp() print(tem) pyb.delay( 1000)
OK,下面就是连接电机了,首先板子的电压驱动不了这个直流电机,所以我们需要加一个9014(三极管)放大一下电压。下图9014针脚
然后将三极管的集电极连接TPYBoard的3.3v,基极连接TPYBoard的X1,发射极连接电机一端,电机另一端连接TPYBoard的GND。然后当温度达到指定温度时电机就自行运转了。这里我设置的是18度
实物图
源代码
我们按照上面的步骤做完以后,然后通电,编写main.py文件,即可通过温度控制风扇的转动,
#main.pyimport pyb from pyb import P infrom ds18x20 import DS18X20 P in( "Y9",Pin.OUT_PP).high() #VCCP in( "Y11",Pin.OUT_PP).low() #GNDx1 = P in( 'X1', Pin.OUT_PP) pyb.delay( 100) DQ=DS18X20(P in( 'Y10')) #DQwhile1: tem = DQ.read_temp() iftem > 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
[color=rgb(51, 102, 153) !important]