아두이노

아두이노로 부저 제어하기 — 비프음 출력 & 멜로디 연주

게임교수 2025. 4. 18. 07:22
반응형

🔔 아두이노로 부저 제어하기 — 비프음 출력 & 멜로디 연주

이번 실습에서는 아두이노로 **부저(Buzzer)를 제어**해봅니다. 부저는 전기를 이용해 간단한 **경고음 또는 멜로디를 출력**할 수 있는 장치로, 전자 회로에서 소리 출력을 담당하는 대표적인 부품입니다.

아두이노에서는 tone() 함수를 이용해 주파수 기반의 음을 생성할 수 있으며, 디지털 출력 or PWM 방식

🔎 부저의 종류

  • 액티브 부저: 전압만 걸면 일정한 소리를 냄. 주파수 제어 불가
  • 패시브 부저: 주파수를 인가하면 다양한 음 출력 가능 (tone 함수 활용)

🧰 준비물

  • 아두이노 UNO
  • 패시브 부저 1개
  • 브레드보드
  • 100Ω 저항 (필요 시)
  • 점퍼선

🔌 회로 연결

  • 부저 +단자 → D9
  • 부저 -단자 → GND

아두이노 부저 회로 연결도

💻 코드 작성 ①: 경고음 출력 (Beep)

int buzzer = 9;

void setup() {
  pinMode(buzzer, OUTPUT);
}

void loop() {
  tone(buzzer, 1000); // 1000Hz 비프음
  delay(500);
  noTone(buzzer);     // 음 끔
  delay(500);
}

tone(pin, frequency): 해당 핀에 지정된 주파수의 PWM 신호 생성 noTone(pin): 해당 핀의 소리 출력을 종료

💻 코드 작성 ②: 간단한 멜로디 출력

int buzzer = 9;

void setup() {
  tone(buzzer, 262); // 도
  delay(300);
  tone(buzzer, 294); // 레
  delay(300);
  tone(buzzer, 330); // 미
  delay(300);
  tone(buzzer, 349); // 파
  delay(300);
  noTone(buzzer);
}

void loop() {
}

위 예제는 "도레미파" 4음을 300ms 간격으로 순서대로 출력합니다.

✅ 실습 확인 포인트

  • tone() 함수 사용 시 패시브 부저여야 다양한 음 조절 가능
  • 액티브 부저는 단순 ON/OFF 제어만 가능
  • 부저는 연결극성이 있으므로 +, - 방향 주의

📚 마무리

이번 실습을 통해 아두이노로 **소리를 출력하는 방법**을 익혔습니다. tone 함수를 사용하면 다양한 효과음을 만들어낼 수 있고, 버튼 입력 등과 연계해 **경고음, 알림음, 효과음** 구현도 가능합니다.

다음 7편에서는 아두이노와 **I2C LCD 또는 캐릭터 LCD**를 연결해 데이터를 시각적으로 출력하는 방법을 배워볼 거예요. 드디어 **디스플레이 출력의 시작!** 준비되셨죠? 😊

반응형