코풀 로그인이 필요한 콘텐츠입니다.

로그인을 하면 코풀의 무료 학습 콘텐츠를 이용하실 수 있습니다.

"전자악기" 만들기



💡
목표

부저와 초음파센서를 이용한 “전자 악기” 만들기

1️⃣ 회로 만들기

2️⃣ 코드 작성하기

fd4e1a5b-db3d-4b2b-a63a-dd684bdfd831

1️⃣
회로 만들기
  1. 아두이노를 PC에 연결하여 포트 설정이 되어 있는 지를 확인합니다.
  1. 아두이노에 피에조부저의 I/O(13번 핀), VCC(3V3), GND를 연결합니다.
  1. 아두이노에 초음파센서의 echo(6번 핀), trig(5번 핀), VCC, GND를 연결합니다.

3f808e6c-c185-41bf-b1c0-2a8252999036



2️⃣
코드 작성하기
  1. 초음파 센서의 거리에 따라 부저의 음계가 변화합니다.
코드 에디터
#include <HuemonelabKit.h> //휴몬랩 라이브러리 사용

SonarSensor sonar(5,6); // ~5, ~6번 핀에 sonar사용
Buzzer buzzer(13); // 12번 핀에 buzzer 사용

void setup() {
Serial.begin(9600); // 시리얼 통신 속도 9600으로 설정
}

void loop() {
int value = sonar.read(); //센서가 감지한 값을 변수value에 저장
Serial.println(value); // 변수 value에 저장된 값을 출력

if(value > 15) { // value값이 15보다 클 경우
buzzer.note('e',100); //'미'음계 0.1초 출력
delay(100); // 0.1초 기다리기
} else if(value > 10) { // value 값이 10보다 크고 15보다 작을경우
buzzer.note('d',100); // '레' 음계 0.1초 출력
delay(100); // 0.1초 기다리기
} else if(value > 0) { //value 값이 0보다 크고 10보다 작을 경우
buzzer.note('c',100); // '도' 음계 0.1초 출력
delay(100); // 0.1초 기다리기
}
}
입력
실행 결과
이 곳에 결과가 표시됩니다.
💡
설명

1번 휴몬랩 라이브러리를 가져옵니다.

3번 5, 6번 핀에 연결된 초음파 센서를 ‘sonar’객체로 생성합니다.

4번 13번 핀에 연결된 피에조 부저를 ‘buzzer’객체로 생성합니다.

11번 초음파센서의 결과 값을 “value”에 저장합니다.

14번 초음파센서의 값이 15 이상일 경우 “미” 음계를 0.1초 간 출력합니다.

17번 초음파센서의 값이 10보다 크고 15보다 작을 경우 “레” 음계를 0.1초 간 출력합니다.

20번 초음파센서의 값이 10보다 작을 경우 “도” 음계를 0.1초 간 출력합니다.




🎯
결과 확인
  1. 초음파 값 거리에 따라 변화하는 부저 음계가 변화하는 것을 확인해 보셨나요?