南方都下大雪了,苦逼的北方还没下雪,天寒地冻,不过这几天办公室空调开太大了就想到做一个温控小风扇,简单模型出来了。等夏天一定做一个美观精致的小风扇送给女朋友(如果有的话QAQ)话不多说直接上干货。
所需器件
- TPYBoard v102板子 1块
- 直流电机 1个
- 面包板 1块
- 数据线 1条
- 三极管9014(NPN)1个
- 杜邦线 若干
- DS18B20 温度传感器1 个
首先连接DS18B20检测温度,不细说,直接上针脚图和接线方式
TPYBoard v102的针脚与DS18B20的针脚对应关系如下:
接线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)