買了這個模組有一段時間了,最近重新整理一下手邊的模組,利用這幾天實作一下這個模組的功能。
紅外線反射尋跡/避障模組 TCRT5000 利用紅外線反射的特性,有兩種可應用的功能,一是偵測是否有物體靠近,當模組被裝在小車時,可以偵測前方是否有障礙物;另一個功能是藉由反射面的顏色改變,來判斷小車是否偏離畫好的路線。以下是實作說明及結果。
TCRT5000尋跡感測器模組的紅外發射二極體不斷發射紅外線,當發射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處於關斷狀態,此時模組的輸出端為低電位,指示二極體一直處於熄滅狀態;被檢測物體出現在檢測範圍內時,紅外線被反射回來且強度足夠大,光敏三極管此時模組的輸出端為高電位,指示二極體燈被點亮。
產品規格:
這兩張照片,在感測器下方放上一片黑色止滑墊後,類比數值從153變成735,表示黑色阻擋一部份反射的光源,造成反射量減少,讓類比接收到訊號數值增加。
以下兩張照片顯示物體接近的感應,當模組有接收到反射訊號時,D0 腳位輸出 0。將感測器再提高一點點時,D0 腳位輸出 1,類比值大約在540左右當作分隔,小於540時,表示偵測到物體靠近,大於540時表示沒有物體在距離範圍內,根據實作的結果,這個距離在光線充足時,能夠偵測的物體距離需在8公分以內。
紅外線反射尋跡/避障模組 TCRT5000 利用紅外線反射的特性,有兩種可應用的功能,一是偵測是否有物體靠近,當模組被裝在小車時,可以偵測前方是否有障礙物;另一個功能是藉由反射面的顏色改變,來判斷小車是否偏離畫好的路線。以下是實作說明及結果。
TCRT5000尋跡感測器模組的紅外發射二極體不斷發射紅外線,當發射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處於關斷狀態,此時模組的輸出端為低電位,指示二極體一直處於熄滅狀態;被檢測物體出現在檢測範圍內時,紅外線被反射回來且強度足夠大,光敏三極管此時模組的輸出端為高電位,指示二極體燈被點亮。
產品規格:
- 採用TCRT5000紅外反射感測器
- 檢測反射距離:1mm~25mm適用
- 工作電壓3.3V-5V
- 輸出形式 :數位開關量輸出(0和1)及類比輸出兩種
- 使用寬電壓LM393比較器
[材料]
- Arduino Uno
- 紅外線反射尋跡/避障模組TCRT5000
- LCD1602液晶顯示器
- I2C/介面 LCD1602轉接板 PCF8574
- 麵包板 x1
- 排線 N 條
[接線與電路圖]
| Arduino接腳 | 紅外線反射尋跡/避障模組TCRT5000 | LCD1602顯示器 |
|---|---|---|
| +5V | VCC | VCC |
| GND | GND | GND |
| D2 | DO | - |
| A0 | AO | - |
| SDA | - | SDA |
| SCL | - | SCL |
[程式]
#include <LiquidCrystal_I2C.h> // 引用 LiquidCrystal_I2C Library
LiquidCrystal_I2C lcd(0x27,16,2); // 設定 LCD 位址為 0x27,有 16 個字元 2 列
int DigitalPin = 2;
int AnalogPin = A0;
int ledPin = 13;
void setup()
{
Serial.begin(115200);
pinMode(DigitalPin, INPUT); // 設定數位Pin為輸入
pinMode(AnalogPin, INPUT); // 設定數位Pin為輸入
pinMode(ledPin, OUTPUT);
lcd.init(); // 初始化 lcd
lcd.backlight(); // 設定背板為亮
lcd.clear();
}
void loop()
{
boolean D_val = digitalRead(DigitalPin); // 讀取數位Pin的值
int A_val = analogRead(AnalogPin);
if(D_val == HIGH) { //讀取到數值為LOW時,點亮pin13的LED燈
digitalWrite(ledPin, LOW);
}
else {
digitalWrite(ledPin, HIGH);
}
Serial.print("Analog Data: ");
Serial.println(A_val);
lcd.setCursor(0,0);
lcd.print(" Analog:");
lcd.print(A_val);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Digital:");
lcd.print(D_val);
delay(300);
}
[實作結果]
TCRT5000模組有數位與類比兩個接腳,分別接到D2和A0兩個Arduino的接口,再將測得的感應值顯示在LCD1602上,藉以判斷偵測到的類比值達到某一特定數值時,數位訊號就會改變。利用這個特性,可以偵測(1)物體的接近,(2)感應標的物因顏色的變化,造成反射值的改變,判斷是否偏離路徑。這兩張照片,在感測器下方放上一片黑色止滑墊後,類比數值從153變成735,表示黑色阻擋一部份反射的光源,造成反射量減少,讓類比接收到訊號數值增加。
以下兩張照片顯示物體接近的感應,當模組有接收到反射訊號時,D0 腳位輸出 0。將感測器再提高一點點時,D0 腳位輸出 1,類比值大約在540左右當作分隔,小於540時,表示偵測到物體靠近,大於540時表示沒有物體在距離範圍內,根據實作的結果,這個距離在光線充足時,能夠偵測的物體距離需在8公分以內。

張貼留言