ESP32 Cảm Biến Siêu Âm LCD

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng ESP32 để đo khoảng cách và hiển thị kết quả trên LCD bằng cảm biến siêu âm.

Hardware 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×LCD I2C
1×Cảm Biến Siêu Âm
1×breadboard (bo mạch thí nghiệm)
1×Dây Jumper
1×(Tùy chọn) Jack Nguồn DC
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)

Về Cảm Biến Siêu Âm và LCD

Chúng tôi có các tutorial chuyên sâu về cảm biến siêu âm và LCD. Mỗi tutorial chứa thông tin chi tiết và hướng dẫn từng bước về pinout hardware, nguyên lý hoạt động, kết nối dây với ESP32, code ESP32... Tìm hiểu thêm về chúng tại các liên kết sau:

Sơ Đồ Đấu Nối

sơ Đồ Đấu nối ESP32 cảm biến siêu Âm lcd

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.

Code ESP32

/* * 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-ultrasonic-sensor-lcd */ #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows #define TRIG_PIN 26 // ESP32 pin GPIO26 connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 25 // ESP32 pin GPIO25 connected to Ultrasonic Sensor's ECHO pin float duration_us, distance_cm; void setup() { lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight pinMode(TRIG_PIN, OUTPUT); // config trigger pin to output mode pinMode(ECHO_PIN, INPUT); // config echo pin to input mode } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Distance: "); lcd.print(distance_cm); delay(500); }

※ Lưu ý:

Địa chỉ LCD I2C có thể khác nhau tùy theo từng nhà sản xuất. Trong code, chúng tôi sử dụng địa chỉ 0x27 được chỉ định bởi nhà sản xuất DIYables

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.
  • Thực hiện đấu nối theo hình ảnh trên.
  • Kết nối bo mạch ESP32 với PC của bạn qua cáp micro USB
  • Mở Arduino IDE trên PC của bạn.
  • Chọn đúng bo mạch ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
  • Click vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
  • "LiquidCrystal I2C" vào ô tìm kiếm, sau đó tìm thư viện LiquidCrystal_I2C của Frank de Brabander
  • Click nút Install để cài đặt thư viện LiquidCrystal_I2C.
thư viện ESP32 liquidcrystal i2c
  • Sao chép code trên và dán vào Arduino IDE.
  • Biên dịch và upload code lên bo mạch ESP32 bằng cách click nút Upload trên Arduino IDE
tải mã lên Arduino IDE
  • Đặt cảm biến vào nước nóng và nước lạnh, hoặc cầm cảm biến bằng tay
  • Xem kết quả trên LCD
sơ Đồ Đấu nối ESP32 cảm biến siêu Âm lcd

This image is created using Fritzing. Click to enlarge image

Nếu LCD không hiển thị gì, hãy xem Khắc Phục Sự Cố trên LCD I2C

Giải Thích Code Từng Dòng

Code ESP32 trên chứa giải thích từng dòng. Hãy đọc các comment trong code!

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