[아두이노기초-3] 적외선 센서로 움직임 감지하기
◆ 이번 시간에는 적외선 센서로 빛의 변화에 따른 움직임을 감지하여 LED 전구를 깜빡이게 하는 방법을 알아보자
◆ 실생활 사용 예 : 아파트 복도등
<적외선 모션감지센서>
- 적외선 모션감지센서 하단 핀은 각각 (+)전원/OUTPUT단자/(-)전원이다.
- 상단에 왼쪽은 시간조절(딜레이)이고, 오른쪽은 감도조절이다.
(╋ 레버를 시계방향으로 돌릴수록 길게 지속 / 민감해짐)
- 5V~20V 전원을 먹기때문에 5V파워에 연결해줘야 한다. (3.3V 연결 시 작동 X)
- 외부 캡은 감지 각도를 넓혀준다.
<회로도>
- 입력센서인 적외선센서는 (+)5V 전원 / 2번 핀 / (-)GND에 꽂아준다.
- 출력센서인 LED 전구는 (+)3번 핀 / (-)GND에 꽂아준다.
<소스코드>
int val = 0;
void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT); //2번핀에 입력모드 설정(적외선센서)
pinMode(3,OUTPUT); //3번핀에 출력모드 설정(LED전구)
Serial.begin(9600); //직렬통신(시리얼통신)속도 9600설정
}
void loop() {
// put your main code here, to run repeatedly:
val = digitalRead(2); //val 변수에 2번핀 값(1또는0) 대입
if(val == HIGH){ //val = 1 일때
digitalWrite(3,HIGH); //3번핀(LED전구)에 HIGH 적용
}
else{ //val = 0 일때
digitalWrite(3,LOW); //3번핀(LED전구)에 LOW 적용
}
Serial.println(val); //시리얼모니터에 val 출력
}
◆ 코드 설명
pinMode(2, INPUT) : 보드에서 사용할 디지털핀의 모드(입력, 출력) 설정.
2번 핀을 입력을 위한 모드로 설정 (적외선 센서)
pinMode(3, OUTPUT) : 보드에서 사용할 디지털핀의 모드(입력, 출력) 설정.
3번 핀을 출력을 위한 모드로 설정 (LED 전구)
Serial.begin(9600) : 시리얼 통신의 통신속도는 300~115200으로 설정가능하지만, 보통 9600으로 설정함
digitalRead(2) : 입력모드인 2번 핀에서 나오는 HIGH/LOW(1 또는 0)의 값을 변수 val에 저장
digitalWrite(3, HIGH) : 3번 핀에 HIGH(1, ON)값을 부여 (전구 켜짐)
digitalWrite(3, LOW) : 3번 핀에 LOW(0, OFF)값을 부여 (전구 꺼짐)
'IT > 아두이노' 카테고리의 다른 글
[아두이노] 키보드 라이브러리 사용하기 (0) | 2022.01.08 |
---|---|
[아두이노] 라이브러리 추가하기 (1) | 2022.01.08 |
[아두이노기초-4] 초음파 센서로 거리 측정하기 (0) | 2021.12.26 |
[아두이노기초-2] 문자열 / 정수 출력, LED 제어하기 (0) | 2021.12.26 |
[아두이노기초-1] 시작 전 필수로 알아야 할 사항 (0) | 2021.12.25 |