본문 바로가기
아두이노 응용

[응용/접근 감지 전등] 초음파 센서를 통해 전등을 켜보자

by 작동미학 2016. 4. 19.
반응형

교류/직류 등의 전원을 켜고 끄는 반도체 무접점 릴레이와 초음파 센서를 결합해보자.

 

▶ 이 가이드를 따라하면

- 디지털 핀의 HIGH/LOW를 제어하여 전류의 흐름을 켜고 끌 수 있다.

 

▶ 먼저 읽으면 좋은 글

- Arduino 일반 : http://bbangpan.tistory.com/1

- Relay 기초 : http://bbangpan.tistory.com/79

- 초음파 센서 : http://bbangpan.tistory.com/49

 

 

▶ 부품 설명 및 회로 구성

이전 회에서 다루었던 릴레이는 5V전원을 통해 큰 전원을 on/off할 수 있었다. 여기서는 또다른 유형의 Relay와 초음파 센서를 결합해서 간단하게 가까이 접근하면 켜지는 전등을 만들어보자.

여기서 사용되는 Relay는 Solid State Relay라고 하여 일명 무접점 반도체 릴레이라고 하는 고가의 릴레이이다. 기존 저렴이들과는 다르게 찌걱찌걱 하는 전자석 붙는 소리(?)가 전혀 없이 매우 적은 전압만으로도 on/off가 가능하다.

다만 하는 일은 동일하게 큰 전류를 제어한다(여기서는 교류 제어)

<Solid State Relay>

기존 초음파 센서 강좌를 이용해서 20cm정도로 접근하면 전등을 켜지게 구성해보자. 전등과의 연결부위는 기존 릴레이 강좌 (http://bbangpan.tistory.com/79) 를 참고해서 구성해보자.

적당한 소켓을 구해서 연결하면, 아래와 같이 구성할 수 있다.

< Arduino + 초음파센서 + Relay + LED전구에 소켓/전원플러그를 달았다>

< 배선은 초음파 센서 Sig -> D8(GND/5V는 맞게연결), Relay는 GND->GND, 5V->D7에 연결>

껐다 켜는 모습을 아예 처음부터 보자. 20cm이하로 접근하는 것이 있으면 전등을 켜지게 구성했다. 혹시나 해서 릴레이에 계속 꺼질 수 있도록 기계식 스위치도 달았다.

<초음파 센서 앞에 손을 가져가면 불이 켜진다>

▶ 소스 코드 입력 및 구동

소스는 간단해서 릴레이에 조건에 따라5V 전압(HIGH)를 가해주는 것을 기존 초음파 센서에 융합했다.

 

https://github.com/bbangpan/bbangpan.com/blob/master/neibc_relay_sonic/neibc_relay_sonic.ino

 

 

/* Redistributed by www.bbangpan.com

 

Program Description: relay & ultra sonic sensor

DataPin : Ultra Sonic Sig -> D8, Relay GND -> GND, Relay 5V -> D7

Tested on : Arduino 1.7.4, Arduino UNO R3

 

Copyright (c) 2016 www.bbangpan.com. All rights reserved.

This program can be used for any non-commercial purpose freely.

*/

 

const int pingPin = 8;

const int echoPin = 8;

const int relayPin = 7;

 

void setup() {

// initialize serial communication:

Serial.begin(9600);

pinMode(relayPin, OUTPUT);

}

 

void loop() {

// establish variables for duration of the ping,

// and the distance result in inches and centimeters:

long duration, inches, cm;

 

// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.

// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

pinMode(pingPin, OUTPUT);

digitalWrite(pingPin, LOW);

delayMicroseconds(2);

digitalWrite(pingPin, HIGH);

delayMicroseconds(5);

digitalWrite(pingPin, LOW);

 

// The same pin is used to read the signal from the PING))): a HIGH

// pulse whose duration is the time (in microseconds) from the sending

// of the ping to the reception of its echo off of an object.

pinMode(echoPin, INPUT);

duration = pulseIn(echoPin, HIGH);

 

// convert the time into a distance

inches = microsecondsToInches(duration);

cm = microsecondsToCentimeters(duration);

 

Serial.print(inches);

Serial.print("in, ");

Serial.print(cm);

Serial.print("cm");

Serial.println();

 

if( cm < 20) {

digitalWrite(relayPin, HIGH); // HIGH인가

} else {

digitalWrite(relayPin, LOW); // HIGH인가

}

 

delay(100);

}

 

 

 

long microsecondsToInches(long microseconds) {

// According to Parallax's datasheet for the PING))), there are

// 73.746 microseconds per inch (i.e. sound travels at 1130 feet per

// second). This gives the distance travelled by the ping, outbound

// and return, so we divide by 2 to get the distance of the obstacle.

// See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf

return microseconds / 74 / 2;

}

 

long microsecondsToCentimeters(long microseconds) {

// The speed of sound is 340 m/s or 29 microseconds per centimeter.

// The ping travels out and back, so to find the distance of the

// object we take half of the distance travelled.

return microseconds / 29 / 2;

}

 

 

구동 후 초음파 센서에 손을 가져다 대면, 접근 거리를 알 수 있다..

<20cm이하면 불이 들어오도록 했다>

 

▶ 구매 가이드

Solid State Relay : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20160418075736&SearchText=solid+state+relay ($ 2)

Ultra Sonic Sensor : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20160418075839&SearchText=ultrasonic+module ($ 2)

LED Bulb : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20160418075900&SearchText=LED+bulb

Bulb socket : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20160418075940&SearchText=bulb+socket

 

강의 키워드

Solid State Relay, 반도체 무접점 릴레이, 솔리드 스테이트 릴레이, 초음파 센서, Arduino, 아두이노, 전등 켜기

반응형