ESP32 Cảm Biến Âm Thanh LED
Trong hướng dẫn này, chúng ta sẽ khám phá cách sử dụng cảm biến âm thanh để điều khiển LED. Cụ thể, chúng ta sẽ tìm hiểu hai ứng dụng thú vị:
- Công tắc âm thanh: Khi phát hiện âm thanh (ví dụ tiếng gõ), ESP32 sẽ chuyển đổi trạng thái LED, bật nếu đang tắt và tắt nếu đang bật.
- LED kích hoạt bằng âm thanh: Khi phát hiện âm thanh, ESP32 sẽ bật LED trong một khoảng thời gian cụ thể.
Phần Cứng 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 Âm Thanh | ||
| 1 | × | LED Kit | ||
| 1 | × | LED (red) | ||
| 1 | × | LED Module | ||
| 1 | × | Điện trở 220 ohm | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Jumper | ||
| 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ề LED và Cảm Biến Âm Thanh
Nếu bạn chưa biết về LED và cảm biến âm thanh (sơ đồ chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu trong các hướng dẫn sau:
Sơ Đồ Kết Nối

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 - Công Tắc Âm Thanh Chuyển Đổi LED
Đoạn code dưới đây sẽ chuyển đổi trạng thái của LED mỗi khi phát hiện âm thanh.
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 kết nối theo sơ đồ trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và COM port.
- Kết nối ESP32 với PC qua cáp USB
- Mở Arduino IDE, chọn đúng board và port
- Copy code trên và mở bằng Arduino IDE
- Click nút Upload trên Arduino IDE để tải code lên ESP32

- Vỗ tay trước mặt cảm biến âm thanh
- Quan sát sự thay đổi trạng thái của LED
Giải Thích Code
Đọc giải thích từng dòng trong phần comment của source code!
Code ESP32 - LED Kích Hoạt Bằng Âm Thanh Trong Một Khoảng Thời Gian
Đoạn code dưới đây sẽ bật LED trong một khoảng thời gian khi phát hiện âm thanh. Sau khoảng thời gian đó, LED sẽ tự động tắt.
Vui lòng lưu ý rằng đoạn code trước sử dụng hàm delay(), dễ hiểu nhưng có thể gây ra vấn đề blocking khi thêm code khác. Để khắc phục điều này, đoạn code sau sử dụng phương pháp non-blocking bằng thư viện ezLED. Thư viện ezLED hoạt động ẩn bên trong, sử dụng hàm millis() thay vì delay để tránh blocking.
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 kết nối theo sơ đồ trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và COM port.
- Kết nối ESP32 với PC qua cáp USB
- Mở Arduino IDE, chọn đúng board và port
- Click vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm "ezLED", sau đó tìm thư viện led của ArduinoGetStarted
- Click nút Install để cài đặt thư viện ezLED.

- Copy code trên và mở bằng Arduino IDE
- Click nút Upload trên Arduino IDE để tải code lên ESP32

- Vỗ tay trước mặt cảm biến âm thanh
- Quan sát sự thay đổi trạng thái của LED
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.