중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

레이저 모듈-장애물 감지 시스템 만들기

2015-01-07 16:04:52

개요

레이저는 일반 빛과는 달리 곧은 직진성을 가지고 있어 빛을 다루려는 유저들에게 매력적으로 다가온다.
아두이노에서도 역시 레이저를 제어할 수 있는 모듈이 있는데 연결방법이나 사용법이 매우 간단하여 누구나 쉽게 제어가 가능하다.




이번에는 레이저모듈을 사용하여 정말 간단하게 장애물 감지 시스템을 만들어 보자.
적외선 장애물 감지 센서가 이미 존재하지만 그 센서를 좀 더 크게 확장한 것이라고 생각하면 편하다.



영화에서 보듯이 레이저가 있고 그 레이저에 물체가 걸리면 피에조부저에서 소리가 울리게 된다. 


부품 목록

NO    

부품명      

수량     

상세설명

1

아두이노 보드

1

오렌지 보드

2

레이저 모듈

1

 

3

피에조 부저

1

 

4

조도 센서

1  
5

저항 10kΩ

1  

6

브레드 보드

1

저항

7

점퍼 케이블

1

 

 

부품명 아두이노 보드 레이저 모듈 피에조 부저 조도 센서
부품
사진
부품명 저항 10kΩ 브레드 보드 점퍼 케이블  
부품
사진
 

 

 

하드웨어 making

브레드보드

 

 

전자회로도

 

 

소프트웨어 coding

const int LIMITVALUE = 900;
//센서별 핀번호 선언
int lasor = 8;
int piezo = 9;          
int cds = A0;

//조도센서의 값을 저장하는 변수 선언
int val;

void setup() {               
  //핀모드 설정 
  pinMode(piezo, OUTPUT); 
  pinMode(cds, INPUT);
  pinMode(lasor, OUTPUT);
  Serial.begin(9600); //시리얼 통신 초기화
}

//피에조 부저에서 소리를 내게 하자
void loop() {
  digitalWrite(lasor, HIGH); //레이저모듈핀에 항상 HIGH값을 입력
  val = analogRead(cds); //조도센서로 부터 값을 읽어들인다
  Serial.println(val); //시리얼 모니터에 출력
  if(val < LIMITVALUE) { //값이 일정값 이하로 떨어질 경우
    analogWrite(piezo, 128); //피에조부저에서 소리가 난다
  }
  else { //그 이외의 경우
    analogWrite(piezo, 0); //소리가 울리지 않는다 
  } 
 
  delay(500);                       // 1초 대기
}

레이저모듈은 3핀을 가지고 있어 vcc, gnd, output핀을 가지고 있다.
loop()에서는 레이저모듈에게 항상 HIGH값을 줌으로 계속 켜져있게 한다.

조도센서는 레이저모듈와 같은 선상에 있어 레이저모듈에서 오는 빛을 항상 받고 있는데 그 값을 아두이노에서 계속 측정하게 된다.
레이저 모듈에서 날라오는 빛을 측정한 값을 위 소스에서는 하한값 900으로 잡고 실행하였는데 그 값은 사용자가 수정하여도 무방하다.

const int LIMITVALUE = 900;

900이하의 값을 받게 되면 아두이노에서는 레이저와 조도 센서 사이에 물체가 있어 빛을 차단한 것으로 인식한다.
그렇게되면 피에조부저에서는 소리가 울리게 되고 조도센서에서 측정되는 값이 다시 900이상으로 올라가지 않을 경우 계속 울리게 된다.
 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

레이저모듈, 아두이노, 오렌지보드

장희철 2015-05-06 11:16:15

레이저 모듈 이름좀 알수있읅가요?

장희철 2015-05-08 13:00:09

여쭤보고싶은게 많은데 메일이나 카톡아이디좀 알수있을가요?

수박쨈 2015-05-11 11:12:06

@장희철 아 지금 봤네요 궁금하신거 있으시면 묻고 답하기에 올려주세요!

박수인 2017-10-24 00:01:13

묻고 답하기는 어디에서 할 수 있나요? 빛을 차단해도 부저에서 소리가 안나요. 오렌지보드 말고 아두이노 유노 사용했습니다.

kocoafab 2019-02-08 15:14:57

@장희철
레이저 모듈은 KY-008 입니다.

@박수인
빛을 차단해도 소리가 안나시면 피에조 부저나 조도센서 회로가 제대로 연결되었는지 확인해보시고, 제대로 연결되셨으면 조도센서값을 출력하여 조건에 빛이 가려졋을때 값이 코드 조건문 기준에 맞는지 확인해보세요.

komkom 2019-10-21 15:33:42

혹시 사운드가 부저대신 mp3쉴더로 음성이 나오게끔 하고싶은데 어떻게 해야할까요?ㅠㅠ