Arduino 新手實作(四) 紅外線警報器

HI ~ 大家好我是阿俊 這次實作是 運用紅外線的 漫反射特性 來達成 感應物體的運用 在現實生活中 紅外線的運用非常的廣 運用於傳送資料 感溫 避障 等多種用途 這次實作

將使用 紅外線避障 來達成 以下是實作影片



  

先說明 何謂漫反射 紅外線避障模組上 有一個接收 和 發送端  其原理就是 將紅外線發送 遇到障礙物 反射回去到接收端 使模組作動 在其中的過程 稱為漫反射 順便提一下 紅

外線對黑色不靈敏 因此 在使用上 還有一些不便 假如光線太暗的話 避障效果大打折扣 則要使用超音波避障 來解決!~

慢反射  

準備材料

 

Arduino 板子 

 

數條連接線

 

紅外線避障模組X1

 

揚聲器X1

 

麵包板

 

官方程式編譯器 arduino-1.X.X以上版本

以下是電路圖

紅外線  

這次電路 還不算太難 在紅外線避障模組由上到下分別為  GND Vcc OUT EN 先說一下 何謂EN  EN 致能接腳 假設 模組沒用到時 可以使用 EN腳輸入HIGH 訊號 使整個模組 暫停運作 輸入 LOW 訊號 則使模組 正常運作 用意在於有些設計是長時間使用 怕在沒必要的時候開著 除了浪費不必要的能源外 也同時可以讓模組用的比較久

接下來是程式碼

 


 

//Arduino  新手實作 紅外線避帳警報 by~ 阿俊
int IR_Objects = 3; //  紅外線接口
int spk = 13; // 揚聲器接口
int IR = 0; //   紅外線初始值

void setup()
{
pinMode(IR_Objects,INPUT); //  定義紅外線為輸入端
pinMode(spk,OUTPUT); // 定義揚聲器為輸出端

}

void loop()
{
IR=digitalRead(IR_Objects); // 定義IR_Objects=IR 並為讀取紅外線狀態
if(IR == HIGH) //    假設紅外線等於高電平
digitalWrite(spk, 1); //  則揚聲器響起
delay(IR); //  延遲時間等於IR作動時間  
digitalWrite(spk, 0); //    關閉揚聲器
}


由程式可以看出 利用紅外線避障模組 所接收的電位狀態 來決定要不要讓喇叭響起  delay(IR) 我在此說明 delay常常看到都是使用數字 這次則用物件 因為 假設設定為1.5秒

延遲 但是紅外線避障模組 在同時間 執行多次 但聲音還在RUN 沒有間段 但是 設定延遲為物件作動 紅外線 HIGH 喇叭 也HIGH   LOW 都 LOW 來達成 同步作動的效果

 

結論

在紅外線避障 在現實社會中 應用非常少 畢竟 信號容易干擾 距離短 則取而代之的 就是 超音波避障 現今交通工具裡 超音波避障 都隨處可見 例如 汽車 倒車時 聽見 逼逼逼~

越近 聲音越急 其原理 就是 利用聲波的反射來達成避障 有機會實作給大家看看 超音波的原理作動 這次的紅外線避障 就告一段落 下次再寫 利用紅外線避障 讓自走車 不撞壁

的實作文 先影片吊吊胃口吧



  

我是阿俊 謝謝大家~~~!!!

 

在〈Arduino 新手實作(四) 紅外線警報器〉中有 5 則留言

  1. 我想問你 蜂鳴器要接在哪邊 有點不清楚
    版主回覆:(06/08/2015 12:23:48 PM)
    依照程式去接 在Arduino所設定的腳位 我是設正接pin13腳 GND接負 試試看囉

  2. 那請問一下 如果我的事蜂鳴器 還需要改程式碼嗎 因為我測試時 避障模組有發亮 但是 蜂鳴器沒反應
    版主回覆:(06/20/2015 09:58:31 AM)
    如果可以的話 能看看你的的電路圖嗎? 正常來說有接的話應該都可以有可能喇叭本身問題 電路接錯 程式不對 ~~

  3. 一定要用蜂鳴器?可以等待3秒在停嗎?
    版主回覆:(12/04/2018 10:12:09 PM)
    不一定 ,可以喔 你加個 delay(3000); 就行了

  4. 請問一下你那張Frirzing圖片中的避障模組是哪裡下載的?
    能否給我載點? 我作業要用到 謝謝!
    版主回覆:(12/04/2018 10:15:12 PM)
    那個我自己拚的,就隨便找個電路+LED 拼合的XD

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

AbuseIPDB Contributor Badge
返回頂端