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 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 91精品国产一区| 亚洲第一香蕉视频| 一级毛片免费的| 国产嫖妓91东北老熟女久久一| 婷婷色在线视频| 天堂亚洲网| 91高清在线视频| 一区二区在线视频免费观看| 国产成人乱无码视频| 国产杨幂丝袜av在线播放| 国产产在线精品亚洲aavv| 欧美另类第一页| AV天堂资源福利在线观看| 日本精品αv中文字幕| 永久在线精品免费视频观看| 91精品伊人久久大香线蕉| 亚洲av无码牛牛影视在线二区| av大片在线无码免费| 欧美亚洲一二三区| 国产激情无码一区二区免费| 亚洲第七页| 99人妻碰碰碰久久久久禁片| 亚洲第七页| 99re66精品视频在线观看| 国产av无码日韩av无码网站| 亚洲天堂色色人体| 欧美日韩一区二区三区在线视频| 亚洲国产欧美国产综合久久| 国产成在线观看免费视频| 黄色在线网| 久久激情影院| 日本一区高清| 国产区在线观看视频| 日韩福利在线视频| 日韩欧美中文字幕在线精品| 午夜欧美理论2019理论| 一级看片免费视频| 四虎影视8848永久精品| 免费无码在线观看| 在线一级毛片| 野花国产精品入口| 国产精品永久久久久| 久久综合干| 免费无遮挡AV| 国产成人综合在线视频| 尤物国产在线| 人妻精品久久久无码区色视| 国产手机在线ΑⅤ片无码观看| 日韩在线视频网站| 欧美一级夜夜爽www| 好吊日免费视频| 久久久久亚洲av成人网人人软件| 精品综合久久久久久97超人该| 亚洲无码高清一区二区| 好吊色妇女免费视频免费| 狼友视频国产精品首页| 欧美专区在线观看| 色哟哟精品无码网站在线播放视频| 亚洲国产一区在线观看| 91毛片网| 91精品福利自产拍在线观看| 国产成人禁片在线观看| 国精品91人妻无码一区二区三区| 国产精品55夜色66夜色| 国产精品视频免费网站| 欧美一级特黄aaaaaa在线看片| 国产91蝌蚪窝| 国产成人喷潮在线观看| 99热免费在线| 久久亚洲日本不卡一区二区| 最新加勒比隔壁人妻| 亚洲第一区在线| a级毛片一区二区免费视频| 亚洲最大看欧美片网站地址| 国产成人综合在线视频| 全午夜免费一级毛片| 日韩毛片免费| 青青草国产在线视频| 欧美成人A视频| 在线看国产精品| a毛片免费观看| 久久亚洲高清国产|