• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多途徑實(shí)現(xiàn)Arduino“超聲波測距警示燈”

      2021-09-24 18:59:51牟曉東
      電腦報(bào) 2021年36期
      關(guān)鍵詞:警示燈測距障礙物

      牟曉東

      汽車的倒車?yán)走_(dá)系統(tǒng)能夠根據(jù)車尾與障礙物的間距進(jìn)行聲音報(bào)警,間距值越小,蜂鳴器的“滴滴”嘯叫頻率越高。類似的,我們可以借助于Arduino開發(fā)板來制作一個(gè)小型“超聲波警示燈”系統(tǒng),利用超聲波傳感器來檢測和顯示與障礙物的間距,并且能夠根據(jù)不同的間距值來控制不同顏色的LED發(fā)光:距離遠(yuǎn),非常安全,亮綠燈;距離減小,處于警示區(qū)間范圍,亮黃燈;距離接近于警示臨界點(diǎn),比較危險(xiǎn),亮紅燈。

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

      實(shí)驗(yàn)器材:Arduino UNO主板一個(gè),HC-SR04超聲波傳感器一個(gè),綠色、黃色和紅色LED燈各一支,面包板一塊,各種顏色的杜邦線若干。

      首先,將Arduino的5V電源正極和GND通過杜邦線連接至面包板;HC-SR04超聲波傳感器有四個(gè)引腳,其中的VCC和GND分別插接至面包板的正極和負(fù)極,Trig信號(hào)發(fā)射引腳和Echo信號(hào)接收引腳分別插接至Arduino的2號(hào)和3號(hào)數(shù)字引腳;綠色、黃色和紅色LED的長腿(正極)通過面包板分別連接至Arduino的4號(hào)、7號(hào)和8號(hào)數(shù)字引腳,短腿(負(fù)極)與GND連接;最后,通過數(shù)據(jù)線將Arduino與計(jì)算機(jī)USB接口連接(如圖1)。

      2.Arduino IDE代碼編程實(shí)現(xiàn)“超聲波測距警示燈”

      在Arduino IDE中首先進(jìn)行變量的定義,與超聲波傳感器相關(guān)的語句包括“int TrigPin = 2;”“int EchoPin = 3;”和“float distance;”,前兩個(gè)分別聲明它的信號(hào)發(fā)射與接收引腳為2號(hào)和3號(hào)數(shù)字引腳,定義的浮點(diǎn)型變量distancd是用來存儲(chǔ)超聲波傳感器所測量的間距值;接著再定義三個(gè)整形變量:“int GreenLED = 4;”“int YellowLED = 7;”和“int RedLED =8;”,分別對應(yīng)綠色、黃色和紅色LED的三個(gè)數(shù)字引腳(4號(hào)、7號(hào)和8號(hào))。

      在setup()函數(shù)中,先通過語句“Serial.begin(9600);”來設(shè)置串口監(jiān)視器的波特率,目的是實(shí)時(shí)顯示出超聲波傳感器所監(jiān)測的間距數(shù)據(jù);然后是五個(gè)pinMode()引腳模式設(shè)置語句,除超聲波傳感器的EchoPin設(shè)置為INPUT輸入模式外,將它的TrigPin和三個(gè)LED燈(GreenLED、YellowLED、RedLED)均設(shè)置為OUTPUT輸出模式(如圖2)。

      在loop()函數(shù)中,首先要控制超聲波傳感器的發(fā)射端進(jìn)行信號(hào)的觸發(fā),即使用“低-高-低”的短時(shí)間脈沖:語句“digitalWrite(TrigPin, LOW);”和“delayMicroseconds(20);”的作用是控制發(fā)射端保持20微秒的低電平;然后通過語句“digitalWrite(TrigPin,HIGH);”和“delayMicroseconds(20);”,控制發(fā)射端再保持20微秒的高電平(即觸發(fā)一個(gè)20微秒的高脈沖);最后的語句“digitalWrite(TrigPin, LOW);”是控制發(fā)射端再次處于低電平狀態(tài)。

      接著,為存儲(chǔ)間距值的變量distance進(jìn)行賦值:“distance=pulseIn(EchoPin,HIGH) * 340/2/

      10000;”,計(jì)算方法是借助pulseIn()來實(shí)現(xiàn)——此時(shí)要特別注意它的單位是“微秒”(空氣中的聲速值按340米/秒計(jì)),有“米與厘米”和“秒與微秒”間的單位換算(相當(dāng)于“除以10000”);而且超聲波傳感器所監(jiān)測的間距值是“超聲波從發(fā)射端發(fā)出、向前運(yùn)動(dòng)并碰到障礙物后、再返回至接收端”的往返值(要“除以2”),因此在表達(dá)式中要對“pulseIn(EchoPin, HIGH)”的值再進(jìn)行“*340/2/10000”的計(jì)算。然后,在串口監(jiān)視器中輸出一行提示信息,語句為“Serial.print("與障礙物間的距離為:"); ”;接著再通過“Serial.print(distance); ”和“Serial.print(“cm”); ”兩行語句,將distance變量和單位(“厘米”)在同一行顯示輸出;而后面的語句“Serial.println(); ”,作用是輸出一個(gè)“換行”(相當(dāng)于“回車”操作)。

      接下來要構(gòu)建一個(gè)“if…else if…else…”三分支選擇結(jié)構(gòu),對變量distance的值進(jìn)行區(qū)間范圍判斷:如果距離大于30厘米(“distance >= 30.00”),執(zhí)行語句“digitalWrite(GreenLED,HIGH);”,控制綠色LED燈發(fā)光;如果距離在15厘米和30厘米之間(“distance < 30.00 and distance >= 15.00”),則執(zhí)行語句“digitalWrite(YellowLED,HIGH);”,控制黃色LED燈發(fā)光;否則的話——相當(dāng)于距離小于15厘米(“distance < 15.00”),則執(zhí)行語句“digitalWrite(RedLED,HIGH);”,控制紅色LED燈發(fā)光。

      最后,添加一個(gè)“delay(500); ”語句,作用是控制每次循環(huán)均延遲500毫秒;而三個(gè)digitalWrite()語句則是向三個(gè)LED連接引腳寫入低電平,作用是關(guān)閉所有的LED燈,從而為下一次循環(huán)的正確響應(yīng)做好初始化準(zhǔn)備(如圖3)。

      猜你喜歡
      警示燈測距障礙物
      實(shí)用的創(chuàng)意發(fā)明
      深度學(xué)習(xí)在艦船前方障礙物圖像識(shí)別中的應(yīng)用
      高低翻越
      SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
      類星體的精準(zhǔn)測距
      科學(xué)(2020年3期)2020-01-06 04:02:51
      高速公路ETC車道LED警示燈技術(shù)改造探析
      淺談超聲波測距
      電子制作(2017年7期)2017-06-05 09:36:13
      E2S利用氙氣閃光警示燈為GRPwarningsignals危險(xiǎn)位置產(chǎn)品系列添加了光效
      中國照明(2016年4期)2016-05-17 06:16:18
      DR曝光計(jì)數(shù)及警示燈的擴(kuò)展方法
      基于PSOC超聲測距系統(tǒng)設(shè)計(jì)
      临猗县| 龙川县| 会昌县| 高青县| 炎陵县| 石泉县| 广宗县| 梁河县| 弋阳县| 安徽省| 四子王旗| 沅陵县| 河源市| 延边| 巩留县| 梨树县| 深泽县| 格尔木市| 巨野县| 正定县| 南平市| 酒泉市| 灵武市| 华池县| 昌乐县| 太康县| 准格尔旗| 双柏县| 龙井市| 喀什市| 福贡县| 连江县| 巴彦淖尔市| 买车| 兰溪市| 梁山县| 罗平县| 成都市| 平定县| 阿拉善右旗| 汶上县|