죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

반돌이’s 아두이노 강좌 (8) - 모션센서 사용하기


PDF 다운로드



자료제공/아이씨뱅큐


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 쉴드를 사용할 수 없어서 시리얼 모니터를 확인 하였습니다.
오늘은 모션 센서를 사용하는 방법에 대해 알아보았습니다. 이제 드디어 센서는 다 배웠는데요, 반돌이의 아두이노 강좌도 막바지를 향해 달려가고 있습니다. 마지막까지 함께 달려주실꺼죠? (중략)

leekh@semiconnet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정



* 가입시 이메일만 입력하신 회원은 이름란을 비워두시면 됩니다.