ESP8266 Cảm biến âm thanh
Cảm biến âm thanh có khả năng phát hiện sự có mặt của âm thanh trong môi trường xung quanh. Nó có thể được sử dụng để tạo ra các dự án phản hồi theo âm thanh, như đèn bật lên khi vỗ tay hoặc một máy cho ăn thú cưng phản hồi theo tín hiệu âm thanh.
Hướng dẫn này chỉ cho bạn cách sử dụng ESP8266 và cảm biến âm thanh để phát hiện âm thanh. Chúng ta sẽ khám phá:
- Cách kết nối cảm biến âm thanh với ESP8266
- Cách lập trình ESP8266 để phát hiện âm thanh bằng cảm biến âm thanh.

Sau đó, bạn có thể chỉnh sửa mã nguồn để kích hoạt LED hoặc một đèn (sử dụng rơ-le) khi phát hiện âm thanh, hoặc thậm chí làm cho động cơ servo quay.
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 | × | Digital Sound Sensor | ||
| 1 | × | Analog Sound 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) |
Giới thiệu về Cảm biến âm thanh
Cảm biến âm thanh có thể được sử dụng để phát hiện âm thanh trong môi trường xung quanh nó. Có hai loại mô-đun cảm biến âm thanh:
- Mô-đun cảm biến âm thanh số: xuất ra giá trị tín hiệu số (BẬT/TẮT)
- Mô-đun cảm biến âm thanh analog: xuất ra cả giá trị tín hiệu analog và tín hiệu số
Độ nhạy của đầu ra kỹ thuật số có thể được điều chỉnh bằng cách sử dụng một biến trở tích hợp.
Bố trí các chân của cảm biến âm thanh số
Cảm biến âm thanh gồm ba chân:
- Chân VCC: cần được kết nối tới VCC (3.3V đến 5V)
- Chân GND: cần được kết nối tới GND (0V)
- Chân OUT: là chân đầu ra: HIGH khi yên tĩnh và LOW khi có âm thanh được phát hiện. Chân này cần được kết nối tới chân đầu vào của ESP8266.

Cảm biến âm thanh đi kèm với một biến trở tiện dụng cho phép bạn dễ dàng điều chỉnh độ nhạy của nó. Thêm vào đó, nó có hai đèn LED hiển thị:
- Một đèn LED báo hiệu trạng thái nguồn
- Một đèn LED khác báo hiệu trạng thái âm thanh: nó sáng khi có âm thanh được phát hiện và tắt khi không có âm thanh
Bố trí chân của cảm biến âm thanh analog
Cảm biến âm thanh tương tự gồm bốn chân:
- + pin: cần được kết nối với 5V
- G pin: cần được kết nối với GND (0V)
- DO pin: là một chân ra tín hiệu số: HIGH khi yên tĩnh và LOW khi có âm thanh được phát hiện. Chân này cần được kết nối với chân đầu vào số (digital input) của ESP8266.
- AO pin: là một chân ra tín hiệu analog: phát ra giá trị tương tự cho mức âm thanh. Chân này cần được kết nối với chân đầu vào analog của ESP8266.

Cách hoạt động
Mô-đun này có một biến trở tích hợp tiện lợi cho phép bạn điều chỉnh độ nhạy âm thanh. Đây là cách cảm biến hoạt động:
- Khi có âm thanh được phát hiện, chân đầu ra của cảm biến được đặt ở mức thấp.
- Khi không có âm thanh được phát hiện, chân đầu ra của cảm biến được đặt ở mức cao.
Sơ đồ đấu dây
- Sơ đồ nối dây giữa ESP8266 và cảm biến âm thanh khi cấp nguồn bằng cổng USB

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
- Sơ đồ đấu nối giữa ESP8266 và cảm biến âm thanh khi cấp nguồn qua Vin

This image is created using Fritzing. Click to enlarge image
Cách Lập Trình Cho Cảm Biến Âm Thanh
- 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(). Ví dụ, chân D7
- Đọc trạng thái của chân ESP8266 bằng cách sử dụng hàm digitalRead().
Mã ESP8266 - Phát hiện âm thanh
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:
- Hãy xem hướng dẫn cách thiết lập môi trường cho ESP8266 trên Arduino IDE nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các thành phần như hình vẽ.
- 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, như (ví dụ NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Sao chép mã ở trên và mở bằng Arduino IDE.
- Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên ESP8266.
- Vỗ tay trước cảm biến âm thanh.
- Kiểm tra kết quả trên Serial Monitor.
Xin lưu ý rằng nếu bạn nhận thấy đèn LED luôn sáng hoặc tắt, bất kể có âm thanh hay không, bạn có thể điều chỉnh độ nhạy của cảm biến âm thanh bằng cách điều chỉnh biến trở.
Bây giờ, với mã được tùy biến, chúng ta có thể làm cho nó kích hoạt một đèn LED hoặc một nguồn sáng khi phát hiện âm thanh. Thậm chí chúng ta có thể làm cho động cơ servo quay. Đối với hướng dẫn chi tiết và thông tin bổ sung, vui lòng tham khảo các bài hướng dẫn được cung cấp ở cuối hướng dẫn này.
Khắc phục sự cố
Nếu bạn gặp sự cố với cảm biến âm thanh không hoạt động đúng cách, hãy thử các bước khắc phục sự cố sau:
- Giảm rung động: Các rung động cơ học và tiếng ồn từ gió có thể ảnh hưởng đến hiệu suất của cảm biến âm thanh. Gắn nó lên một bề mặt ổn định có thể giúp giảm thiểu những nhiễu này.
- Xem xét phạm vi cảm biến: Hãy lưu ý rằng cảm biến âm thanh này có phạm vi cảm biến giới hạn, khoảng 25 cm. Để thu được các giá trị đo chính xác, hãy phát âm thanh ở gần cảm biến hơn.
- Kiểm tra nguồn cấp điện: Đảm bảo nguồn cấp điện sạch và không có nhiễu, vì cảm biến âm thanh nhạy cảm với nhiễu nguồn do đặc tính analogue của nó.
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.