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;: 여기서는 서로 다른 3개의 음계를 설정했어요. 숫자는 각 음계의 주파수를 나타내며, 이 주파수에 따라 소리의 높낮이가 달라져요.
이 부분에서는 어떤 소리를 내고, 그 소리를 얼마나 길게 낼지를 정해요다. 예를 들어, tone(pin, G_4, ti);라는 명령은 11번 핀에서 G_4(392Hz) 소리를 1초 동안 낸다는 것을 의미해요.
delay(ti);는 다음 소리를 내기 전에 잠깐 쉬라는 명령이에요. 여기서도 1초를 쉽게되요.
이 설정에 따라, G_4-G_4-A_4-A_4-G_4-G_4-E_4 순서로 소리를 낸 후, 마지막 E_4 소리는 2초 동안 나요다.
이 부분은 setup() 이후에 계속 반복되는 부분이에요. 하지만 여기서는 아무 것도 하지 않기 때문에, 프로그램은 setup()에서 정한 소리를 한 번만 낸다음 아무 것도 하지 않게 되요.
위 소스 코드의 문제점은?
Copyright ⓒ TECH79 All right reserved