powerpoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_plc... · 2018-11-22 ·...
TRANSCRIPT
톤 명령어
4-1 톤명령어4-2 스피커연결하기4-3 간단한멜로디연주하기4-4 배열로멜로디연주하기4-5 경보음만들기4-6 침입감지장치만들기4-7 자동차후방감지장치만들기4-8 응용실습
04
톤명령어
04 - 1 톤명령어
1. 톤 (tone) 명령어
04
아두이노와 PLC를이용한 IoT구현실습
2
tone (핀번호, 진동수, 유지시간)
tone (3, 700, 500)
700헤르츠를 500밀리초 동안 발생
톤명령어
04 - 3 간단한 멜로디연주하기
1. 기본 tone 명령어실행
04
아두이노와 PLC를이용한 IoT구현실습
4
void setup(){}
void loop(){
Tone(2, 262, 1000)Delay(1000)
}
262헤르츠를 1000밀리초 동안 발생
톤명령어
04 - 3 간단한 멜로디연주하기
2. 점멸소리만들기
04
아두이노와 PLC를이용한 IoT구현실습
5
void setup(){}
void loop(){
Tone(2, 262, 500)Delay(1000)
}
262헤르츠를 500밀리초동안 발생
1초 중에서 0.5초는 소리가 나고 0.5초는 소리가 나지 않음
톤명령어
04 - 3 간단한 멜로디연주하기
3. 도레미소리만들기
04
아두이노와 PLC를이용한 IoT구현실습
6
void setup(){}
void loop(){
Tone(2, 262, 470)Delay(500)
Tone(2, 294, 470)Delay(500)
Tone(2, 330, 470)Delay(500)
}
톤명령어
04 - 4 배열로 멜로디연주하기
1. 아두이노에서배열선언하기
04
아두이노와 PLC를이용한 IoT구현실습
9
• int f[] = {262, 294, 330, 349, 392, 440, 494}
• char a[] = {'A', 'B'}
톤명령어
04 - 4 배열로 멜로디연주하기
2. 배열로멜로디연주하기
04
아두이노와 PLC를이용한 IoT구현실습
10
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
아두이노와 PLC를이용한 IoT구현실습
11
void loop(){
for (i = 0;i <= 100;i++){
f = i * iTone(2,f,100)Delay(10)
}}
톤명령어
04 - 5 경보음 만들기
2. 다른형태의사이렌소리
04
아두이노와 PLC를이용한 IoT구현실습
12
void loop(){
for (i = 0;i <= 100;i++){
f = i * iTone(2,f,100)Delay(1)
}}
톤명령어
04 - 6 침입 감지장치만들기
1. 사이렌소리기능을함수로만들기
04
아두이노와 PLC를이용한 IoT구현실습
13
void loop(){}
void PlayAlert(){
for (i = 0;i <= 100;i++){
f = i * iTone(2,f,100)Delay(10)
}}
톤명령어
04 - 6 침입 감지장치만들기
2. 거리센서앞에물체감지시경보음발생
04
아두이노와 PLC를이용한 IoT구현실습
14
void loop(){
a = analogRead(0)if (a > 200)
PlayAlert()delay(100)
}
void PlayAlert(){
for (i = 0;i <= 100;i++){
f = i * iTone(2,f,100)Delay(10)
}}
톤명령어
04 - 7 자동차 후방감지장치 만들기
1. 거리정보를소리의높낮이로바꾸기
04
아두이노와 PLC를이용한 IoT구현실습
15
void setup(){}
void loop(){
a = AnalogRead(0)Tone(2, a, 1000)Delay(100)
}
톤명령어
04 - 7 자동차 후방감지장치 만들기
2. 거리정보를소리의점멸로바꾸기
04
아두이노와 PLC를이용한 IoT구현실습
16
void setup(){}
void loop(){
a = AnalogRead(0)Tone(2, 500, a / 2)Delay(a)
}
톤명령어
04 - 7 자동차 후방감지장치 만들기
3. Map 함수를이용하여값뒤집기
04
아두이노와 PLC를이용한 IoT구현실습
17
void loop(){
a = AnalogRead(0)
a = map(a, 0, 1023, 1023, 0)
Tone(2, 500, a0/2 )
Delay(a0)
}
톤명령어
04 - 8 응용 실습
1. 멜로디연주와 LED 제어를동시에하기
04
아두이노와 PLC를이용한 IoT구현실습
18
• 배열로 멜로디 연주
• 멜로디 음의 높낮이를 LED의 밝기로 표시
톤명령어
04 - 8 응용 실습
2. 배열로멜로디연주하는코드
04
아두이노와 PLC를이용한 IoT구현실습
19
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
아두이노와 PLC를이용한 IoT구현실습
20
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)
}}