톤 명령어
4-1 톤 명령어
4-2 스피커 연결하기
4-3 간단한 멜로디 연주하기 4-4 배열로 멜로디 연주하기 4-5 경보음 만들기
4-6 침입 감지 장치 만들기
4-7 자동차 후방 감지 장치 만들기 4-8 응용 실습
04
톤 명령어
04 - 1 톤 명령어
1. 톤 (tone) 명령어
04
tone (핀번호, 진동수, 유지시간) tone (3, 700, 500)
700헤르츠를 500밀리초 동안 발생
톤 명령어
04 - 2 스피커 연결하기
1. 스피커 연결하기
04
스피커 케이블 선을 디지털 2번에 연결
톤 명령어
04 - 3 간단한 멜로디 연주하기
1. 기본 tone 명령어 실행
04
void setup() {
}
void loop() {
Tone(2, 262, 1000) Delay(1000)
}
262헤르츠를 1000밀리초 동안 발생
톤 명령어
04 - 3 간단한 멜로디 연주하기
2. 점멸 소리 만들기
04
void setup() {
}
void loop() {
Tone(2, 262, 500) Delay(1000)
}
262헤르츠를 500밀리초 동안 발생
1초 중에서 0.5초는 소리가 나고 0.5초는 소리가 나지 않음
톤 명령어
04 - 3 간단한 멜로디 연주하기
3. 도레미 소리 만들기
04
void setup() {
}
void loop() {
Tone(2, 262, 470) Delay(500)
Tone(2, 294, 470) Delay(500)
Tone(2, 330, 470)
Delay(500)
톤 명령어
04 - 3 간단한 멜로디 연주하기
4. 음계표
04
톤 명령어
04 - 3 간단한 멜로디 연주하기
5. 동요 연주하기
04
톤 명령어
04 - 4 배열로 멜로디 연주하기
1. 아두이노에서 배열 선언하기
04
• int f[] = {262, 294, 330, 349, 392, 440, 494}
• char a[] = {'A', 'B'}
톤 명령어
04 - 4 배열로 멜로디 연주하기
2. 배열로 멜로디 연주하기
04
int f[] = {262, 294, 330, 349, 392, 440, 494}
int d[] = {500, 250, 250, 500, 500, 250, 250}
void setup() {
}
void loop() {
for (i = 0; i < 7; i++) {
Tone(2, f[i], d[i]) delay(d[i])
톤 명령어
04 - 5 경보음 만들기
1. 반복문으로 사이렌 소리 만들기
04
void loop() {
for (i = 0;i <= 100;i++) {
f = i * i
Tone(2,f,100) Delay(10) }
}
톤 명령어
04 - 5 경보음 만들기
2. 다른 형태의 사이렌 소리
04
void loop() {
for (i = 0;i <= 100;i++) {
f = i * i
Tone(2,f,100) Delay(1)
} }
톤 명령어
04 - 6 침입 감지장치 만들기
1. 사이렌 소리 기능을 함수로 만들기
04
void loop() {
}
void PlayAlert() {
for (i = 0;i <= 100;i++) {
f = i * i
Tone(2,f,100) Delay(10) }
}
톤 명령어
04 - 6 침입 감지장치 만들기
2. 거리 센서 앞에 물체 감지시 경보음 발생
04
void loop() {
a = analogRead(0) if (a > 200)
PlayAlert() delay(100)
}
void PlayAlert() {
for (i = 0;i <= 100;i++) {
f = i * i
Tone(2,f,100)
톤 명령어
04 - 7 자동차 후방 감지장치 만들기
1. 거리 정보를 소리의 높낮이로 바꾸기
04
void setup() {
}
void loop() {
a = AnalogRead(0) Tone(2, a, 1000) Delay(100)
}
톤 명령어
04 - 7 자동차 후방 감지장치 만들기
2. 거리 정보를 소리의 점멸로 바꾸기
04
void setup() {
}
void loop() {
a = AnalogRead(0) Tone(2, 500, a / 2) Delay(a)
}
톤 명령어
04 - 7 자동차 후방 감지장치 만들기
3. Map 함수를 이용하여 값 뒤집기
04
void loop() {
a = AnalogRead(0)
a = map(a, 0, 1023, 1023, 0)
Tone(2, 500, a0/2 ) Delay(a0)
}
톤 명령어
04 - 8 응용 실습
1. 멜로디 연주와 LED 제어를 동시에 하기
04
• 배열로 멜로디 연주
• 멜로디 음의 높낮이를 LED의 밝기로 표시
톤 명령어
04 - 8 응용 실습
2. 배열로 멜로디 연주하는 코드
04
int f[] = {262, 294, 330, 349, 392, 440, 494}
int d[] = {500, 250, 250, 500, 500, 250, 250}
void setup() {
}
void loop() {
for (i = 0; i < 7; i++) {
Tone(2, f[i], d[i]) delay(d[i])
} }
톤 명령어
04 - 8 응용 실습
3. Map 함수로 LED 밝기 계산
04
int f[] = {262, 294, 330, 349, 392, 440, 494}
int d[] = {500, 250, 250, 500, 500, 250, 250}
void loop() {
for (i = 0; i < 7; i++) {
Tone(2, f[i], d[i])
b = map(f[i], 262, 523, 50, 255) analogWrite(11, b)
delay(d[i])
analogWrite(11, 0) delay(30)
} }