반돌이’s 아두이노 강좌 (8) - 모션센서 사용하기
자료제공/아이씨뱅큐
8-1. 모션센서 사용하기
안녕하세요, 여러분! 오늘은 센서파트에서는 마지막 파트라고 할 수 있겠네요! 모션 센서를 사용하는 시간을 가져 보도록 하겠습니다.
조금은 독특하게 생긴, 이 센서가 바로 모션센서입니다. 보통 PIR(Passive Infrared Sensor) 센서 라고도 불리우는 이 센서는, 아파트 복도나 현관문 등에서 사람 등이 감지되면 조명을 켜주는 데 많이 사용이 되는데요. 인체의 열로 인한 적외선을 감지하여 신호를 보내주는 센서 입니다.
저희가 사용할 모션 센서는 DFRobot사의 모션센서 입니다. 가변저항이 달려있고, 터미널 핀을 이용해 간편하게 사용할 수 있도록 되어있네요.
자, 그럼 소스 코드와 회로도 보면서 다시 이야기 진행해볼까요? 모션 센서는 디지털 핀 12번에, LED는 디지털 핀 13번에 꼽아주었습니다.
#include <LiquidCrystal.h> //LCD 라이브러리 선언
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // LCD 제어를 위한 핀 설정
int ledPin = 13;
int inputPin = 12;
int val = 0;
void setup()
{
Serial.begin(9600); //시리얼 통신
lcd.begin(16,2); //1602LCD
lcd.setCursor(0, 0); //LCD에 커서를 0,0에 위치
pinMode(ledPin,OUTPUT);
pinMode(inputPin, INPUT);
}
void loop()
{
val = digitalRead(inputPin);
if(val == HIGH){
digitalWrite(ledPin,HIGH);//감지 될 경우 led on
lcd.setCursor(0, 1); //lcd 커서 0,1에 위치
lcd.print(“Motion O”); //커서위치에서 문자 출력
}
else{
digitalWrite(ledPin,LOW); //감지 안될 경우 led off
lcd.setCursor(0, 1); //lcd 커서 0,1에 위치
lcd.print(“Motion X “);//커서위치에서 문자 출력
}
}
소스 코드는 역시나 별로 어렵지 않죠? 센서를 구동하는건 별로 어렵지 않아요. inputin 으로 들어온 디지털 신호 값을 val 이라는 변수에 넣어주면 끝입니다. 물체가 감지될 경우 LED가 켜지고, 반대의 경우 LED가 꺼지는 방식. 간단하게 복도 센서등을 완성 시켰습니다. 연결 사진과 동영상으로 결과를 확인해 봅시다.
모션센서에 손을 가져다 대면 LED에 불이 켜지고, LCD에 Motion O가 표시되는 것 보이시죠? 그 반대의 경우에도 마찬가지구요. 라떼판다 같은 경우 LCD 쉴드를 사용할 수 없어서 시리얼 모니터를 확인 하였습니다.
오늘은 모션 센서를 사용하는 방법에 대해 알아보았습니다. 이제 드디어 센서는 다 배웠는데요, 반돌이의 아두이노 강좌도 막바지를 향해 달려가고 있습니다. 마지막까지 함께 달려주실꺼죠? (중략)
재생 가능 에너지를 배터리에 공급하기
조회수 56회 / Bill Schweber
자율 주행 차량의 LiDAR용 GaN FET
조회수 126회 / Kenton Williston
EU 배터리 규정(EU BATTERY REGULATION)이란?
조회수 111회 / TUV
지터가 고속 링크에 미치는 영향
조회수 107회 / Bill Schweber
패널 실장 인코더 - 기본 사항 이해
조회수 344회 / Jeff Smoot
전기 기계 계전기와 무접점 계전기 비교
조회수 297회 / Jeff Smoot
인증된 LoRaWAN 모듈을 사용하여 장거리 연결 개발 가속화
조회수 322회 / Stephen Evanczuk
다양한 응용 제품을 위한 스위치 솔루션
조회수 234회 / Ryan Smoot
독립형 능동 EMI 필터 IC가 공통 모드 필터 크기를 줄이는 방법
조회수 330회 / 티모시 헤가티
PDF 다운로드
회원 정보 수정