Bật tắt đèn bằng tiếng vỗ tay: Sáng tạo với Arduino

Tiếp tục với chuỗi bài viết tự học Arduino dành cho người mới bắt đầu, hôm nay chúng ta sẽ khám phá một dự án thú vị – Bật tắt đèn bằng tiếng vỗ tay sử dụng cảm biến âm thanh. Đây là một dự án rất thú vị cho những ai đam mê ngành điện tử.

Cảm biến âm thanh: Truyền cảm hứng từ âm thanh

Cảm biến âm thanh giúp chúng ta nhận biết và phát hiện cường độ âm thanh trong môi trường xung quanh. Nó rất thích hợp cho các ứng dụng cơ bản như nhận biết và giám sát các tiếng động xung quanh, cũng như nhiều ứng dụng thú vị khác. Độ nhạy của cảm biến có thể được điều chỉnh thông qua chiết áp trên module, giúp phù hợp với mọi nhu cầu ứng dụng của bạn.

Có một số linh kiện cơ bản như microphone, mạch khuếch đại tín hiệu, máy dò biên độ và bộ đệm được sử dụng trong cảm biến này. Khi cảm biến nhận diện âm thanh, nó sẽ thông qua mạch khuếch đại để khuếch đại tín hiệu, sau đó gửi tín hiệu kỹ thuật số qua chân “OUT”.

Thông số kỹ thuật

  • Điện áp hoạt động: 3.3V – 5V
  • Xuất ra kiểu tín hiệu: digital (0 hoặc 1)
  • Kích thước: 3.4cm * 1.6cm

Sơ đồ đấu nối và linh kiện cần thiết

Tiếp theo, chúng ta cần tạo sơ đồ đấu nối và chuẩn bị một số linh kiện. Bạn có thể tham khảo sơ đồ đấu nối và danh sách linh kiện dưới đây:

Sơ đồ đấu nối

  • Cảm biến âm thanh: 1 chiếc
  • Relay: 1 chiếc
  • Các linh kiện khác: tùy thuộc vào dự án cụ thể của bạn.

Điều khiển đèn bằng tiếng vỗ tay: Mã nguồn Arduino

Dưới đây là mã nguồn Arduino để kết nối và điều khiển đèn bằng tiếng vỗ tay:

int sound_sensor = 7;
int relay = 4;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;

void setup() {
  pinMode(sound_sensor, INPUT);
  pinMode(relay, OUTPUT);
}

void loop() {
  int status_sensor = digitalRead(sound_sensor);

  if (status_sensor == 0) {
    if (clap == 0) {
      detection_range_start = detection_range = millis();
      clap++;
    } else if (clap > 0 && millis() - detection_range >= 50) {
      detection_range = millis();
      clap++;
    }
  }

  if (millis() - detection_range_start >= 400) {
    if (clap == 2) {
      if (!status_lights) {
        status_lights = true;
        digitalWrite(relay, HIGH);
      } else if (status_lights) {
        status_lights = false;
        digitalWrite(relay, LOW);
      }
    }
    clap = 0;
  }
}

Bài viết liên quan

  • Mới học Arduino nên chọn board nào?
  • GÓC DIY | Chế tạo Robot tránh vật cản – Hướng dẫn chi tiết
  • Điều khiển Đèn 220V bằng Realy sử dụng Arduino
  • Đo nhiệt độ bằng Cảm biến LM35 sử dụng Arduino
  • Báo động chống trộm bằng cảm biến PIR (HC-SR501)

Đó là cách thú vị để tạo ra một dự án bật tắt đèn bằng tiếng vỗ tay. Hy vọng bạn đã tìm thấy thông tin hữu ích và sẽ tạo ra nhiều dự án sáng tạo hơn với Arduino!

FEATURED TOPIC