Menu
CoddyTech

배열에 음 저장하기

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으로 돌아가고 곡이 다시 시작됩니다.

challenge icon

챌린지

쉬움

핀 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 기다린 다음, 다음 음으로 넘어가세요
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

출력의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드