Bật tắt đèn bằng tiếng vỗ tay (Cảm biến âm thanh) sử dụng Arduino

Bật tắt đèn bằng tiếng vỗ tay (Cảm biến âm thanh) sử dụng Arduino

Tiếp tục chủ đề tự học Arduino dành cho người mới bắt đầu, trong nội dung bài viết hôm nay mình sẽ hướng dẫn cho các bạn cách làm một dự án Bật tắt đèn bằng tiếng vỗ tay sử dụng cảm biến âm thanh một dự án thật thú vị cho những người đam mê ngành điện tử.

Để hiểu hơn về cấu tạo và cách hoạt động của tất cả cảm biến có trong dự án .Các bạn có thể tìm đọc bài viết về Arduino miễn phí dành cho người mới nhập môn.

Cảm biến âm thanh

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

Nó sử dụng một microphone, mạch khuếch đại tín hiệu, máy dò biên độ và bộ đệm. Khi phát hiện âm thanh nó sẽ qua mạch khuếch đại để khuếch đại tín hiệu rồi gửi tín hiệu digital qua chân “OUT”.

cam-bien-am-thanh-arduino
Cảm biến âm thanh arduino

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

Sơ đồ đấu nối mạch

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
Arduino Uno R3 1 Mua ngay
Cáp nạp 1 Mua ngay
Relay 5V/1 kênh 1 Mua ngay
Dây cắm (Đực – Cái) 1 Mua ngay
Cảm biến âm thanh 1 Mua ngay

Bạn sẽ học được gì

  • Có kiến thức cơ bản về Robotics
  • Chế tạo Robot dò đường thông minh
  • Đánh thức nhà khoa học bên trong bạn
  • Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
  • Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
  • Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế

KHÓA HỌC
CHẾ TẠO ROBOT DÒ ĐƯỜNG

Đã có 284 học viên đăng ký

Code cảm biến âm thanh Arduino

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

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments