Search Code

Hướng dẫn ESP32 20/55 - Mô-đun theo dõi đường line | Bộ học IoT ESP32 của SunFounder

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).

line_track

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

ESP32-20_line-tracking-wiring

Để 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ã.

ESP32-20_line-tracking-schemtaic

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

Hình ảnh

ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
ESP32-20_line-tracking-wiring
line_track
line_track
819-ESP32 Tutorial 20/55- Arduino code line tracking
Ngôn ngữ: 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);
  }
}

Tài nguyên & tài liệu tham khảo

Tập tin📁

Không có tệp nào khả dụng.