반응형
오늘은 10k옴 저항없이 버튼을 활용하여 피아노를 만들어보겠습니다. 저번 시간에 배운 것 처럼 풀업저항을 활용해서 만들 수 있습니다. pinMode(pinNum, INPUT_PULLUP) 를 선언해서 저항없이 버튼을 사용할 수 있습니다.
준비물
- 아두이노 우노
- 버튼
- 브레드 보드
- 점퍼선
- 수동부저
1) 버튼으로 피아노 만들기(저항 없이 버튼 사용하기)
회로도
소스코드
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
const byte melodyPin[] = {13,12,11,10,9,8,7,6}; //스위치버튼
const byte tonepin = 5; //피에조부저
const int melody[] = { NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5 }; //도레미파솔라시도
int noteDurations = 50; //톤길이
void setup()
{
for (int i = 0; i < 8; i++) {
pinMode(melodyPin[i], INPUT_PULLUP); //내부풀업스위치 설정
}
}
void loop()
{
for(int i=0;i<8;i++){ //8개의 건반을 빠르게 체크
if(digitalRead(melodyPin[i])==LOW){ //내부풀업스위치버턴 누르면
tone(tonepin, melody[i],noteDurations); //해당 스위치 버턴 음 출력
delay(noteDurations); //음길이 최소
noTone(tonepin); //음 중단
}
}
}
반응형
'피지컬컴퓨팅 > 아두이노' 카테고리의 다른 글
I2C LCD 활용하기 (0) | 2024.03.21 |
---|---|
사운드 센서(소리감지센서)를 이용한 LED제어하기 (0) | 2024.03.21 |
틴커캐드(Thinkercad)로 회로 시뮬레이션하기 (0) | 2024.03.17 |
저항없이 버튼 활용하기(LED, 모터 제어하기-선풍기 모듈) (0) | 2024.03.17 |
푸시 버튼 활용하기(LED, 모터 제어하기-선풍기 모듈) (0) | 2024.03.15 |