Arduino UNO R4 Cảm Biến Âm Thanh

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng Arduino UNO R4 và cảm biến âm thanh để phát hiện âm thanh. Chúng ta sẽ tìm hiểu các chi tiết sau:

Arduino UNO R4 cảm biến âm thanh

Sau này, bạn có thể điều chỉnh mã để bật LED hoặc đèn (sử dụng relay) khi nghe thấy âm thanh, hoặc thậm chí làm servo motor quay.

Phần Cứng Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×Cảm Biến Âm Thanh Digital
1×Cảm Biến Âm Thanh Analog
1×Dây Jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Cảm Biến Âm Thanh

Bạn có thể sử dụng cảm biến âm thanh để phát hiện âm thanh xung quanh. Có hai loại module cảm biến âm thanh:

  • Module cảm biến âm thanh digital: đưa ra tín hiệu ON hoặc OFF đơn giản.
  • Module cảm biến âm thanh analog: xuất ra cả giá trị liên tục và tín hiệu ON/OFF.

Bạn có thể điều chỉnh độ nhạy của đầu ra digital bằng potentiometer tích hợp.

Sơ Đồ Chân Cảm Biến Âm Thanh Digital

Cảm biến âm thanh digital có ba chân:

  • Chân VCC: Kết nối với VCC (3.3V đến 5V).
  • Chân GND: Kết nối với GND (0V).
  • Chân OUT: Đây là chân đầu ra. Nó hiển thị HIGH khi im lặng và LOW khi phát hiện âm thanh. Kết nối chân này với chân đầu vào của Arduino UNO R4.
cảm biến âm thanh sơ đồ chân
image source: diyables.io

Cảm biến âm thanh bao gồm một potentiometer để điều chỉnh độ nhạy. Nó cũng có hai đèn LED báo hiệu.

  • Một đèn LED báo nguồn
  • Một đèn LED báo âm thanh: sáng khi có âm thanh, tắt khi im lặng

Sơ Đồ Chân Cảm Biến Âm Thanh Analog

Cảm biến âm thanh analog có bốn chân:

  • Chân +: nên kết nối với 5V.
  • Chân G: nên kết nối với GND (0V).
  • Chân DO: là chân đầu ra digital. Nó ở mức HIGH khi im lặng và LOW khi phát hiện âm thanh. Kết nối chân này với chân đầu vào digital của Arduino UNO R4.
  • Chân AO: là chân đầu ra analog. Nó gửi mức âm thanh dưới dạng giá trị analog. Kết nối chân này với chân đầu vào analog của Arduino UNO R4.
analog cảm biến âm thanh sơ đồ chân
image source: diyables.io

Cảm biến âm thanh analog bao gồm một potentiometer tích hợp hữu ích. Điều này cho phép bạn dễ dàng thay đổi độ nhạy cho đầu ra digital. Nó cũng có hai đèn LED báo hiệu.

  • Một đèn LED hiển thị nguồn có bật không.
  • Một đèn LED khác hiển thị có âm thanh không. Nó sáng khi có âm thanh và tắt khi im lặng.

Cách Hoạt Động

Module bao gồm một potentiometer có thể điều chỉnh để kiểm soát độ nhạy với âm thanh.

  • Khi cảm biến nghe thấy âm thanh, chân đầu ra của nó ở mức LOW.
  • Khi cảm biến không nghe thấy âm thanh, chân đầu ra của nó ở mức HIGH.

Sơ Đồ Kết Nối

Arduino UNO R4 cảm biến âm thanh sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Cách Lập Trình Cho Cảm Biến Âm Thanh

  • Thiết lập chân Arduino UNO R4 làm đầu vào digital bằng hàm pinMode(). Ví dụ, chân 8
pinMode(8, INPUT);
  • Sử dụng hàm digitalRead() để kiểm tra trạng thái của một chân trên Arduino UNO R4.
int soundState = digitalRead(8);

Mã Arduino UNO R4 - Phát Hiện Âm Thanh

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 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/arduino-uno-r4/arduino-uno-r4-sound-sensor */ #define SENSOR_PIN 8 // The Arduino UNO R4 pin connected to OUT pin of the sound sensor int prev_sound_state = HIGH; // the previous state from the input pin int sound_state; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: sound_state = digitalRead(SENSOR_PIN); if (prev_sound_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_sound_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_sound_state = sound_state; }

Các Bước Nhanh

Làm theo các hướng dẫn này từng bước:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Kết nối cảm biến âm thanh với Arduino Uno R4 theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi chạy Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Sao chép mã và mở nó trong Arduino IDE.
  • Nhấn nút Upload trong Arduino IDE để gửi mã đến Arduino UNO R4.
  • Vỗ tay gần cảm biến âm thanh.
  • Kiểm tra kết quả trên Serial Monitor.
COM6
Send
The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Nếu bạn thấy đèn LED sáng liên tục hoặc tắt nguyên cả khi có âm thanh, bạn có thể thay đổi cài đặt của potentiometer để điều chỉnh phản ứng của cảm biến với âm thanh tốt hơn.

Khắc Phục Sự Cố

Nếu cảm biến âm thanh không hoạt động đúng, hãy thử các bước sau:

  • Điều chỉnh độ nhạy: bạn có thể tinh chỉnh độ nhạy của cảm biến bằng cách điều chỉnh potentiometer.
  • Giảm rung động: Cảm biến âm thanh có thể nhận rung động và tiếng ồn gió. Việc gắn nó vào bề mặt chắc chắn giúp giảm những rung động này.
  • Xem xét phạm vi cảm biến: Hãy nhớ rằng cảm biến âm thanh này chỉ có thể phát hiện âm thanh trong phạm vi 10 inch. Để có kết quả chính xác, hãy tạo âm thanh gần cảm biến.
  • Kiểm tra nguồn cung cấp: Đảm bảo nguồn cung cấp ổn định vì cảm biến âm thanh, là mạch analog, bị ảnh hưởng bởi nhiễu nguồ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.

Bình Luận

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