真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python怎么實(shí)現(xiàn)溫度傳感器

今天小編給大家分享一下Python怎么實(shí)現(xiàn)溫度傳感器的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

成都服務(wù)器托管,成都創(chuàng)新互聯(lián)提供包括服務(wù)器租用、服務(wù)器機(jī)柜租賃、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、空間域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:028-86922220

    MicroPython顧名思義就是可以在單片機(jī)上跑的Python,借助Micro Python,用戶完全可以通過(guò)Python腳本語(yǔ)言實(shí)現(xiàn)硬件底層的訪問(wèn)和控制,比如說(shuō)控制LED燈泡、LCD顯示器、讀取電壓、控制電機(jī)、訪問(wèn)SD卡等。目前支持MicroPython的開(kāi)發(fā)板有好幾種,下面就以TPYBoard為例,簡(jiǎn)單介紹一下簡(jiǎn)易溫度傳感器的制作方法。

    1、實(shí)驗(yàn)?zāi)康?/strong>


    1. 學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡(jiǎn)單I/O 接口的方法。
    2. 進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計(jì)方法。
    3. 學(xué)習(xí)DS18B20的接線方法,并利用DS18B20檢測(cè)當(dāng)前溫度
    3. 學(xué)習(xí)8*8LED點(diǎn)陣接線方法,并將當(dāng)前溫度顯示


    2、所需元器件


    TPYBoard板子一塊
    數(shù)據(jù)線一條
    杜邦線若干
    8*8LED點(diǎn)陣一個(gè)
    DS18B20溫度傳感器一個(gè)


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

                  Python怎么實(shí)現(xiàn)溫度傳感器

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


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


    TPYBoard       DS18B20
    ----------------
    # 3V3   or any Pin  => VDD
    # any   Pin        =>   DO
    #   GND           => GND


    還是看不明白的話,直接上針腳編號(hào)


    TPYBoard       LCD5110
    ----------------------------
    3.3v        =>   VDD
    GND        =>   GND
    Y10         =>   DO


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


    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、點(diǎn)亮8*8LED點(diǎn)陣

   點(diǎn)陣后面有兩排針腳,一排以1開(kāi)頭,即1-8針腳,一排以9開(kāi)頭,即9-16針腳,上圖中〇中的數(shù)字對(duì)應(yīng)的即為針腳的對(duì)應(yīng)的數(shù)字,當(dāng)ROW 的PIN NO.高電平,COL PIN NO.低電平時(shí)候,我們的LED即全部點(diǎn)亮了,為了方便操作行和列,我們可以將ROW的8個(gè)引腳接到我們TPYBoard的X1-X8,COL的8個(gè)引腳接到我們TPYBoard的Y1-Y8,這樣我們控制X引腳Y引腳就可以控制哪個(gè)點(diǎn)亮跟滅了,想顯示任何字都沒(méi)問(wèn)題,快來(lái)試試吧。


    5、點(diǎn)將溫度顯示在8*8LED點(diǎn)陣上


    接線成功以后,我們將測(cè)試出溫度通過(guò)分割函數(shù)將十位,個(gè)位,小數(shù)點(diǎn),以及后面的數(shù)字顯示出來(lái),代碼如下:

import pyb
from pyb import Pin
from ds18x20 import DS18X20
x_PIN = [Pin(i, Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']]
y_PIN = [Pin(i, Pin.OUT_PP) for i in ['Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8']]
temp=['0000,0110,0110,0110,0110,0110,0110,0000','1101,1101,1101,1101,1101,1101,1101,1101,
'0000,1110,1110,0000,0111,0111,0111,0000','0000,1110,1110,0000,1110,1110,1110,0000',
'0101,0101,0101,0000,1101,1101,1101,1101','0000,0111,0111,0000,1110,1110,1110,0000',
'0000,0111,0111,0000,0110,0110,0110,0000','0000,1110,1110,1110,1110,1110,1110,1110',
'0000,0110,0110,0000,0110,0110,0110,0000','0000,0110,0110,0000,1110,1110,1110,0000']
tempValue=0
def show(l_num,r_num):
    flag=0
    for x_ in range(0,8):
        for x_ in range(0,8):
            if x_!=flag:
                x_PIN[x_].value(0)
        left_ = temp[l_num]
        left_item=left_.split(',')
        right_ = temp[r_num]
        right_item=right_.split(',')
        li_l=left_item[flag]
        li_r=right_item[flag]
        y_PIN[0].value(int(li_l[:1]))
        y_PIN[1].value(int(li_l[1:2]))
        y_PIN[2].value(int(li_l[2:3]))
        y_PIN[3].value(int(li_l[3:4]))
        y_PIN[4].value(int(li_r[:1]))
        y_PIN[5].value(int(li_r[1:2]))
        y_PIN[6].value(int(li_r[2:3]))
        y_PIN[7].value(int(li_r[3:4]))
        x_PIN[flag].value(1)
        flag=flag+1
        pyb.delay(2)
def display(time_,l_num,r_num):
    for x in range(0,time_):
        for y in range(0,110):
            show(l_num,r_num)
if __name__=='__main__':
    #time_t=Timer(4,freq=5,callback=randSensor)
    DQ=DS18X20(Pin('Y10'))#DQ
    while 1:
        tempValue =int(DQ.read_temp())
        print(tempValue)
        l_n=tempValue//10
        r_n=tempValue%10
        print(l_n)
        print(r_n)
        display(60,l_n,r_n)
        for i in x_PIN:
            i.value(0)

以上就是“Python怎么實(shí)現(xiàn)溫度傳感器”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前標(biāo)題:Python怎么實(shí)現(xiàn)溫度傳感器
地址分享:http://weahome.cn/article/iigded.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部