跳到:
ESP32 教學 1/55 - SunFounder ESP32 IoT 學習套件軟件同 Arduino IDE 簡介 ESP32 教學 2/55 - 咩係 ESP32、相機擴展板、開箱 SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 3/55 - 電阻、LED、麵包板項目:Hello LED -ESP32 IoT 學習套件 ESP32 教學 4/55 - 數據類型 定義變量 Int、bool、char、序列監視器 - ESP32 IoT 套件 ESP32 教學 5/55 - LED 漸變,控制 LED 亮度 - ESP32 物聯網學習套件 ESP32 教學 6/55 - 使用 RGB LED 項目 2.3 - SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 7/55 - 使用陣列配合 ESP32 Arduino 程式設計 - SunFounder 嘅 ESP32 IoT 學習套件 ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 教學 9/55 - 用按鈕切換 LED,按一下開,按一下關 - SunFounder ESP32 IoT 套件 ESP32 教學 10/55 - 使用七段顯示器 74HC595 嘅數字計數器 - ESP32 IoT 學習套件 ESP32 教學 11/55 - 使用 LCD1602 LCD2004 同 ESP32 - SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 12/55 - WS2812 RGB 燈帶 4 項目,配合 SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 13/55 - Arduino 用有源蜂鳴器發出嗶聲 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 14/55 - 使用 SunFounder ESP32 IoT 學習套件播放自訂音樂音符 ESP32 教學 15/55 - 用 ESP32 L293D 控制直流馬達速度 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 16/55 - 使用 ESP32 同 L293D 嘅迷你水泵 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 17/55 - 使用 ESP32 同電位器控制伺服馬達 - ESP32 IoT 學習套件 ESP32 教學 18/55 - 使用 ESP32 偵測傾斜 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 19/55 - 使用紅外線感測器偵測障礙物 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 20/55 - 循線模組 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 21/55 - 用 PIR 動作感應器偵測人體 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 22/55 - 用 LED Arduino 感受光線 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 23/55 - 使用 ESP32 讀取電位器電壓 | SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 24/55 - 量度土壤濕度用於灌溉 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 25/55 - 使用 NTC 同 LCD 測量溫度 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 26/55 - 使用搖桿配合 Arduino 採取行動 | SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 27/55 - 用超聲波感測器量度距離 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 28/55 - DHT11 溫度感測器配合 LCD | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 29/55 - 用 ESP32 讀取紅外線遙控器按鍵| SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 30/55 - 使用 Adafruit IO 服務透過 MQTT 喺網頁上控制伺服摩打 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 31/55 - 專案 LED 燈帶配合避障功能 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教程 32/55 - 汽车倒车距离警告(带LCD同蜂鸣器)| SunFounder嘅物联网学习套件 ESP32 教學 33/55 - 使用 SunFounder 嘅 ESP32 IoT 學習套件整數碼骰仔 ESP32 教學 34/55 - 用 RGB LED 同旋鈕整顏色漸變 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 35/55 - 植物監測器,土壤、溫度同光線 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 36/55 - 猜數字遊戲 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 37/55 - 使用藍牙應用程式配合 ESP32 BLE | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 38/55 - 用手機控制 RGB LED | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 39/55 - 用 ESP32 做藍牙音樂播放器 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 40/55 - 讀寫 Micro SD 卡 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 41/55 - 使用 Micro SD 卡嘅 MP3 播放器 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 42/55 - 用相機影相並儲存喺 Micro SD CAM-1 | SunFounder 嘅 ESP32 套件 ESP32 教程 43/55 - 物聯網互聯網天氣站 | SunFounder 嘅 ESP32 物聯網學習套件 ESP32 教學 44/55 - ESP32 相機網絡伺服器透過 WiFi 傳輸視頻串流 CAM-2 | SunFounder 嘅 ESP32 套件 ESP32 教學 45/55 - 自訂串流伺服器配合 LED 控制 CAM-3 l SunFounder 嘅 ESP32 學習套件 ESP32 教學 46/55 - 使用 HiveMQ MQTT 進行遠程溫度監控 | SunFounder 嘅 ESP32 套件 ESP32 教學 47/55 - 使用 MQTT 透過互聯網嘅 WS2812 CheerLights | SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 48/55 - 遠程溫度監控同 LED 控制 MQTT | SunFounder 嘅 ESP32 IoT 套件 ESP32 教學 49/55 - 透過 Adafruit IoT 控制直流摩打 | SunFounder 嘅 ESP32 套件 ESP32 教學 50/55 - 喺世界任何地方控制 RGB LED | SunFounder 嘅 ESP32 套件 ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit ESP32 教學 52/55 - WS2812 CheerLights MQTT 全球同步連 LCD | SunFounder ESP32 IoT 套件 ESP32 教學 53/55 - 建立 LCD 網絡時鐘 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 54/55 - 透過 Wi-Fi 設定 WS2812 LED 燈條顏色 | SunFounder 嘅 ESP32 IoT 學習套件 ESP32 教學 55/55 - 點樣量度 12V、24V 或者 100V 直流電壓 | SunFounder 嘅 ESP32 IoT 學習套件
ESP32 教學 20/55 - 循線模組 | SunFounder 嘅 ESP32 IoT 學習套件
喺呢個教學入面,我哋會學吓點樣用ESP32模組同埋循線模組嚟偵測白色表面上嘅黑色線。呢種能力對於好似機械車要跟住指定路徑嘅應用嚟講係好重要嘅。除此之外,我哋仲會整合一個蜂鳴器,當循線模組偵測到黑色線嘅時候就會啟動,增強我哋項目嘅反饋機制。如果想再清楚啲,請參考條片(片入面0:00位置)。
line_track
硬件講解
呢個項目嘅主要組件包括ESP32模組、一個循線模組同一個蜂鳴器。ESP32模組係一個功能強大嘅微控制器,內置Wi-Fi同藍牙功能,可以支援好多IoT應用。循線模組利用紅外線發射器同光敏電阻,根據反射紅外線嘅強度嚟偵測表面顏色嘅差異。
循線模組嘅運作原理係發射紅外線,光線會由下面嘅表面反射返嚟。深色表面好似黑色咁會吸收多啲光,令到反射強度低啲;而淺色表面好似白色咁會反射多啲光,產生較高嘅強度。呢個差異會由運算放大器處理,嚟判斷表面嘅狀態(黑定白),然後輸出相應嘅訊號。
數據表詳情
製造商
SunFounder
零件編號
TCRT5000
邏輯/IO電壓
3.3 V 至 5 V
輸出電流(每通道)
20 mA
峰值電流(每通道)
50 mA
響應時間
< 10 ms
偵測範圍
1 cm 至 5 cm
封裝
帶排針嘅模組
備註/變體
常用於循線機械人
確保電源供應正確(3.3 V 或 5 V)。
保持感應器清潔,先至可以讀得準。
用板上嘅可變電阻嚟調整靈敏度。
檢查接線,避免浮空輸入。
如有需要,用上拉電阻嚟確保讀數穩定。
盡量減少環境紅外線光源嘅干擾。
接線指示
ESP32-20_line-tracking-wiring
要將循線模組接到ESP32,首先將模組嘅接地腳接到ESP32上面嘅一個接地腳。然後,將循線模組嘅V+腳接到合適嘅電源,即係ESP32上面嘅3.3 V或者5 V。訊號腳(標示為S)就要接到ESP32嘅GPIO 14。確保呢啲連接穩固先至繼續。
如果你有用蜂鳴器,就將佢嘅負極接到接地,正極接到ESP32嘅GPIO 27。呢個設定令到蜂鳴器喺循線模組偵測到黑色線嘅時候啟動。記得要再三檢查所有接線,確保同代碼入面指定嘅腳位一致。
ESP32-20_line-tracking-schemtaic
代碼示例同講解
下面係代碼入面一個關鍵嘅部分,用嚟設定循線模組。變數linePin定義咗連接循線模組嘅腳位。
const int linePin = 14; // 循線模組腳位嘅編號
呢行將linePin初始化為腳位14,用嚟讀取線嘅狀態。lineState變數會儲存感應器嘅結果。
喺setup()函數入面,我哋將linePin嘅腳位模式設定為輸入。
void setup() {
Serial.begin(115200);
pinMode(linePin, INPUT);
}
咁樣確保ESP32可以讀取循線模組嘅狀態。串口通訊以115200嘅波特率啟動,用嚟監察輸出。
最後,喺loop()函數入面,我哋持續讀取循線模組嘅狀態,並打印偵測到嘅顏色。
void loop() {
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
} else {
Serial.println("White");
delay(100);
}
}
呢個迴圈檢查lineState係咪HIGH(代表黑色)定LOW(代表白色),然後將結果打印到串口監察器。完整代碼會喺文章下面載入,方便你參考。
示範/預期效果
當接線完成同代碼上載之後,你應該會見到ESP32喺循線模組放喺黑色表面上面嘅時候打印「Black」,放喺白色表面上面嘅時候打印「White」。另外,當模組偵測到黑色線嘅時候,蜂鳴器會響,提供聲音提示。要小心可變電阻嘅設定,因為太敏感嘅設定可能會導致行為唔穩定(片入面10:00位置)。
影片時間戳
00:00 開始
2:22 線追蹤模組介紹
5:10 文檔頁面
9:20 接線說明
10:49 Arduino 程式碼解釋
13:36 喺 Arduino IDE 度選擇 ESP32 板同 COM 埠
15:18 示範
18:15 專案:帶蜂鳴器嘅線追蹤
19:52 線追蹤同蜂鳴器嘅 Arduino 程式碼
20:52 示範
圖片
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
line_track
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
代碼
819-ESP32 Tutorial 20/55- Arduino code line tracking
語言: C++
檢視程式碼
// Set pin number
const int linePin = 14; // The number of the line track module pin
// Variable for storing the line status
int lineState = 0;
void setup() {
Serial.begin(115200);
// Initialize the line track module pin as an input
pinMode(linePin, INPUT);
}
void loop() {
// Read the state of the line track module
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
}
else {
Serial.println("White");
delay(100);
}
}