배열에 음 저장하기
Coddy Arduino 여정의 출력 섹션에 포함된 레슨. 24개 중 13번째.
멜로디는 음표의 목록입니다. 배열은 하나의 이름 아래에 여러 값을 저장합니다:
int notes[] = {262, 294, 330, 349}; // C, D, E, F각 값에는 인덱스라는 위치가 있으며, 0부터 세기 시작합니다. notes[0]은 262이고, notes[1]은 294이며, 마지막 값인 notes[3]은 349입니다. notes[4]는 없습니다. 이 값을 읽으면 배열 다음 메모리에 있는 값이 무엇이든 가져오게 됩니다.
인덱스는 변수일 수 있습니다. 하나를 유지하고, 그 인덱스가 가리키는 음을 재생한 다음, 인덱스를 다음으로 옮깁니다:
int i = 0;
void loop() {
tone(8, notes[i]);
delay(400);
i = i + 1;
if (i == 4) {
i = 0;
}
}loop()가 실행될 때마다 다음 음이 재생됩니다. 마지막 음을 재생한 뒤에는 인덱스가 다시 0으로 돌아가고 곡이 다시 시작됩니다.
챌린지
쉬움핀 8에서 C, D, E, F 음을 각각 400ms씩 차례로 계속 재생하세요:
- 네 개의 주파수 262, 294, 330, 349를 배열에 저장하세요
loop()가 실행될 때마다 다음 음을 재생하도록 인덱스 변수를 사용하세요- 마지막 음 다음에는 첫 번째 음으로 돌아가세요
Run을 누른 다음 Check를 누르세요.
직접 해보기
const int buzzerPin = 8;
// 여기서 notes 배열과 index 변수를 만드세요
void setup() {
}
void loop() {
// index에 해당하는 음을 재생하고 400 ms 기다린 다음, 다음 음으로 넘어가세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
출력의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드