int pin = 11;
int ti = 1000;
int E_4 = 330;
int G_4 = 392;
int A_4 = 440;
int notes[] = {G_4, G_4, A_4, A_4, G_4, G_4, E_4};
int durs[] = {ti, ti, ti, ti, ti, ti, 2*ti};
void setup() {
for(int i = 0; i < 7 ; i++) {
tone(pin, notes[i], durs[i]);
delay(durs[i]);
}
}
void loop() {
}
int pin = 11;
int ti = 1000;
int E_4 = 330;
int G_4 = 392;
int A_4 = 440;
void setup() {
tone(pin, G_4, ti);
delay(ti);
tone(pin, G_4, ti);
delay(ti);
tone(pin, A_4, ti);
delay(ti);
tone(pin, A_4, ti);
delay(ti);
tone(pin, G_4, ti);
delay(ti);
tone(pin, G_4, ti);
delay(ti);
tone(pin, E_4, 2*ti);
delay(2*ti);
}
void loop() {
}
int pin = 11;: 소리를 내는 피에조 부저를 아두이노의 11번 핀에 연결했어요.
int ti = 1000;: 이건 각각의 음이 얼마나 오래 울리는지를 정해요. 여기서는 1초로 정했어요.
int E_4 = 330;, int G_4 = 392;, int A_4 = 440;: 여기서는 우리가 낼 수 있는 각각 다른 음들을 정하고, 각 음들은 다른 주파수를 가지고 있어요.
int notes[] = {G_4, G_4, A_4, A_4, G_4, G_4, E_4};: 여기에는 우리가 연주할 음들의 순서를 정리했어요.
int durs[] = {ti, ti, ti, ti, ti, ti, 2*ti};: 여기에는 각 음들이 얼마나 오래 울려야 하는지 시간을 정리했어요. 마지막 음은 2초 동안 울려요.
여기서는 우리가 위에서 정한 음의 순서와 그 지속 시간에 따라 음악을 연주하게 돼요. 'for 루프'라는 기법을 사용해서 각각의 음을 차례대로 연주해요.
예를 들어, 첫 번째 루프에서 tone(pin, notes[0], durs[0]);는 핀 11에서 주파수 392Hz(G4)의 소리를 1초 동안 발생시켜요. 그리고 delay(durs[0]);는 1초 동안 대기해요.
이 부분은 아두이노가 음악을 한 번 연주하고 나면 계속 반복해서 실행되는데, 우리는 아무것도 넣지 않았으니 아무 일도 하지 않게 됩니다.
(i<7)에서 음의 갯수를 잘못 넣었을때 해결 할 수 있는 방법은?
int pin = 11;
int ti = 1000;
int E_4 = 330;
int G_4 = 392;
int A_4 = 440;
int notes[] = {G_4, G_4, A_4, A_4, G_4, G_4, E_4};
int durs[] = {ti, ti, ti, ti, ti, ti, 2*ti};
void setup() {
for(int i = 0; i < sizeof(notes)/sizeof(notes[0]); i++) {
tone(pin, notes[i], durs[i]);
delay(durs[i]);
}
}
void loop() {
}
int pin = 11;: 소리를 내는 피에조 부저를 아두이노의 11번 핀에 연결했어요.
int ti = 1000;: 이건 각각의 음이 얼마나 오래 울리는지를 정해요. 여기서는 1초로 정했어요.
int E_4 = 330;, int G_4 = 392;, int A_4 = 440;: 여기서는 우리가 낼 수 있는 각각 다른 음들을 정하고, 각 음들은 다른 주파수를 가지고 있어요.
int notes[] = {G_4, G_4, A_4, A_4, G_4, G_4, E_4};: 여기에는 우리가 연주할 음들의 순서를 정리했어요.
int durs[] = {ti, ti, ti, ti, ti, ti, 2*ti};: 여기에는 각 음들이 얼마나 오래 울려야 하는지 시간을 정리했어요. 마지막 음은 2초 동안 울려요.
이 부분에서는 위에서 정한 음들을 어떻게 연주할지 정해져요. 'for 루프'를 사용해서 각 음과 그 음이 얼마나 지속될지를 정할 수 있어요. 그리고 배열의 크기도 자동으로 계산되니, 배열이 얼마나 큰지 걱정하지 않아도 돼요.
이 부분은 아두이노가 음악을 한 번 연주하고 나면 계속 반복해서 실행되는데, 우리는 아무것도 넣지 않았으니 아무 일도 하지 않게 됩니다.
Copyright ⓒ TECH79 All right reserved