Posted on Leave a comment

문살살!!!

아이를 키우는 어뭉님들의 공통된 고민,

화장실을 문을 열어놀까? 말까?

 

어디만 가면 어느세 쪼르르…

인기척이 없어 방심한 순간, 어머!!!

언제 거기 있었니? ㅜㅜ

imgCheckDoorIntro

 

그래서 만들었습니다.

‘문 살살 표지판’

 

문앞에 아이가 있는지 없는지를 확인해서 어뭉님에게 알려줍니다.

초음파 센서를 통해 문앞 70cm 내에 누군가가 있다면, 빨강색 LED 등이 켜지고, 그렇치 않으면 초록색 LED가 켜집니다.

imgCheckDoorInside

 

문밖에 현실은… ㄷㄷㄷ

imgCheckDoorOutside

 

‘문살살 표지판’에 필요한 준비물은

  • MCU : 아두이노 나노 or UNO
  • 전원 : 9v 스냅, 9v 배터리
  • 출력 : RGB LED
  • 외관 : 다이소에서 구입한 2000원짜리 LED 터치등
  • 기타 : 스위치, 브레드보드, 케이블

 

회로도

회로도를 그릴 수 있는 Fritzing 도구로 제작한 ‘문살살’ 회로도 입니다.

CheckDoorRGBLed

 

제작순서

  • 1단계 : 부품결합
  • 2단계 : 아두이노 소스 코딩
  • 3단계 : 코드 업로드
  • 4단계 : 테스트

 

아두이노 소스코드

GitHub 주소 : https://github.com/forearth/arduino-learning-sample/tree/master/CheckDoor

//변수설정
int TRIG = 2;
int ECHO = 3;
int redPin = 11;
int greenPin = 10;
int bluePin = 9;

void setup() {
 //set serial
 Serial.begin(9600);

 //set led
 pinMode(redPin, OUTPUT);
 pinMode(greenPin, OUTPUT);
 pinMode(bluePin, OUTPUT); 
 
 //set ultrasonic
 pinMode(TRIG, OUTPUT);
 pinMode(ECHO, INPUT); 
}

void loop() {
 //초음파 발사 코드
 digitalWrite(TRIG, LOW);
 delayMicroseconds(2);
 digitalWrite(TRIG, HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIG, LOW);
 //pulseIn 명령어를 통해 Echo핀에 초음파가 들어오는 시간계산
 //pulseIn에서 반환된 값에 58.2를 나눈이유는 시간을 cm로 변화하기 위해서임
 //음파속도가 340m/s 정도임
 long distance=pulseIn(ECHO, HIGH)/58.2;

 if(distance <70){
 setColor(255, 0, 0); // red
 } else{
 setColor(0, 255, 0); // green
 }
}

void setColor(int red, int green, int blue)
{
 analogWrite(redPin, 255-red);
 analogWrite(greenPin, 255-green);
 analogWrite(bluePin, 255-blue); 
}

 

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다