이번에는 부저(buzzer)를 이용한 실험을 해 보겠다. 부저는 소리를 내는 부품으로서 소리 파형을 만들어서 인가하여야 하는 것과 그냥 전압을 걸면 소리가 나는 두 가지 종류가 있으나 실험의 편의상 후자를 택해서 진행한다.
[그림 1] 부저의 외형
부저는 극성이 있으며 조금 긴 다리가 (+)극이고 짧은 쪽은 (-)이다. 극성에 맞게 전압을 걸면 삐~~ 하는 소리가 발생한다. 아두이노 우노의 11번 핀에 부저의 (+)를 꽂으면 (-)핀은 GND에 들어맞게 되어 있다.
[그리 2] 아두이노의 11번 핀에 부저의 (+)를, GND핀에 (-)를 연결했다.
이렇게 연결했다면 부저를 울리는 것은 LED를 동작시키는 것과 똑같다. 단순히 1초 간격으로 삑삑 거리는 프로그램은 다음과 같이 하면 된다.
#define BUZ 11 void setup() {pinMode(BUZ, OUTPUT);}void loop() {digitalWrite(BUZ, HIGH); // 부저가 울리기 시작한다.delay(50);digitalWrite(BUZ, LOW); // 부저가 멈춘다delay(950);} |
이 예제에서는 부저가 울리는 시간을 50ms로 설정했으므로 짧은 시간 동안 ‘삑’하는 소리가 날 것이다. loop()함수 안에 있으므로 이것이 1초 간격으로 반복된다.
두 번째 예제로 13번 핀에 물려 있는 LED와 조합해서 동작하도록 해보자. LED는 0.5초마다 한 번씩 켜지고 부저는 1초 마다 한 번씩 울리게 해서 마치 타이머처럼 동작하도록 하는 예제이다.
#define LED 13 #define BUZ 11 void setup() {pinMode(LED, OUTPUT);pinMode(BUZ, OUTPUT);}void loop() {digitalWrite(LED, HIGH);digitalWrite(BUZ, HIGH);delay(50);digitalWrite(BUZ, LOW);delay(200);digitalWrite(LED, LOW);delay(250);digitalWrite(LED, HIGH);delay(250);digitalWrite(LED, LOW);delay(250);} |
'하드웨어 > 아두이노' 카테고리의 다른 글
아두이노 디지털 포트를 이용한 택스위치 실험 (0) | 2015.05.21 |
---|---|
아두이노 디지털 포트를 이용한 터치 센서 실험 (0) | 2015.05.21 |
아두이노를 내장 LED 깜박이기 (0) | 2015.05.21 |
아두이노 디지털 포트의 개념 (1) | 2015.05.21 |
아두이노의 기본 개발 환경 (0) | 2015.05.21 |