Hướng dẫn ESP32 20/55 - Mô-đun theo dõi đường line | Bộ học IoT ESP32 của SunFounder
Trong hướng dẫn này, chúng ta sẽ học cách sử dụng mô-đun ESP32 cùng với mô-đun theo dõi đường line để phát hiện các vạch đen trên bề mặt trắng. Khả năng này rất cần thiết cho các ứng dụng như xe robot cần đi theo một lộ trình đã định. Ngoài ra, chúng ta sẽ tích hợp một còi báo động kích hoạt khi mô-đun theo dõi đường line phát hiện vạch đen, tăng cường cơ chế phản hồi của dự án. Để làm rõ hơn, vui lòng tham khảo video (trong video tại 0:00).
Giải thích phần cứng
Các thành phần chính của dự án này bao gồm mô-đun ESP32, mô-đun theo dõi đường line và còi báo động. Mô-đun ESP32 là một bộ vi điều khiển mạnh mẽ với khả năng Wi-Fi và Bluetooth tích hợp, cho phép nhiều ứng dụng IoT. Mô-đun theo dõi đường line sử dụng bộ phát hồng ngoại và điện trở quang để phát hiện sự khác biệt về màu sắc bề mặt dựa trên cường độ ánh sáng hồng ngoại phản xạ.
Mô-đun theo dõi đường line hoạt động bằng cách phát ra ánh sáng hồng ngoại phản xạ khỏi bề mặt bên dưới. Bề mặt tối hơn, như màu đen, hấp thụ nhiều ánh sáng hơn, dẫn đến cường độ phản xạ thấp hơn, trong khi bề mặt sáng hơn, như màu trắng, phản xạ nhiều ánh sáng hơn, tạo ra cường độ cao hơn. Sự khác biệt này được xử lý bởi một bộ khuếch đại thuật toán để xác định trạng thái của bề mặt (đen hoặc trắng) và xuất ra tín hiệu tương ứng.
Chi tiết bảng dữ liệu
| Nhà sản xuất | SunFounder |
|---|---|
| Số bộ phận | TCRT5000 |
| Điện áp Logic/IO | 3.3 V đến 5 V |
| Dòng điện đầu ra (mỗi kênh) | 20 mA |
| Dòng điện đỉnh (mỗi kênh) | 50 mA |
| Thời gian phản hồi | < 10 ms |
| Phạm vi phát hiện | 1 cm đến 5 cm |
| Đóng gói | Mô-đun với chân cắm header |
| Ghi chú / biến thể | Thường được sử dụng trong robot dò line |
- Đảm bảo nguồn điện phù hợp (3.3 V hoặc 5 V).
- Giữ cảm biến sạch sẽ để có kết quả đọc chính xác.
- Điều chỉnh độ nhạy bằng chiết áp trên bo mạch.
- Kiểm tra kết nối để tránh đầu vào trôi nổi.
- Sử dụng điện trở kéo lên nếu cần để có kết quả đọc ổn định.
- Giảm thiểu nhiễu từ các nguồn hồng ngoại xung quanh.
Hướng dẫn nối dây

Để nối mô-đun theo dõi đường line với ESP32, hãy bắt đầu bằng cách kết nối chân nối đất của mô-đun với một chân nối đất trên ESP32. Sau đó, kết nối chân V+ của mô-đun theo dõi đường line với nguồn điện phù hợp, 3.3 V hoặc 5 V trên ESP32. Chân tín hiệu (được đánh dấu là S) nên được kết nối với GPIO 14 trên ESP32. Đảm bảo các kết nối này chắc chắn trước khi tiếp tục.
Nếu bạn sử dụng còi báo động, hãy kết nối cực âm của nó với nối đất và cực dương với GPIO 27 trên ESP32. Thiết lập này cho phép còi báo động kích hoạt khi mô-đun theo dõi đường line phát hiện vạch đen. Hãy đảm bảo kiểm tra lại tất cả các kết nối để khớp với các chân được chỉ định trong mã.
Ví dụ mã & hướng dẫn chi tiết
Dưới đây là một đoạn mã quan trọng thiết lập mô-đun theo dõi đường line. Biến linePin được định nghĩa để đại diện cho chân kết nối với mô-đun theo dõi đường line.
const int linePin = 14; // Số chân của mô-đun theo dõi đường line
Dòng này khởi tạo linePin là chân 14, sẽ được sử dụng để đọc trạng thái đường line. Biến lineState sẽ giữ kết quả từ cảm biến.
Trong hàm setup(), chúng ta cấu hình chế độ chân cho linePin là đầu vào.
void setup() {
Serial.begin(115200);
pinMode(linePin, INPUT);
}
Điều này đảm bảo ESP32 có thể đọc trạng thái của mô-đun theo dõi đường line. Giao tiếp nối tiếp được khởi tạo ở tốc độ baud 115200 để giám sát đầu ra.
Cuối cùng, trong hàm loop(), chúng ta liên tục đọc trạng thái của mô-đun theo dõi đường line và in màu đã phát hiện.
void loop() {
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
} else {
Serial.println("White");
delay(100);
}
}
Vòng lặp này kiểm tra nếu lineState là HIGH (chỉ ra màu đen) hoặc LOW (chỉ ra màu trắng) và in kết quả ra màn hình nối tiếp. Mã đầy đủ được tải bên dưới bài viết để bạn tham khảo.
Trình diễn / Điều mong đợi
Sau khi hoàn tất việc nối dây và tải mã lên, bạn sẽ thấy ESP32 in "Black" khi mô-đun theo dõi đường line ở trên bề mặt đen và "White" khi ở trên bề mặt trắng. Ngoài ra, còi báo động sẽ kêu khi mô-đun phát hiện vạch đen, cung cấp cảnh báo âm thanh. Hãy cẩn thận với cài đặt chiết áp, vì cài đặt quá nhạy có thể dẫn đến hành vi thất thường (trong video tại 10:00).
Mốc thời gian video
- 00:00 Bắt đầu
- 2:22 Giới thiệu về mô-đun theo dõi dòng
- 5:10 Trang tài liệu
- 9:20 Giải thích cách đấu dây
- 10:49 Giải thích mã Arduino
- 13:36 Chọn bo mạch ESP32 và cổng COM trong Arduino IDE
- 15:18 Trình diễn
- 18:15 Dự án: Theo dõi dòng với còi buzzer
- 19:52 Mã Arduino cho theo dõi dòng và còi buzzer
- 20:52 Trình diễn
// 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);
}
}
Common Course Links
Common Course Files
Tài nguyên & tài liệu tham khảo
-
Tài liệuESP32 Tutorial 20/55- SunFounder doc page for line trackingdocs.sunfounder.com
Tập tin📁
Không có tệp nào khả dụng.