STM32/STM8技术论坛
直播中

bodasister

8年用户 632经验值
擅长:嵌入式技术 micropython 单片机 开发板
私信 关注
[资料]

13. [Micropython]TPYBoard v10x DIY智能温控小风扇资料分享

南方都下大雪了,苦逼的北方还没下雪,天寒地冻,不过这几天办公室空调开太大了就想到做一个温控小风扇,简单模型出来了。等夏天一定做一个美观精致的小风扇送给女朋友(如果有的话QAQ)话不多说直接上干货。
所需器件

  • TPYBoard v102板子 1
  • 直流电机 1
  • 面包板 1
  • 数据线 1
  • 三极管9014NPN1
  • 杜邦线 若干
  • 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源代码:
#
  1. main.py
  2. import pyb
  3. from pyb import Pin
  4. from ds18x20 import DS18X20

  5. Pin("Y11",Pin.OUT_PP).low()#GND
  6. Pin("Y9",Pin.OUT_PP).high()#VCC
  7. pyb.delay(100)
  8. DQ=DS18X20(Pin('Y10'))#DQ
  9. while True:
  10.    tem = DQ.read_temp()
  11.    print(tem)
  12.    pyb.delay(1000)

OK,下面就是连接电机了,首先板子的电压驱动不了这个直流电机,所以我们需要加一个9014(三极管)放大一下电压。下图9014针脚
然后将三极管的集电极连接TPYBoard的3.3v,基极连接TPYBoard的X1,发射极连接电机一端,电机另一端连接TPYBoard的GND。然后当温度达到指定温度时电机就自行运转了。这里我设置的是18度
实物图
源代码
我们按照上面的步骤做完以后,然后通电,编写main.py文件,即可通过温度控制风扇的转动,
  1. #main.py
  2. import pyb
  3. from pyb import Pin
  4. from ds18x20 import DS18X20

  5. Pin("Y9",Pin.OUT_PP).high()#VCC
  6. Pin("Y11",Pin.OUT_PP).low()#GND
  7. x1 = Pin('X1', Pin.OUT_PP)
  8. pyb.delay(100)
  9. DQ=DS18X20(Pin('Y10'))#DQ
  10. while 1:
  11.     tem = DQ.read_temp()
  12.     if tem > 18:
  13.             x1.value(1)
  14.     else:
  15.             x1.value(0)


回帖(1)

bodasister

2018-1-26 10:01:52
onewire.py 链接: https://pan.baidu.com/s/1c345LKW 密码: 52qs
ds18x20.py链接: https://pan.baidu.com/s/1eTEBeGM 密码: k1nw
举报

更多回帖

发帖
×
20
完善资料,
赚取积分