Micropython教程之TPYBoard開發板DIY智能溫控小風扇(蘿蔔學科編程教育)

    1.實驗目的python

    1.?學習在PC機系統中擴展簡單I/O?接口的方法。
    2.?進一步學習編制數據輸出程序的設計方法。??
    3.?學習DS18B20的接線方法,並利用DS18B20檢測當前溫度。
    4.學習三極管9014的用法。
    5.經過18B20智能控制直流電機驅動小風扇。(蘿蔔學科編程教育tpyboard。com)編程

    2.所需元器件安全

    TPYBoard板子一塊
    直流電機一個
    麪包板一塊
    數據線一條
    18b20溫度傳感器
    三極管9014(NPN)一個
    杜邦線若干(蘿蔔學科編程教育tpyboard。com)學習

    3.學習DS18B20的接線方法,檢測當前溫度設計

    先看一下DS18B20針腳含義,如上圖:code

    TPYBoard的針腳與DS18B20的針腳對應關係以下:blog

 TPYBoard       DS18B20   
   ————————————————     
    # 3V3   or any Pin  => VDD      
   # any   Pin        =>   DO
   #   GND           => GND接口

   仍是看不明白的話,直接上針腳編號
   TPYBoard       DS18B20    
   ————————————————————————————
   3.3v        =>   VDD       
   GND        =>   GND
   Y10         =>   DO          源碼


    接線ok後,在MicroPython的源碼目錄中,進入drivers\onewire\目錄,而後將目錄下的文件ds18x20.py和onewire.py複製到PYBFLASH磁盤的根目錄。複製文件後要安全退出磁盤,而後從新接入,否則找不到文件,便可運行main.py文件了,打印溫度,便可用Putty看到當前的溫度。(蘿蔔學科編程教育tpyboard。com)class

    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控制三極管基極的電平,驅動直流電機轉動。(蘿蔔學科編程教育tpyboard。com)

    5.源代碼

    咱們按照上面的步驟作完之後,而後通電,編寫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)
相關文章
相關標籤/搜索