學習目標
- ✓了解反射式紅外線感測器由發光元件與接收元件組成。
- ✓使用桃園版 Blockly 讀取 TCRT5000 的類比值。
- ✓透過門檻值判斷黑白表面,完成簡單循跡判斷。
SENSOR / INFRAREDDISTANCE
TCRT5000 以 950 nm 紅外線發光元件照射近距離表面,再由光電晶體接收反射光。它很適合做黑白線條辨識、近距離物體存在判斷與循跡入門,但不是用來量測精準公分距離。
先確認這一課要學會什麼,以及桌面上需要哪些材料。
TCRT5000 會把近距離表面的反射紅外線轉成電氣訊號;表面顏色、材質、角度與模組高度都會影響讀值。
950 nm 紅外線發光元件照亮前方表面。
光電晶體依接收到的反射量改變輸出。
先量黑、白兩種表面,再選一個適合當地環境的判斷門檻。
桃園版現代積木回傳原始類比值;不同模組電路可能有正反相差異,請以實測值為準。
使用 AO 讀取連續變化;若模組也有 DO,可另外用數位輸入做門檻後的 0/1 判斷。
| 模組腳位 | 接到控制板 | 訊號方向 | 檢查重點 |
|---|---|---|---|
| VCC | 5V | 電源 | 確認模組標示的工作電壓。 |
| GND | GND | 地線 | 感測器與 Arduino 必須共地。 |
| AO | A0 | 類比讀值 | 接到 taoyuan_tcrt5000 的 PIN 設定。 |
已將 3 條線路依同一筆資料逐列對齊;電壓仍須依手上模組版本確認。
積木名稱與型別以桃園版 Blockly 現行程式為準,不以通用積木替代。
taoyuan_tcrt5000讀取反射強度原始值
位置:感測器 → 距離感測器 → 紅外線(TCRT5000)tcrt5000相容舊版作品的類比讀值積木
位置:感測器 → 距離感測器 → 紅外線(TCRT5000)controls_if將感測值與門檻比較,轉成黑白判斷
位置:控制serial_println先觀察黑白表面的實際讀值
位置:輸出把 TCRT5000 的讀值送到序列埠,讓學生找出黑色與白色的差異。
arduino_delaytaoyuan_tcrt5000serial_printlnarduino_delayarduino_delaytaoyuan_tcrt5000serial_printlnarduino_delay讓模組離紙面約 2–5 mm,保持角度不變。
為什麼:高度與角度會直接改變反射量。分別把感測器放在黑色與白色表面,記下序列埠讀值。
為什麼:先量測再設定門檻,比直接猜數字可靠。使用如果積木,比較讀值與自訂門檻。
為什麼:這是循跡與物體存在判斷的共同基礎。taoyuan_tcrt5000:讀取反射強度原始值
下載桃園版 Blockly 專案或對應的文字程式。
| 測試情境 | 可能讀值 | 判讀 |
|---|---|---|
| 感測器移到不同顏色表面 | 序列埠讀值會改變 | 反射光量受到表面材質與顏色影響。 |
| 模組高度改變 | 同一張紙的數值也可能漂移 | 門檻值需要配合機構高度重新校準。 |
這段程式把「紅外線反射感測器(TCRT5000)」的實體接線、桃園版 Blockly 積木與 Arduino 執行流程接在一起。先對照腳位,再看初始化、讀值、輸出與等待的順序;每一步都可以回到本頁的積木範例實測。
const int SENSOR_PIN = A0;
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println(analogRead(SENSOR_PIN));
delay(100);
}// 紅外線反射感測器(TCRT5000) library函式庫提供桃園版 Blockly 產生器所需的底層功能;若這裡的函式庫或物件名稱不對,後面的 taoyuan_tcrt5000 就算接線正確也無法使用。
const int SENSOR_PIN = A0;本頁接線是 VCC → 5V、GND → GND、AO → A0。程式常數、積木欄位與實體線材必須使用同一組設定;若改了其中一邊,另外兩邊也要一起改。
void setup() {啟動序列埠、I²C/UART 或感測器初始化通常只需要做一次,所以要放在「初始化」區,不要每一圈重複建立裝置。這也對應範例中的啟動積木。
void loop() {重複執行區先讓感測器更新,再讀取 TCRT5000 讀取類比值。若元件有 data ready、可用性或逾時條件,先判斷狀態再使用數值,避免把無效資料當成真實測量。
Serial.println(analogRead(SENSOR_PIN));先把原始值、單位或狀態送到序列埠,才能和預期結果比較;等待時間則決定更新速度。若看到亂碼,先檢查鮑率;若數值跳動,先增加合理的取樣間隔或做校正。
先從「電源、接線、腳位、物體」四個方向檢查,再修改程式。
先檢查:確認 AO 是否接到 A0,並檢查 VCC/GND。
處理方式:改用 AO 讀取,重新插拔 USB 後再觀察。
先檢查:把模組放到黑、白表面比較數值方向。
處理方式:反轉比較運算子或重新設定門檻,不要直接套用別人的數字。
先檢查:確認感測器高度、環境光與接線是否固定。
處理方式:加遮光罩、固定支架,或取多次平均。
從顯示數值,逐步走向條件判斷、燈號回饋與雷達專題。
題目:量測 5 次黑色與白色讀值,整理平均值與範圍。
這題要延伸「TCRT5000 讀取類比值」的基本讀值:先保留已驗證的接線與初始化,再把題目要求的資料處理加在重複執行區。先把資料整理成可觀察的序列埠或表格結果。
題目:當讀值跨過門檻時,控制 LED 顯示是否在黑線上。
這題要延伸「TCRT5000 讀取類比值」的基本讀值:先保留已驗證的接線與初始化,再把題目要求的資料處理加在重複執行區。把結果接到題目指定的輸出元件。
題目:加入第二個 TCRT5000,判斷左偏、右偏與在線上。
這題要延伸「TCRT5000 讀取類比值」的基本讀值:先保留已驗證的接線與初始化,再把題目要求的資料處理加在重複執行區。先把資料整理成可觀察的序列埠或表格結果。
確認元件由紅外線發光元件與光電晶體組成,以及 950 nm 相關規格。
補充反射式感測器的工作距離與光學特性。
對照 taoyuan_tcrt5000 與 tcrt5000 積木名稱、腳位與輸出型別。