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

多途徑實(shí)現(xiàn)Arduino“紅外感應(yīng)燈”

2021-08-11 05:51:06牟曉東
電腦報(bào) 2021年30期
關(guān)鍵詞:檢測(cè)

牟曉東

在Arduino開源硬件編程中,常規(guī)實(shí)現(xiàn)方法是在Arduino IDE環(huán)境中進(jìn)行C語(yǔ)言(包括C++)式的代碼編程,代碼精簡(jiǎn)、效率比較高。中小學(xué)生通常是從圖形化編程入手,通過(guò)將高度集成編譯好的“積木”式模塊進(jìn)行組合來(lái)實(shí)現(xiàn)同樣的編程效果,比如Mind+、Mixly等等。除此之外,我們還可以在Python中借助PinPong庫(kù)模塊的引入進(jìn)行代碼編程,也能夠讓Arduino控制各種外設(shè)來(lái)實(shí)現(xiàn)非常豐富的功能。以“紅外感應(yīng)燈”為例——當(dāng)有物體靠近(默認(rèn)為2~30cm范圍)時(shí),Arduino控制LED燈發(fā)光;否則,LED燈保持熄滅狀態(tài)。

1.實(shí)驗(yàn)器材與電路連接

實(shí)驗(yàn)器材:Arduino UNO主板一個(gè),紅外線傳感器一個(gè),紅色LED燈一支,三色公對(duì)母杜邦線各一根。首先將LED燈長(zhǎng)腿(正極)插入13號(hào)引腳,短腿(負(fù)極)插入與之相鄰的GND接地引腳;接著將三根杜邦線一端與紅外傳感器相連,紅色線將VCC引腳與Arduino的5V引腳連接,黑色線負(fù)責(zé)接地(兩端均連接GND),黃色線將紅外傳感器的OUT信號(hào)輸出端與Arduino的7號(hào)引腳相連;最后,通過(guò)數(shù)據(jù)線將Arduino與計(jì)算機(jī)USB接口連接,準(zhǔn)備開始編程(如圖1)。

2.常規(guī)Arduino IDE代碼編程實(shí)現(xiàn)“紅外感應(yīng)燈”

首先,在Arduino IDE中進(jìn)行兩個(gè)變量的定義與賦值,語(yǔ)句“int led = 13;”對(duì)應(yīng)插接在13號(hào)引腳的紅色LED燈,語(yǔ)句“int irSensorPin = 7;”對(duì)應(yīng)插接在7號(hào)引腳的紅外傳感器;接著,在setup()函數(shù)中寫入兩個(gè)語(yǔ)句:“pinMode(led,OUTPUT);”的作用是聲明LED燈的引腳(13號(hào))為輸出模式,而“pinMode(irSensorPin, INPUT);”的作用是聲明紅外傳感器引腳(7號(hào))為輸入模式。

最后,在loop()函數(shù)中寫入一個(gè)“if…else…”選擇結(jié)構(gòu),其中的判斷條件是“digitalRead(irSensorPin) == HIGH”,即判斷從紅外傳感器中讀取的數(shù)字信號(hào)是否為HIGH高電平;高電平是對(duì)應(yīng)“沒(méi)有物體進(jìn)入檢測(cè)范圍”的情況,因此后面要寫一個(gè)“digitalWrite(led,LOW);”語(yǔ)句,控制LED燈處于低電平的熄滅狀態(tài);如果條件不成立,說(shuō)明紅外傳感器檢測(cè)到“有物體進(jìn)入”,則在else后面寫一個(gè)“digitalWrite(led,HIGH);”語(yǔ)句,控制LED燈處于高電平的發(fā)光狀態(tài)(如圖2)。

將程序編譯并上傳,對(duì)紅外感應(yīng)燈進(jìn)行檢測(cè):當(dāng)沒(méi)有物體靠近時(shí),LED燈熄滅;而當(dāng)有物體進(jìn)入檢測(cè)范圍時(shí),LED燈開始發(fā)光(如圖3),直到物體移出后又熄滅。

3.Python代碼編程實(shí)現(xiàn)“紅外感應(yīng)燈”

借助于PinPong第三方庫(kù)模塊,我們可以非常方便地在Python中對(duì)Arduino進(jìn)行代碼編程。首先需要在Python中進(jìn)行PinPong庫(kù)模塊的安裝,方法是在Python的腳本安裝目錄(比如:C:\Users\ZYYZ-BJ\AppData\Local\Programs\Pyth

on\Python38\Scripts)中按住Shift鍵的同時(shí),在空白處點(diǎn)擊右鍵并選擇“在此處打開命令窗口”;接著在彈出的CMD窗口中輸入命令“pip install pinpong”,回車后即可開始安裝,成功后會(huì)顯示“Successfully installed”的提示信息(如圖4)。

首先,進(jìn)入Python IDLE編程環(huán)境后新建一個(gè)Python文件,導(dǎo)入time和pinPong庫(kù)模塊:“import time”和“from pinpong.board import Board,Pin”;接著,通過(guò)語(yǔ)句“Board(“uno”).begin()”來(lái)實(shí)現(xiàn)對(duì)Arduino uno板型的初始化操作,同時(shí)還會(huì)自動(dòng)識(shí)別端口號(hào)(比如COM9);然后,建立led和irSensor兩個(gè)變量,語(yǔ)句“l(fā)ed = Pin(Pin.D13, Pin.OUT)”的作用是設(shè)置連接在13號(hào)引腳的LED燈為信號(hào)輸出端,語(yǔ)句“irSensor = Pin(Pin.D7, Pin.IN)”的作用是設(shè)置連接在7號(hào)數(shù)字引腳的紅外傳感器為信號(hào)輸入端。

最后,在“while True:”循環(huán)結(jié)構(gòu)中先建立變量Sensor_Value,并為其賦值為“irSensor.read_digital()”,作用是讀取紅外傳感器所監(jiān)測(cè)到的數(shù)字信號(hào);然后建立一個(gè)“if…else…”選擇結(jié)構(gòu),對(duì)變量Sensor_Value的值進(jìn)行“是否等于1”的判斷,條件成立的話,說(shuō)明未檢測(cè)到有物體進(jìn)入,則執(zhí)行語(yǔ)句“l(fā)ed.write_digital(0)”,向LED燈的13號(hào)引腳寫入低電平0,即保持熄滅狀態(tài);反之,則通過(guò)語(yǔ)句“l(fā)ed.write_digital(1)”向13號(hào)引腳寫入高電平1,控制LED燈發(fā)光。語(yǔ)句“time.sleep(0.1)”的作用是控制每次循環(huán)運(yùn)行均延遲0.1秒,防止消耗過(guò)多的系統(tǒng)資源而造成“死機(jī)”。

將程序保存后按功能鍵F5運(yùn)行程序,Arduino紅外感應(yīng)燈開始“工作”:有物體靠近,亮燈;反之,熄滅。

4.Mind+圖形化編程實(shí)現(xiàn)“紅外感應(yīng)燈”

運(yùn)行Mind+進(jìn)入圖形化編程界面,難度比較低,直接通過(guò)“積木”塊語(yǔ)句的拖動(dòng)和組合:

首先在左側(cè)通過(guò)點(diǎn)擊“擴(kuò)展”項(xiàng)添加“主控板”下的“Arduino Uno”,返回后在“循環(huán)執(zhí)行”中建立一個(gè)“如果…那么執(zhí)行…否則…”選擇結(jié)構(gòu),同樣是對(duì)插接在7號(hào)引腳的紅外傳感器進(jìn)行數(shù)字信號(hào)讀取;如果值為1,說(shuō)明沒(méi)有物體進(jìn)入有效檢測(cè)范圍,則控制插接在13號(hào)引腳的LED燈熄滅——“輸出為低電平”;反之,則“輸出為高電平”,即控制LED燈發(fā)光(如圖5)。

程序編寫完畢后點(diǎn)擊“上傳到設(shè)備”項(xiàng),當(dāng)出現(xiàn)“上傳成功”提示后,Arduino紅外感應(yīng)燈可以根據(jù)對(duì)物體的監(jiān)測(cè)進(jìn)行“熄滅、發(fā)光”的自動(dòng)切換,與之前使用Arduino IDE和Python代碼編程所實(shí)現(xiàn)的效果完全一致,大家不妨一試。

猜你喜歡
檢測(cè)
QC 檢測(cè)
“不等式”檢測(cè)題
“一元一次不等式”檢測(cè)題
“一元一次不等式組”檢測(cè)題
“幾何圖形”檢測(cè)題
“角”檢測(cè)題
“有理數(shù)的乘除法”檢測(cè)題
“有理數(shù)”檢測(cè)題
“角”檢測(cè)題
“幾何圖形”檢測(cè)題
主站蜘蛛池模板: 亚洲一区二区无码视频| 国产91丝袜| 精品国产aⅴ一区二区三区| 99在线观看视频免费| 日韩无码黄色网站| 91成人精品视频| 伊人福利视频| 精品国产aⅴ一区二区三区| 欧美成人精品在线| 99青青青精品视频在线| 色婷婷成人| 免费观看精品视频999| 亚洲精品视频免费看| 色精品视频| 亚洲第一成网站| www.youjizz.com久久| 精品亚洲国产成人AV| 日韩欧美91| 欧美日韩另类国产| 国产在线自在拍91精品黑人| 毛片最新网址| 亚洲成在线观看| 毛片视频网| 亚洲天堂视频在线观看免费| 少妇人妻无码首页| 日韩精品欧美国产在线| 97久久免费视频| 国产9191精品免费观看| 99尹人香蕉国产免费天天拍| 日韩成人在线网站| 91成人在线观看| 欧美日本中文| 青青青国产在线播放| 亚洲国产精品一区二区第一页免| 国产自无码视频在线观看| 欧美啪啪网| 亚洲精品第一在线观看视频| 欧美亚洲国产精品第一页| 久久婷婷五月综合97色| 91啦中文字幕| 国产黄色免费看| 日韩一区二区在线电影| 欧美日韩中文字幕在线| 欧美综合中文字幕久久| 国产剧情伊人| 国产成人无码AV在线播放动漫 | 五月婷婷激情四射| 亚洲高清中文字幕| 精品国产三级在线观看| 亚洲色偷偷偷鲁综合| 九九热精品视频在线| 色成人综合| 亚洲天堂伊人| 免费国产不卡午夜福在线观看| 午夜福利无码一区二区| 亚洲成人播放| 99精品视频九九精品| 欧美激情伊人| 国产超碰一区二区三区| 国产一区二区三区在线观看免费| 亚洲精品大秀视频| 天天综合网色| 国产丝袜一区二区三区视频免下载| 国产福利一区视频| 欧美色综合网站| 日本免费一级视频| 欧美中出一区二区| 日韩免费毛片视频| a级毛片网| 亚洲国产日韩视频观看| 美女一区二区在线观看| 热九九精品| 婷婷色婷婷| 精品国产黑色丝袜高跟鞋| 中文字幕在线观| 99在线视频免费| 色婷婷亚洲十月十月色天| 国产精品私拍在线爆乳| 欧美三级自拍| 夜夜操天天摸| 国产伦片中文免费观看| 欧美精品影院|