ESP32 Cảm Biến Phát Hiện Vật Cản Hồng Ngoại

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng ESP32 với cảm biến phát hiện vật cản hồng ngoại để phát hiện sự hiện diện của vật cản.

Linh Kiện Cần Thiết

1×mô-đun phát triển ESP-WROOM-32
1×Alternatively, ESP32 Uno-form board
1×Alternatively, ESP32 S3 Uno-form board
1×Cáp USB Type-C
1×Cảm Biến Phát Hiện Vật Cản IR
1×Alternatively, TCRT5000 Obstacle Avoidance Sensor
1×breadboard
1×Dây Jumper
1×(Tùy chọn) DC Power Jack
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP32
1×(Khuyến nghị) Breakout Expansion Board for ESP32
1×(Khuyến nghị) Power Splitter for ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Giới Thiệu Về Cảm Biến Phát Hiện Vật Cản IR

Cảm biến vật cản IR (hồng ngoại) được sử dụng để kiểm tra xem có vật cản nào hiện diện phía trước module cảm biến bằng cách sử dụng tín hiệu IR. Phạm vi phát hiện từ 2cm đến 30cm và có thể điều chỉnh bằng biến trở tích hợp sẵn.

Sơ Đồ Chân

Cảm biến phát hiện vật cản IR có ba chân:

  • Chân GND: kết nối chân này với GND (0V)
  • Chân VCC: kết nối chân này với VCC (5V hoặc 3.3V)
  • Chân OUT: là chân đầu ra: LOW nếu có vật cản hiện diện, HIGH nếu không có vật cản. Chân này cần được kết nối với chân input của ESP32.
ir cảm biến tránh vật cản sơ đồ chân

Nguyên Lý Hoạt Động

Module cảm biến vật cản hồng ngoại bao gồm một bộ phát IR và một bộ thu IR. Bộ phát IR phát tín hiệu IR trong khi bộ thu IR tìm kiếm tín hiệu IR phản xạ để xác định xem có vật thể hiện diện hay không. Sự hiện diện của vật cản được thể hiện ở chân OUT:

  • Nếu có vật cản hiện diện, chân OUT của cảm biến ở mức LOW
  • Nếu KHÔNG có vật cản hiện diện, chân OUT của cảm biến ở mức HIGH

※ Lưu ý:

Trong quá trình vận chuyển, cảm biến có thể bị biến dạng, điều này có thể khiến nó hoạt động không đúng. Nếu cảm biến không hoạt động bình thường, hãy điều chỉnh bộ phát và bộ thu IR để đảm bảo chúng song song với nhau.

Sơ Đồ Đấu Nối

  • Cách kết nối ESP32 và cảm biến phát hiện vật cản sử dụng breadboard
ESP32 ir cảm biến tránh vật cản sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.

how to connect ESP32 and cảm biến tránh vật cản

Cách Lập Trình Cho Cảm Biến Phát Hiện Vật Cản IR

  • Khởi tạo chân ESP32 ở chế độ digital input bằng hàm pinMode(). Ví dụ, chân GPIO18
pinMode(18, INPUT_PULLUP);
  • Đọc trạng thái của chân ESP32 bằng hàm digitalRead().
int state = digitalRead(18);

Code ESP32

Có hai trường hợp sử dụng để triển khai ứng dụng tránh vật cản:

  • Thực hiện hành động khi có vật cản hiện diện hoặc không có vật cản
  • Thực hiện hành động khi phát hiện vật cản hoặc khi vật cản được dọn sạch

Code ESP32 để kiểm tra xem có vật cản hiện diện không

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-infrared-obstacle-avoidance-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to OUT pin of IR obstacle avoidance sensor void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); if (state == LOW) Serial.println("The obstacle is present"); else Serial.println("The obstacle is NOT present"); delay(100); }

Các Bước Thực Hiện

  • Nếu đây là lần đầu bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
  • Copy code trên và paste vào Arduino IDE.
  • Biên dịch và upload code lên board ESP32 bằng cách click nút Upload trên Arduino IDE
  • Đặt một vật cản trước cảm biến trong một lúc, sau đó rút ra.
  • Xem kết quả trên Serial Monitor. Nó sẽ giống như sau:
COM6
Send
The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code ESP32 để phát hiện vật cản

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-infrared-obstacle-avoidance-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to OUT pin of IR obstacle avoidance sensor int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The obstacle is detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state lastState = currentState; }

Các Bước Thực Hiện

  • Copy code trên và paste vào Arduino IDE.
  • Biên dịch và upload code lên board ESP32 bằng cách click nút Upload trên Arduino IDE
  • Đặt một vật cản trước cảm biến trong một lúc, sau đó rút ra.
  • Xem kết quả trên Serial Monitor. Nó sẽ giống như sau:
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bình Luận

Bài hướng dẫn liên quan