int Buzzer_Pin = 3; // 디지털 3번핀에 수동 부저 + 연결
int Button= 2; //디지털 2번핀에 스위치 연결
int Tones[9] = {0, 261, 293, 329, 349, 392, 440, 493, 523};
//    더미 도 레 미 파 솔 라 시
int Tones_Number; // Tones에 들어갈 변수
char key; // 현재키값 변수
bool key_flag; // 키 플래그 변수

void setup()
{
  // 초기화
  pinMode(Button,INPUT); //버튼은 입력으로 설정
  pinMode(Buzzer_Pin,OUTPUT); //버튼은 입력으로 설정
}
/*
1개의 택트 스위치로 피아노 연주하듯이 소리 낸다
*/
void loop()
{
  // 무한루프
  if(digitalRead(Button)==LOW)  //상승 엣지 검출(먼저 초기에 LOW레벨 여부 확인, 버튼 누르기 전)
  {
    key_flag = 1;
  }
  if((digitalRead(Button)==HIGH) && (key_flag == 1)) //HIGH레벨 여부 확인 (버튼이 눌러진 상태)
  {
     key_flag = 0; //키값 초기화 
     key++; // 키값 카운트
     if(key >8) // 키값이 8 이상이 되면 
     {
      key = 0; //키 값 초기화, 키 값 초기화 후 수동 부저 음 끔
     }
  }
 if(key == 0)
 {
  noTone(Buzzer_Pin);
 }
else tone(Buzzer_Pin, Tones[key]); // 입력 된 키값에 따라 다른 음을 출력
}