找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2238|回復(fù): 0
收起左側(cè)

[Micropython]TPYBoardV102 DIY智能溫控小風(fēng)扇

[復(fù)制鏈接]
ID:130183 發(fā)表于 2018-7-14 16:10 | 顯示全部樓層 |閱讀模式
    1.實驗?zāi)康?br />
    1. 學(xué)習(xí)在PC機系統(tǒng)中擴展簡單I/O 接口的方法。
    2. 進一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計方法。
    3. 學(xué)習(xí)DS18B20的接線方法,并利用DS18B20檢測當(dāng)前溫度。
    4.學(xué)習(xí)三極管9014的用法。
    5.通過18B20智能控制直流電機驅(qū)動小風(fēng)扇。

    2.所需元器件

    TPYBoard板子一塊
    直流電機一個
    面包板一塊
    數(shù)據(jù)線一條
    三極管9014(NPN)一個
    杜邦線若干

    3.學(xué)習(xí)DS18B20的接線方法,檢測當(dāng)前溫度

1.png


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

    TPYBoard的針腳與DS18B20的針腳對應(yīng)關(guān)系如下:

2.png


    還是看不明白的話,直接上針腳編號

    接線ok后,在MicroPython的源碼目錄中,進入drivers\onewire\目錄,然后將目錄下的文件ds18x20.py和onewire.py復(fù)制到PYBFLASH磁盤的根目錄。復(fù)制文件后要安全退出磁盤,然后重新接入,不然找不到文件,即可運行main.py文件了,打印溫度,即可用Putty看到當(dāng)前的溫度。

    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)
復(fù)制代碼


    4.三極管的原理

3.png

    在這里我們用到三極管的開關(guān)與放大功能,給基極不同電平控制直流電機電流的通斷,以達(dá)到控制電機轉(zhuǎn)動的目的,根據(jù)三極管特性我們將集電極連接TPYBoard的3.3v,發(fā)射極連接電機一極,電機另一極接TPYboard的GND,通過溫度傳感器18B20檢測溫度,當(dāng)溫度到達(dá)指定溫度時,通過TPYBoard控制三極管基極的電平,驅(qū)動直流電機轉(zhuǎn)動。

    源代碼
4.jpg

    我們按照上面的步驟做完以后,然后通電,編寫main.py文件,即可通過溫度控制風(fēng)扇的轉(zhuǎn)動,具體代碼如下:
  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)
復(fù)制代碼




回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表