1. 배열이란 ?
배열(Array)은 여러 개의 데이터를 한 곳에 모아서 저장하는 방법입니다.
예를 들어, 우리가 도, 레, 미, 파, 솔, 라, 시의 음계를 각각 따로따로 변수에 저장하는 대신,
배열을 사용하면 이 모든 음을 하나의 리스트에 저장할 수 있습니다.
2. 배열의 특징 :
- 동일한 타입의 데이터를 저장합니다. 예를 들어, 모두 정수이거나 모두 문자여야 합니다.
- 인덱스를 사용하여 배열의 특정 요소에 접근할 수 있습니다. 인덱스는 0부터 시작합니다.
예를 들어, '도', '레', '미' 음을 배열로 저장한다면:
- notes[0]은 262 (도)
- notes[1]은 294 (레)
- notes[2]는 330 (미)를 의미합니다.
1. 인덱스(Index)란 ?
- 인덱스는 배열에서 특정 위치에 있는 데이터를 가리키는 숫자입니다.
- 배열에 있는 각각의 데이터는 **요소(Element)**라고 부르는데,
이 요소들은 배열 안에서 인덱스를 통해 구별됩니다.
- 인덱스는 항상 0부터 시작합니다. 즉, 배열의 첫 번째 요소는 인덱스 0, 두 번째 요소는 인덱스 1,
세 번째 요소는 인덱스 2... 이런 식으로 번호가 매겨집니다.
2. 요소(Element)란 ?
- 요소는 배열에 저장된 각각의 데이터를 말합니다.
- 예를 들어, notes 배열에는 262, 294, 330이라는 세 개의 숫자가 저장되어 있습니다.
이 각각의 숫자가 요소입니다.
3. 배열에서 인덱스를 사용해 요소를 호출하기
- 배열 안의 특정 요소를 가져오고 싶을 때, 인덱스 번호를 사용합니다.
- 예를 들어, notes[0]이라고 쓰면 notes 배열의 첫 번째 요소인 262를 가져옵니다.
3. 실습: '학교종이 땡땡땡' 연주하기
이제 배열을 사용해 피에조 스피커로 '학교종이 땡땡땡'을 연주해 봅시다.
- 회로 구성:
- 피에조 스피커의 한쪽을 아두이노의 디지털 핀(예: 9번)에 연결합니다.
- 다른 쪽을 GND(접지)에 연결합니다.
2. 코드 작성: 이제 '학교종이 땡땡땡' 멜로디를 배열로 저장하고, 이를 반복해서 연주해 보겠습니다.
코드 설명:
- melody[]: '학교종이 땡땡땡'의 각 음을 주파수로 표현한 배열입니다.
- for 반복문을 사용해 멜로디 배열의 모든 음을 차례대로 재생합니다.
4. 배열의 이점:
- 정리된 코드 : 배열을 사용하면 코드가 간결해집니다. 각각의 음을 하나씩 변수로 선언하는 대신, 배열 하나에 모두 저장할 수 있습니다.
- 유지보수 용이: 멜로디를 수정하거나 추가할 때, 배열의 값만 바꾸면 됩니다.
5. 응용 과제
- 과제 1: 다른 노래를 배열에 저장하고, 피에조 스피커로 연주해 보세요.
- 과제 2: 배열을 사용해 음의 길이를 다양하게 설정해 보세요.
이 수업을 통해 학생들은 배열의 기본 개념을 이해하고, 이를 활용해 아두이노로 간단한 음악을 연주할 수 있게 됩니다. 배열의 구조를 이해함으로써, 더 복잡한 프로그래밍에도 도전할 수 있는 기초를 다지게 됩니다.
'아두이노' 카테고리의 다른 글
서보모터 함수선언과 제어 (0) | 2024.03.25 |
---|---|
아두이노 서보모터 활용 (0) | 2024.03.18 |
아두이노로 피에조 스피커를 사용해 소리 내기 (0) | 2021.12.07 |
아두이노 초음파센서 수업 자료 (0) | 2021.12.07 |
아두이노 푸쉬버튼으로 LED 제어 및 과제 (0) | 2021.11.02 |