12 1 int val 0 int percent AD

  • Slides: 34
Download presentation

예제 12. 1의 스케치(백분율 표현) int val = 0; int percent; AD 변환값을 저장할

예제 12. 1의 스케치(백분율 표현) int val = 0; int percent; AD 변환값을 저장할 변수 void setup() { Serial. begin(9600); } 시리얼 통신 속도 지정 void loop() { val = analog. Read(0); percent = map(val, 0, 1023, 0, 100); Serial. print("CDS(%) = "); Serial. print(percent); Serial. print("n"); delay(200); } 아날로그 0번 핀 (CDS) 값을 입력 변환된 디지털 값을 %로 변환 변환된 %값을 시리얼 모니터로 전송 9

예제 12. 2의 스케치 int val = 0; int LED=7; int percent; CDS의 값을

예제 12. 2의 스케치 int val = 0; int LED=7; int percent; CDS의 값을 저장할 변수 void setup() { Serial. begin(9600); pin. Mode(LED, OUTPUT); } 시리얼 통신 속도 지정 디지털입출력 2번 핀 출력모드 지정 void loop() { val = analog. Read(0); percent = map(val, 0, 1023, 0, 100); if(percent>50) digital. Write(LED, LOW); else digital. Write(LED, HIGH); Serial. println(percent); delay(100); } 아날로그 0번 핀 (CDS) 값을 입력 변환된 디지털 값을 %로 변환 빛이 많으면 LED OFF 그렇지 않으면 LED ON 변환된 디지털 값을 시리얼 모니터로 전송 11

예제 12. 3의 스케치 const int LED_pin = 8; const int Photo_pin = 2;

예제 12. 3의 스케치 const int LED_pin = 8; const int Photo_pin = 2; 출력 동작 LED 입력 신호 핀 void setup() { pin. Mode(LED_pin, OUTPUT); pin. Mode(Photo_pin, INPUT); } LED를 출력 설정 포토 센서 입력 설정 void loop(){ int val = digital. Read(Photo_pin); if (val == HIGH){ digital. Write(LED_pin, HIGH); delay(500); digital. Write(LED_pin, LOW); } } 포토 센서의 디지털 입력 읽기 입력 판별 움직임이 감지되면, LED ON 움직임이 감지되지 않으면 LED OFF 14

예제 12. 4의 스케치 int ECHO_pin = 2; int TRIG_pin = 3; int distance;

예제 12. 4의 스케치 int ECHO_pin = 2; int TRIG_pin = 3; int distance; 반사 신호 수신 핀 트리거 신호 발생 핀 void setup(){ Serial. begin(9600); pin. Mode(ECHO_pin, INPUT); pin. Mode(TRIG_pin, OUTPUT); } 반사 신호 수신 핀 입력모드 설정 트리거 신호 발생 핀 출력모드 설정 void loop(){ digital. Write(TRIG_pin, LOW); delay. Microseconds(2); digital. Write(TRIG_pin, HIGH); delay. Microseconds(10); digital. Write(TRIG_pin, LOW); distance = pulse. In(ECHO_pin, HIGH); distance= distance/58; Serial. print("Distance(cm) -> "); Serial. println(distance); delay(100); } 트리거 핀을 2μ초 동안 “LOW” 트리거하기 위하여 10μ초 동안 “HIGH” 트리거 핀을 다시 “LOW” 펄스 지속 시간 읽기 펄스 시간을 거리로 계산 시리얼 모니터에 출력 다음 측정까지 100 m. S 대기 19

예제 12. 5의 스케치 int THR_pin = 0; int value; 아날로그 센서 입력 핀

예제 12. 5의 스케치 int THR_pin = 0; int value; 아날로그 센서 입력 핀 void setup() { Serial. begin(9600); } void loop(){ value = analog. Read(THR_pin); Serial. print(value); Serial. print(" -> "); float millivolts = (value/1024. 0) * 5000; float celsius = millivolts/10; Serial. print(celsius); Serial. print(" degrees Celsius, "); delay(1000); } 센서 출력 10[m. V]/ 섭씨 1도 화씨로 변환하기 1초 대기 25

12. 7 광센서, 초음파, 온도 모듈 • HBE-MCU-Multi의 온도, 초음파, 광센서로 구성된 센 서

12. 7 광센서, 초음파, 온도 모듈 • HBE-MCU-Multi의 온도, 초음파, 광센서로 구성된 센 서 모듈 Sensor Module 구성 - Temperature -40~+124℃ Range, I 2 C Interface - Humidity 0~100% Range, I 2 C Interface - CDS - Infrared Light Sensor Size : 56 mm x 45 mm, 5 Test Point 26

Mega 보드-SENSOR모듈과 LED 연결 29

Mega 보드-SENSOR모듈과 LED 연결 29

예제 12. 6의 스케치 const int CDS_pin=0; int LED 0_pin = 6; int LED

예제 12. 6의 스케치 const int CDS_pin=0; int LED 0_pin = 6; int LED 1_pin = 7; int val = 0; CDS_OUT를 A 0에 설정 LED 0를 D 6에 설정 LED 1를 D 7에 설정 void setup() { Serial. begin(9600); pin. Mode(LED 0_pin, OUTPUT); pin. Mode(LED 1_pin, OUTPUT); } 시리얼 모니터 설정 led. Pin을 출력으로 설정 void loop() { val = analog. Read(CDS_pin); Serial. println(val); analog. Write(LED 0_pin, val/4); analog. Write(LED 1_pin, 1023 -val/4); delay(100); } cds에서 전압 읽는 함수 val=0~1023 시리얼 모니터로 출력 LED 0에 CDS출력에 비례하는 밝기출력 LED 1에 LED 0의 반전 0. 1초 간격으로 센싱 30

Mega-SENSOR모듈과 PIEZO 연결 회로 32

Mega-SENSOR모듈과 PIEZO 연결 회로 32

예제 12. 7의 스케치 int val = 0; int old_val = 0; void setup()

예제 12. 7의 스케치 int val = 0; int old_val = 0; void setup() { Serial. begin(9600); pin. Mode(7, OUTPUT); } void loop() { val = analog. Read(0); Serial. println(val); if ( (val<old_val-10) || (val> old_val+10) ) { tone(7, val*2); old_val = val; } } 현재 센서 값이 이전 센서 값에서 ± 10 범위를 벗어나면 광센서 값 * 2배로 소리 냄 현재 값으로 이전 값 새로 고침 33