Search Code

Hướng dẫn ESP32 19/55 - Phát hiện chướng ngại vật bằng cảm biến hồng ngoại | Bộ học IoT ESP32 của SunFounder

Hướng dẫn ESP32 19/55 - Phát hiện chướng ngại vật bằng cảm biến hồng ngoại | 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 cảm biến tránh vật cản hồng ngoại với mô-đun ESP32 để phát hiện vật cản. Dự án này sẽ minh họa cách cảm biến có thể kích hoạt còi khi phát hiện vật cản. Thiết lập cũng sẽ hiển thị trạng thái phát hiện trên màn hình nối tiếp, cung cấp một cách rõ ràng và tương tác để quan sát chức năng của cảm biến.

Chúng ta sẽ làm việc với Bộ học IoT ESP32 của SunFounder, bao gồm vi điều khiển ESP32 được trang bị khả năng Wi-Fi và Bluetooth. Cảm biến hồng ngoại hoạt động bằng cách phát ra ánh sáng hồng ngoại, ánh sáng này sẽ phản xạ lại từ các vật cản gần đó. Khi ánh sáng được phản xạ trở lại, cảm biến sẽ kích hoạt tín hiệu đầu ra mà chúng ta sẽ đọc trong mã. Chúng ta cũng sẽ bao gồm một còi kích hoạt khi phát hiện vật cản, cung cấp cảnh báo âm thanh.

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, cảm biến tránh vật cản hồng ngoại và còi. Mô-đun ESP32 đóng vai trò là bộ xử lý trung tâm, xử lý đầu vào cảm biến và điều khiển đầu ra. Nó có thể được cấp nguồn bằng pin lithium, giúp nó di động và linh hoạt cho nhiều ứng dụng khác nhau.

Cảm biến tránh vật cản hồng ngoại bao gồm một bộ phát và một bộ thu. Bộ phát phát ra ánh sáng hồng ngoại, trong khi bộ thu phát hiện ánh sáng phản xạ từ các vật thể gần đó. Khi có vật cản, chân đầu ra của cảm biến chuyển xuống mức thấp, báo hiệu ESP32 thực hiện hành động, chẳng hạn như bật còi.

Chi tiết bảng dữ liệu

Nhà sản xuấtSunFounder
Số bộ phậnCảm biến tránh vật cản hồng ngoại
Điện áp hoạt động3,3 V - 5 V
Loại đầu raKỹ thuật số (Mức thấp khi phát hiện vật cản)
Phạm vi phát hiệnLên đến 20 cm
Thời gian phản hồiDưới 10 ms
Đóng góiMô-đun

  • Nguồn điện: 3,3 V đến 5 V để hoạt động.
  • Tín hiệu đầu ra chuyển xuống mức thấp khi phát hiện vật cản.
  • Độ nhạy có thể điều chỉnh qua chiết áp.
  • Phạm vi phát hiện điển hình lên đến 20 cm.
  • Thời gian phản hồi nhanh dưới 10 ms.

Hướng dẫn đấu dây

ESP32-19-obstacle_voide-wiring

Để đấu dây cảm biến tránh vật cản hồng ngoại với ESP32, bắt đầu bằng cách kết nối chân VCC của cảm biến với chân 5V trên ESP32. Tiếp theo, kết nối chân GND của cảm biến với một trong các chân GND trên ESP32. Cuối cùng, kết nối chân OUT của cảm biến với chân GPIO 14 trên ESP32.

Đối với còi, kết nối cực âm với GND và cực dương với chân GPIO 27. Đảm bảo tất cả các kết nối an toàn và cảm biến được cấp nguồn chính xác. Việc đấu dây phải đơn giản, vì cảm biến và còi chỉ yêu cầu kết nối nguồn và tín hiệu đơn giản.

Ví dụ mã & hướng dẫn chi tiết

Trong mã, trước tiên chúng ta định nghĩa chân kết nối với cảm biến tránh vật cản. Điều này được thực hiện bằng cách sử dụng định danh avoidPin được đặt thành 14. Chúng ta cũng khai báo một biến avoidState để giữ trạng thái đầu ra của cảm biến.

const int avoidPin = 14;  // số của chân mô-đun tránh vật cản

int avoidState = 0;

Trong hàm setup, chúng ta khởi tạo giao tiếp nối tiếp và đặt avoidPin làm đầu vào. Điều này cho phép ESP32 đọc trạng thái đầu ra của cảm biến.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

Trong hàm loop, chúng ta liên tục đọc đầu ra của cảm biến bằng digitalRead(avoidPin) và lưu kết quả vào avoidState. Giá trị này sau đó được in ra màn hình nối tiếp, cho phép chúng ta thấy khi phát hiện vật cản (đầu ra sẽ là 0) hoặc không (đầu ra sẽ là 1).

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Đối với mã đầy đủ, vui lòng tham khảo phần tải xuống bên dưới bài viết.

Trình diễn / Điều gì sẽ xảy ra

Khi thiết lập hoàn tất và mã được tải lên, bạn sẽ thấy màn hình nối tiếp hiển thị 0 hoặc 1 tùy thuộc vào việc có vật cản được phát hiện hay không. Khi có vật cản trong phạm vi phát hiện, đầu ra sẽ đọc là 0 và còi sẽ kêu. Nếu vật cản được loại bỏ, đầu ra sẽ đọc là 1 và còi sẽ dừng. Chức năng này được trình diễn trong video (trong video tại 12:30).

Các vấn đề phổ biến có thể bao gồm đấu dây sai, có thể dẫn đến cảm biến không hoạt động đúng, hoặc tốc độ baud không khớp trong màn hình nối tiếp, ngăn dữ liệu hiển thị chính xác. Hãy đảm bảo kiểm tra các khía cạnh này nếu bạn gặp sự cố.

Mốc thời gian video

  • 00:00 Bắt đầu
  • 1:57 Giới thiệu dự án
  • 4:33 Đấu dây tránh vật cản
  • 5:55 Mã Arduino cho tránh vật cản
  • 7:36 Chọn bảng ESP32 và cổng COM trên Arduino IDE
  • 9:18 Trình diễn dự án
  • 10:42 Điều chỉnh độ nhạy tăng phạm vi
  • 12:39 Thực hiện hành động khi phát hiện vật cản
  • 14:24 Sử dụng còi khi phát hiện vật cản

Hình ảnh

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Ngôn ngữ: C++
// set pin
const int avoidPin = 14;  // the number of the avoid avoid module pin

// variable for storing the avoid status 
int avoidState = 0;

void setup() {
  Serial.begin(115200);  
  // initialize the avoid pin as an input
  pinMode(avoidPin, INPUT);
}

void loop() {
  // read the state of the avoid value
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

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

Tập tin📁

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