아두이노

아두이노 피에조 부저 알람 만들기 – tone() 함수로 소리 제어하는 완벽 가이드

게임교수 2025. 4. 19. 17:24
반응형

아두이노 피에조 부저 알람 만들기 – tone() 함수로 소리 제어하는 완벽 가이드

소리로 피드백을 주는 가장 쉬운 방법, 바로 부저(Buzzer)입니다!
이번 글에서는 피에조(Piezo) 부저를 사용해 아두이노에서 경고음이나 알림음을 만들어보는 방법을 소개합니다. tone() 함수의 기본 사용법부터 다양한 음 조합, 버튼과의 연동까지 쉽게 따라할 수 있도록 설명드릴게요.

📦 준비물

  • 아두이노 UNO
  • 피에조 부저 (Passive 타입 권장)
  • 브레드보드
  • 점퍼 와이어
  • 버튼 (옵션)

🔍 피에조 부저란?

피에조 부저는 전압을 가하면 진동하며 소리를 내는 소형 음향 장치입니다. Active 부저는 전원을 공급하면 자동으로 소리가 나지만, Passive 부저는 tone() 함수를 이용해 다양한 주파수의 음을 직접 제어할 수 있어 유용합니다.

아두이노용 피에조 부저 이미지

⚙️ 회로 구성

부저 핀아두이노 연결
+ (긴 다리)디지털 8번
-GND

💻 기본 코드 – tone()으로 소리 내기

int buzzer = 8;

void setup() {
  tone(buzzer, 1000); // 1kHz 톤 발생
  delay(1000);
  noTone(buzzer);     // 소리 끄기
}

void loop() {
  // 반복 없음
}

🎶 멜로디 예제: 도레미

여러 주파수를 조합하면 멜로디도 만들 수 있습니다.

int buzzer = 8;

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

void loop() {}

🧠 버튼과 부저 연동 예제

int buzzer = 8;
int button = 7;

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

void loop() {
  if (digitalRead(button) == LOW) {
    tone(buzzer, 1000);
  } else {
    noTone(buzzer);
  }
}

📌 활용 아이디어

  • 📣 문 열림 알람: 도어 센서와 연결
  • 🚨 가스/화재 경고 시스템: 센서와 연계
  • 🔔 주차 센서 소리 피드백: 초음파 거리 감지와 연동

✅ 마무리

부저는 단순하지만 프로젝트의 완성도를 높이는 데 큰 역할을 합니다. 사용자가 시스템의 동작 여부를 소리로 직관적으로 알 수 있기 때문이죠.

다음 글에서는 지금까지 배운 내용을 통합한 아두이노 종합 프로젝트로 이어집니다. 감사합니다 😊


Arduino 시리즈 17편 | 작성자: YT

반응형