본문 바로가기

메이킹/아두이노

저항없이 버튼사용하기(아두이노 버튼 피아노 만들기)

반응형

오늘은 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); //음 중단
    }
  }
}
반응형