Bài 8: Buzzer và tạo âm thanh

Mục tiêu bài học

  • Làm quen với linh kiện Buzzer (loa nhỏ).
  • Sử dụng các hàm tone()noTone() để tạo âm thanh.
  • Phát một đoạn nhạc đơn giản.

Giới thiệu về Buzzer

Buzzer là thiết bị phát âm thanh khi được cấp tín hiệu dao động. Có hai loại:

  • Active Buzzer: phát âm thanh khi cấp nguồn.
  • Passive Buzzer: cần tín hiệu dao động để phát âm thanh (thường dùng với Arduino).

Kết nối phần cứng

  • Kết nối chân dương của buzzer vào chân D11 (hoặc chân digital bất kỳ).
  • Chân âm của buzzer nối GND.

Hướng dẫn nạp code

Bước 1: Kết nối Arduino Uno với máy tính

  • Sử dụng cáp USB (loại USB A to B, giống cáp máy in).

  • Cắm một đầu vào Arduino Uno, đầu còn lại vào cổng USB của máy tính.

Bước 2: Cài đặt phần mềm Arduino IDE

Bước 3: Mở Arduino IDE và thiết lập cấu hình

  1. Mở Arduino IDE.

  2. Vào menu Tools (Công cụ)Board (Bo mạch) → chọn Arduino Uno.

  3. Vào ToolsPort → chọn đúng cổng COM (thường là COM3, COM4,... tùy máy).

    Nếu không thấy cổng COM, hãy kiểm tra driver USB hoặc cài CH340 Driver nếu Arduino dùng chip CH340.

Bước 4: Cài đặt phần mềm Arduino IDE

  • Nhấn nút Upload (mũi tên →) trên thanh công cụ.

  • Quan sát thanh trạng thái, khi hiện "Done uploading" nghĩa là nạp thành công.

Ví dụ: Phát âm thanh đơn

#define BUZZER_PIN 11

void setup() {
  tone(BUZZER_PIN, 1000);  // Phát âm thanh tần số 1000Hz
  delay(1000);             // Kêu trong 1 giây
  noTone(BUZZER_PIN);      // Tắt âm thanh
}

void loop() {
  // Không cần gì thêm
}

Phát nhạc đơn giản (mã hóa giai điệu)

#define BUZZER_PIN 11

int melody[] = {
  262, 294, 330, 349, 392, 440, 494, 523
};

void setup() {
  for (int i = 0; i < 8; i++) {
    tone(BUZZER_PIN, melody[i]);
    delay(300);
    noTone(BUZZER_PIN);
    delay(100);
  }
}

void loop() {
}
🎵

Một số hàm chính

Hàm Chức năng
tone(pin, frequency) Phát âm thanh với tần số xác định (Hz) trên chân pin.
tone(pin, frequency, duration) Phát âm thanh với tần số và thời gian xác định (ms).
noTone(pin) Dừng phát âm thanh trên chân pin.

Bài tập mở rộng

  • Tạo bản nhạc “Happy Birthday”.
  • Kết hợp Buzzer với nút nhấn: nhấn phát âm thanh.
  • Kết hợp LED nhấp nháy cùng Buzzer phát tiếng còi báo động.

Nhận xét

Mới hơn Cũ hơn