999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

掌控板:Python編程實現水火情警報器

2023-03-28 08:50:15牟曉東
電腦報 2023年11期
關鍵詞:檢測

牟曉東

PinPong庫是一個可用于連接硬件設備進行編程的Python庫模塊,在開源硬件編程中可適用于Arduino、虛谷號、micro:bit、掌控板、樹莓派等常見的開發板。只須在Python編程環境中對初始化語句中的參數進行修改即可。比如在ArduinoUNO中的初始化語句是“Board("uno").begin()”,若換成掌控板則修改為“Board("handpy").begin()”。只要所使用的傳感器連接正確的話,Python編程代碼幾乎不必做改動就能夠在各種開發板之間進行“無縫”跨平臺移植,實現相同的功能。下面以掌控板為例,連接上雨水傳感器和火焰傳感器,通過Mind+環境中的Python編程調用PinPong庫來制作一個水火情警報器。

1.實驗器材及連接

實驗器材包括:掌控板和擴展板各一塊,FC-37雨水傳感器一個,火焰傳感器一個,各種杜邦線若干。首先,將掌控板正確插入至擴展板中,注意二者的金手指面要緊密接觸好;接著,將雨水傳感器的VCC、GND和AO(模擬數據輸出端)分別通過紅色、白色和綠色杜邦線連接至擴展板的P0引腳組的+、-和P端,注意不是連接DO(數字信號輸出端);類似的連接方式,再將火焰傳感器的VCC、GND和DO分別通過紅色、白色和黃色杜邦線連接至擴展板的P1引腳組的+、-和P端;最后,通過數據線將掌控板與電腦的USB口進行連接(如圖1)。

2.在Mind+中進行Python編程

運行Mind+,切換至“代碼”、“Python模式”,再點擊右上角的“庫管理”項查看是否之前已經安裝過PinPong庫,確保“硬件控制”區域中的“pinpong”項后面按鈕顯示為“已安裝”。

開始在左側的代碼主編輯區進行編程。

首先,進行相關庫模塊的導入,包括導入時間庫:“importtime”、導入PinPong庫中的開發板及引腳類:“frompinpong.boardimportBoard,Pin”、導入掌控板擴展設備:“frompinpong.extension.handpyimport*”。接著,初始化掌控板:“Board("handpy").begin()”,再對P0和P1兩個引腳分別進行電平輸入的模擬數據和數字數據的初始化設置:“P0_pin=Pin(Pin.P0,Pin.ANALOG)”、“P1_pin=Pin(Pin.P1,Pin.IN)”(如圖2)。

接下來進行函數的自定義,包括控制掌控板正面三顆LED燈的亮與滅、OLED顯示屏分別進行“水情預警!”和“火情預警!”文字提示共兩組(四個)函數。

第一組控制LED燈的亮與滅函數分別是lights_on()和lights_off(),每個函數均是通過設置RGB值來控制三顆LED燈的發光顏色,其中的rgb[0]、rgb[1]和rgb[2]則分別對應LED燈的序號,在lights_on()函數中通過“rgb[0]=(255,0,0)”、“rgb[1]=(0,255,0)”和“rgb[2]=(0,0,255)”三行語句分別設置三顆LED燈的發光顏色為紅色、綠色和藍色(其中的數字255若改為127則表示對應顏色的發光強度降低為50%);而在lights_off()函數中,三顆LED的RGB值均設置為0,表示不發光(即熄滅狀態);最后,再通過“rgb.write()”語句使其生效(如圖3)。

第二組控制OLED顯示屏提示“水情預警!”的water_alert()函數和“火情預警!”fire_alert()函數代碼類似,以water_alert()函數為例,先通過語句“oled.DispChar('水情預警!',32,16)”來設置文字提示信息的內容顯示及坐標,再通過語句“oled.show()”使OLED顯示屏生效,并且添加時間等待語句“time.sleep(3)”,作用是控制文字信息的顯示提示時間為3秒鐘;接下來,語句“oled.fill(0)”的作用是將低電平輸出至OLED屏,滿屏均為黑色,最終也仍需添加語句“oled.show()”使顯示生效(如圖4)。

最后編寫“whileTrue”循環主程序:建立變量water_value,為其賦值為“P0_pin.read_analog()”,作用是讀取雨水傳感器所獲取的檢測數據(AO模擬端);建立變量fire_value,賦值為“P1_pin.value()”,作用是讀取火焰傳感器所獲取的檢測數據(D1數字端);再通過兩個print()語句將檢測的數據信息在電腦屏幕上顯示輸出:“print("水信號的檢測(模擬)數據為:",water_value)”、“print("火信號的檢測(數字)數據為:",fire_value)”;建立第一個if條件分支結構,其判斷為“water_value<1000”,因為通過測試發現雨水傳感器的檢測板在“無水”時的輸出值為1040左右,而“有水”時的輸出值為960左右;若該條件成立,說明檢測到“有水”,則分別執行亮燈函數lights_on()、水情預警函數water_alert()和滅燈函數lights_off();第二個if條件分支結構類似,只是判斷條件修改為“fire_value==0”,因為通過測試發現火焰傳感器在“無火”時的輸出值為1(“有火”則為0),條件成立則執行亮燈函數lights_on()、火情預警函數fire_alert()和滅燈函數lights_off();最后,為循環結構添加0.3秒鐘的時間等待語句“time.sleep(0.3)”(如圖5)。

3.測試水火情警報器

將程序保存,點擊右上角的“運行”進行測試:在“無水”、“無火”的正常情況下,掌控板的LED燈不發光,OLED屏也不顯示任何信息,電腦程序下方的“終端”處每隔0.3秒會顯示一組水與火信號的檢測數據;當在雨水傳感器的檢測板上滴幾滴水時,三顆LED燈發光,同時在顯示屏上出現“水情預警!”的提示,直至將水滴擦除才會解除燈光和文字警報;當在火焰傳感器附近點燃打火機時,LED燈發光,顯示屏提示“火情預警!”,直至熄滅打火機才會解除警報。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 国产精品女在线观看| 无码啪啪精品天堂浪潮av| 男女男免费视频网站国产| 精品久久久久久成人AV| 曰韩人妻一区二区三区| 激情综合婷婷丁香五月尤物| 欧美一区国产| 日韩性网站| 欧美精品另类| 午夜啪啪福利| 欧美精品另类| 久久一色本道亚洲| 久久综合色天堂av| 亚洲Va中文字幕久久一区| 狠狠ⅴ日韩v欧美v天堂| 无码中文字幕精品推荐| 久久人体视频| 精品伊人久久久香线蕉| 欧美另类视频一区二区三区| 国产在线视频导航| 凹凸国产分类在线观看| 日韩黄色在线| www.91中文字幕| 国产av色站网站| 国产精品一区二区在线播放| 国产女人喷水视频| 日本午夜精品一本在线观看| 九九久久99精品| 国产精品伦视频观看免费| 亚瑟天堂久久一区二区影院| 熟妇丰满人妻av无码区| 高清无码不卡视频| 美女被操黄色视频网站| 中文字幕日韩久久综合影院| 亚洲av成人无码网站在线观看| 亚洲天堂精品视频| 99er精品视频| 国产农村精品一级毛片视频| 日韩免费视频播播| 久久国产精品无码hdav| 国产福利一区视频| 又爽又大又光又色的午夜视频| 精品国产美女福到在线直播| 亚洲美女高潮久久久久久久| 国产亚洲精品资源在线26u| 国产毛片不卡| 国产色偷丝袜婷婷无码麻豆制服| 任我操在线视频| 久久亚洲AⅤ无码精品午夜麻豆| 一本大道香蕉久中文在线播放 | 干中文字幕| 999福利激情视频| 国内精自线i品一区202| 国产成年女人特黄特色毛片免| 欧美不卡二区| 91久久大香线蕉| 99久久精彩视频| 麻豆精选在线| 日韩天堂视频| 国产精品大白天新婚身材| 国产啪在线| 丰满少妇αⅴ无码区| 无码国内精品人妻少妇蜜桃视频 | 中文字幕不卡免费高清视频| 国产亚洲欧美日韩在线观看一区二区| 在线观看91精品国产剧情免费| 丝袜久久剧情精品国产| 97精品国产高清久久久久蜜芽| 国产在线啪| 中文字幕无码制服中字| 超清无码一区二区三区| 1769国产精品视频免费观看| 国产精品久久久久鬼色| 99伊人精品| 精品国产成人av免费| 精品无码视频在线观看| 全午夜免费一级毛片| 色综合久久综合网| 野花国产精品入口| 国产精品网址你懂的| 亚洲国内精品自在自线官| 免费又爽又刺激高潮网址|