중급 예제

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

레이저 모듈로 침입 감지 시스템 만들어보기

2017-12-18 14:02:40

[이전 학습가이드] 피에조 부저로 소리내기

 

레이저란


 

레이저(LASER)란 ‘Light Amplification by the Stimulated Emission of Radiation’의 약자로 

‘유도방출에 의한 광 증폭’을 의미합니다.

 

레이저 발진장치는 가늘고 긴 공진기 양쪽에 거울을 달고 있는 형태입니다. 그 사이에 레이저 매질을 채워 놓는데 매질로는 고체, 액체, 기체, 반도체, 자유전자 등을 사용할 수 있으며 현재 30가지가 넘는 매질이 존재합니다.

외부에서 에너지를 레이저 매질에 넣어 주면 매질에서 빛이 발생하고, 이때 발생하는 빛이 거울과 부분거울로 구성된 공진기 안에서 유도방출(stimulated emission)을 일으켜 증폭되어 강력한 레이저광선이 됩니다.

 

<출처 : 네이버 지식백과>

 

 

 

 

 

 

 

현재 레이저는 바코드와 CD플레이어, 레이저프린터, 광통신, 의료용 레이저, 레이저가공기 등 다양한 분야에서 널리 활용되고 있습니다.

 

산업적으로는 주로 철이나 금속을 자르거나 표면에 글씨나 그림을 새기는데 활용되며,

군사적으로는 공격대상을 식별하거나 미사일 등의 무기를 유도하거나 요격하는 용도로 활용됩니다.

의학에서는 안과 수술, 미용 목적의 수술 등에 사용되고 과학에서는 분광학 분야에서 주로 사용됩니다.

 

현재 레이저 산업의 시장규모는 수조원에 이를 것으로 예측하고 있습니다.

 


<출처 : JTBC 뉴스>

 

 

 

 

 

 

 

 

레이저 침입감지 시스템


 

가끔씩 영화에서 레이저 침입감지 시스템을 사용하여 금고나 박물관에서 귀중품이나 유물을 보관하는 것을 볼 수 있습니다.

 

<출처 : www.1freewallpapers.com>

 

 

 

 

 

레이저 침입감지 시스템은 신체의 일부분이 레이저에 닿았을 때 레이저의 진행이 가로막혀 수신부에서 레이저를 감지하지 못해 알람이 울리는 원리입니다.

모듈 하나에 레이저 발신부와 수신부가 달려있을 수도 있고,  하나는 발신부 다른 하나는 수신부로 나누어 2가지 모듈로 나누어서 사용할 수도 있습니다.

 

레이저 침입감지 시스템의 경우 원리가 간단하기 때문에 아두이노에서도 레이저 모듈과 조도센서를 사용하여 간단하게 구현해 볼 수 있습니다.

 

 

 

 

 

 

 

 

부품 목록

NO 부품명 수량 상세설명
1 오렌지보드 1  
2 레이저 모듈 1 keyes
3 조도 센서 1  
4 10kΩ 저항 1  
5 LED 1 red LED
6 330Ω 저항 1  
7 점퍼 케이블 8  
8 브레드보드 1  

 

부품명 오렌지보드 레이저 모듈 조도 센서 10kΩ 저항
파트
  LED 330Ω 저항 점퍼 케이블 브레드 보드
파트

 

 

 

 

 

 

하드웨어 making


 

수신부

 

1. 레이저 모듈의 +핀을 오렌지보드의 5V핀에 연결합니다.
2. 레이저 모듈의 -핀을 오렌지보드의 GND핀에 연결합니다. 
3. 레이저 모듈의 입출력 핀을 오렌지보드의 디지털 6번핀에 연결합니다.

 

 

 

 

 

 

 

 

송신부

 

1. 오렌지보드의  5V핀을 브레드보드의 +버스에 연결합니다.

2. 오렌지보드의 GND핀을 브레드보드의 -버스에 연결합니다.

3. 조도센서를 그림과 같이 세로로 꽂습니다.

4. 10K 저항을 조도센서의 상단 단자에 연결합니다.

5. LED를 애노드 (긴 단자)가 아래쪽으로 향하게하여 꽂습니다.

6. LED의 애노드에 330Ω 저항을 연결합니다.

7. 조도센서의 하단 단자를 -버스에 연결합니다.

8. 10K 저항의 반대편 단자를 +버스에 연결합니다.

9. 조도센서의 상단 단자를 오렌지보드 A1번핀에 연결합니다.

10. LED 애노드와 연결된 저항의 반대 쪽을 오렌지보드 A0번핀에 연결합니다.

11. LED의 캐소드 (짧은 단자)를  -버스에 연결합니다.

 

 

 

 

 

 

 

 

 

소프트웨어 coding


 

송신부 코드

 

  1. /*
  2.  제목   : 레이저모듈 제어하기 - 수신부
  3.  내용   : 레이저 모듈을 활성화 해봅시다.
  4. */
  5.  
  6. // 레이저 모듈을 6번 핀으로 설정합니다.
  7.  int laser = 6;
  8.  
  9. void setup() {
  10.   // 레이저 모듈이 연결된 핀을 OUTPUT(출력)으로 설정합니다.
  11.   pinMode(laser, OUTPUT);
  12.  
  13.   // 레이저 모듈을 활성화 해줍니다.
  14.   digitalWrite(laser, HIGH);
  15. }
  16.  
  17. void loop() {
  18. }

 

코드실행

 

송신부 코드에서는 digitalWrite()를 setup()에 작성하여 한 번 활성화 시킨 다음 계속 레이저가 출력될 수 있도록 합니다.

 

 

 

 

 

수신부 코드

  1. /*
  2.  제목   : 레이저모듈 제어하기 - 수신부
  3.  내용   : 조도센서를 통해 레이저를 받고 이에 따라 LED를 제어해봅시다.
  4. */
  5.  
  6. // LED를 3번 핀으로 설정합니다.
  7.  int led = 3;
  8.  
  9.  // 조도센서를 A1번 핀으로 설정합니다.
  10.  int cds = A1;
  11.  
  12. void setup() {
  13.   // LED가 연결된 핀을 OUTPUT(출력)으로 설정합니다.
  14.   pinMode(3, OUTPUT);
  15. }
  16.  
  17. void loop() {
  18.   // 조도센서 값을 측정합니다.
  19.   int light = analogRead(cds);
  20.  
  21.  
  22.   // 만약 조도센서 값이 500 이상이라면
  23.   if (light > 500){
  24.     // LED를 켜줍니다.
  25.     digitalWrite(led, HIGH);
  26.   }
  27.  
  28.   // 조도센서값이 500 이하이면
  29.   else{
  30.     // LED를 꺼줍니다.
  31.     digitalWrite(led, LOW);
  32.   }
  33.  
  34.   delay(100);
  35. }

 

코드실행

 

수신부 코드에서는 송신부에서 출력되는 레이저모듈을 감지합니다.

조도센서를 통해 레이저 모듈을 감지하게 되는데 레이저 모듈이 감지되면(light의 수치가 커질 경우) LED의 불이 들어오고

장애물에 의해 레이저 모듈이 감지되지 않으면(light의 수치가 낮아질 경우) LED의 불이 들어오지 않습니다.

 

이 회로에서 조도센서의 연결된 저항은 GND쪽에 연결되어 있기 때문에 pull-down회로라 볼 수 있습니다.

때문에 어두우면 측정되는 값이 낮아지고, 밝아지면 측정되는 값이 올라갑니다.

 

 

 

 

 

 

 

 

레이저모듈을 활용한 프로젝트


 

레이저 사격 게임

 

레이저 모듈을 사격총에 달아 레이저 모듈로 과녁을 맞추는 게임입니다.

레이저 침입감지 시스템과 원리는 동일하며, 레이저로 사격을 했을 때 과녁(조도센서)에 맞추면 값의 변동으로 점수가 올라갑니다.

 

 

 

 

 

[다음 학습가이드] DC모터 돌리기

 

kocoafabeditor

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

Wine 2019-02-25 16:17:59

제가 직접 실험해본게 아니라 궁금한게 있습니다. 해당 조도센서를 10K옴 저항에 연결했을 때 실내 형광등에 노출시키면 수치가 어느정도로 나오는지 알 수 있나요??
그리고 코딩 부분에서는 센서 값 500으로 레이저의 세기를 정해주셨는데 거리가 먼 경우에는 이 값이 좀 떨어질 수 있지 않나 해서요~ 이런 부분은 아무래도 직접 실험을 해봐야겠지만 혹시나해서 문의드립니다!