ESP8266 Cảm biến chướng ngại vật

Bài hướng dẫn này hướng dẫn bạn cách sử dụng ESP8266 với cảm biến tránh vật cản hồng ngoại. Cụ thể, chúng ta sẽ tìm hiểu:

Phần cứng cần chuẩn bị

1×ESP8266 NodeMCU ESP-12E
1×Recommended: ESP8266 NodeMCU ESP-12E (Uno-form)
1×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×IR Obstacle Avoidance Sensor
1×Alternatively, TCRT5000 Obstacle Avoidance Sensor
1×dây jumper
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP8266
1×(Khuyến nghị) Power Splitter for ESP8266 Type-C

Or you can buy the following kits:

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

Về cảm biến tránh vật cản bằng tia hồng ngoại

Cảm biến chướng ngại hồng ngoại được thiết kế để phát hiện sự có mặt của bất kỳ chướng ngại vật nào trên đường đi của nó bằng tín hiệu hồng ngoại. Phạm vi phát hiện của nó từ 2 cm đến 30 cm, có thể được điều chỉnh bằng một biến trở tích hợp.

Bản đồ các chân của cảm biến phát hiện chướng ngại vật bằng tia hồng ngoại

Cảm biến tránh vật cản IR có ba chân:

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

Cách hoạt động

Mô-đun cảm biến chướng ngại vật hồng ngoại có bộ phát hồng ngoại tích hợp và bộ thu hồng ngoại. Bộ phát hồng ngoại phát ra tín hiệu hồng ngoại. Bộ thu dò tín hiệu phản xạ để xác định có vật thể hay không. Chân OUT cho biết sự có mặt của một chướng ngại vật:

  • Nếu có vật chắn cảm biến, chân OUT sẽ ở mức LOW
  • Nếu không có vật chắn cảm biến, chân OUT sẽ ở mức HIGH

※ Lưu ý:

Trong quá trình vận chuyển, cảm biến này có thể bị biến dạng, điều này có thể dẫn đến sự cố hoạt động. Nếu bạn nhận thấy cảm biến không hoạt động đúng, hãy thử điều chỉnh bộ phát IR và bộ nhận IR để chúng nằm song song với nhau.

Sơ đồ đấu dây

sơ đồ nối dây cảm biến ir tránh vật cản ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Xem thêm Sơ đồ chân ESP8266Cách cấp nguồn cho ESP8266.

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

  • Khởi tạo chân ESP8266 ở chế độ đầu vào kỹ thuật số bằng cách sử dụng hàm pinMode() (pinMode()). Ví dụ, chân D7:
pinMode(D7, INPUT_PULLUP);
  • Đọc trạng thái chân ESP8266 thông qua hàm digitalRead().
int state = digitalRead(D7);

Mã ESP8266

Có hai cách tiếp cận để lập trình cho một ứng dụng tránh chướng ngại vật:

  • Hành động khi chướng ngại vật có mặt hoặc không có mặt
  • Hành động khi chướng ngại vật được phát hiện hoặc được loại bỏ

Mã ESP8266 để kiểm tra xem có vật cản hay không

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU 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/esp8266/esp8266-obstacle-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to OUT pin of IR obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266 NodeMCU's pin as an input 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); }

Hướng dẫn từng bước

Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:

  • Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
  • Nối các thành phần theo sơ đồ.
  • Nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
  • Mở Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch ESP8266 phù hợp, ví dụ NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng.
  • Sao chép mã và mở nó trong Arduino IDE.
  • Nhấp nút Tải lên để gửi mã tới ESP8266.
  • Đặt một vật cản trước cảm biến và sau đó bỏ nó.
  • Kiểm tra kết quả trên Serial Monitor.
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  

Mã ESP8266 cho việc phát hiện chướng ngại vật

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU 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/esp8266/esp8266-obstacle-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to OUT pin of IR obstacle avoidance sensor int prev_state = HIGH; // The previous state from the input pin int obstacle_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_state = obstacle_state; }

Hướng dẫn từng bước

  • Nối các thành phần như được hiển thị trên sơ đồ.
  • Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
  • Mở Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch ESP8266 phù hợp, ví dụ như NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
  • Sao chép mã ở trên và mở nó trong Arduino IDE.
  • Nhấp vào nút Tải lên trong Arduino IDE để gửi mã đến ESP8266.
  • Đặt một vật cản trước cảm biến trong một lúc, sau đó bỏ nó đi.
  • Kiểm tra kết quả trong Serial Monitor.
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.

Tham khảo các hàm

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