손바닥컴퓨터들2011.07.04 21:46
로보밥 여름특집!!!   얼렁뚱땅 움직이면 쏘는 버블건을 제작했습니다.

아파트 계단이나 현관문에 많이사용되는 모션센서형 전등을 많이 보셨을 겁니다.   사람이 없을때는 미작동 되다가 다가오면 작동되므로 에너지 절약도 되고, 스위치 작동시키는 불편함도 없으므로 실생활에 매우 유용한 자동화 기기입니다.

이때 사용되는 센서가 PIR 근적외선 모션센서인데요 인체에서 방사되는 근적외선의 변화량을 감지하는 PIR센서가 들어있습니다. 아마도 많은 분들이 이를 응용하여 무언가를 만들고 싶어하실겁니다. 저도 마찬가지죠 ^^.   마침 며칠전 대형 할인점에 갔다가 버블건을 보고 좋은 응용예가 생각이 나서 만들어 봤습니다.

버블건의 원리는 모터의 회전시 물펌프로 비누액체를 뿜어올려주면서 동시에 팬으로 바람을 불어 비누방울을 날려주는 것입니다.  헉;;;  이 가격에 이런 기계를 만들어내는 분들에게 감사의 인사를 드리고 싶습니다 ^^.

모터 하나로 물펌프와 송풍용팬을 동시에 작동시키는 구조인데요, 보통 모터를 제어하려면 모터 드라이버를 사용하거나 릴레이를 사용하는게 정석일테지만,  이 버블건은 모터만 켜주면 되는건 아니고 방아쇠와 연결된 핸들이 비누액을 버블홀에 골고루 발라주는 역활을 하므로 반드시 방아쇠를 잡아 당겨줘야하는 구조였습니다.

음,,,   결국  서보모터 하나로 해결이 되었습니다.  그냥 손가락으로 당기듯이 서보모터를 작동시키는 방법입니다.
 단, 방아쇠의 스프링 장력이 좀 쌘것같아서 일부를 절단한 상태입니다.

버블건도 전등같이 하루 종일 켜져 있으면 효율적이지 않겠죠?!
항상 켜져있는것보다 사람이 곁에 있을경우에만 작동시킬 수 있으므로 효율적이며,  모르고 다가온 사람에게 놀라움을 선물할 수 도 있게됩니다. 







구현TIP
PIR 모션센서는 5V~12V에서 작동됩니다만,  9V이상의 전압에서 더 반응성이 좋습니다.  가령, 5V전원으로 사용시 감지된 뒤에 한동안 재 감지가 잘 되지 않는 현상이 있습니다.  9V전원을 사용후 이증상이 없어지는것을 확인했습니다.  즉, 수시로 감지되는 경우 9V이상의 전압으로 작동하시기 바랍니다.  단, 신호출력선은 아두이노에 입력해야 하므로 9V에 연결하시면 안되고 5V전원선과 10K옴 저항으로 연결해주셔야 합니다.


회로 연결 방법


아두이노 스케치 소스
#include <Servo.h>

const int ledPin = 13;
const int inputPin = 2;
const int posA = 90;
const int posB = 60;
Servo myservo;
unsigned long lastShotTime;

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(inputPin, INPUT);
    myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  lastShotTime = millis();
  Serial.begin(9600);
}

void loop(){
  int val = digitalRead(inputPin);
 // Serial.println( val);
   delay(500);
   if(val){
     myservo.write(posA);
     digitalWrite( ledPin, LOW);
   }else{
    digitalWrite( ledPin, HIGH);   
    trigger();
   }
}

void trigger(){
  if((lastShotTime + 20000UL) < millis() ){
    readyShot();
  }
  longShot();
  lastShotTime = millis();
  Serial.println( lastShotTime);
}

void readyShot(){
  myservo.write(posB);
  delay(500);
  myservo.write(posA);
  delay(500);
  myservo.write(posB);
  delay(500);
  myservo.write(posA);
  delay(500);
  myservo.write(posB);
  delay(500); 
  myservo.write(posA);
  delay(500);   
}

void longShot(){
  myservo.write(posB);
  delay(3000);
  myservo.write(posA);
}

소스 소개
PIR 센서에서 움직임이 감지되면, 출력선의 전압신호가 High에서 Low로 떨어집니다. 이를 디지탈핀에서 감지하여 서보모터를 회전시켜서 버블건을 작동시키게 됩니다.   지정된 시간(20000ms, 20초)동안 미작동상태에서 작동될 경우, 초기 거품 생성을 위해 3회를 짧게 작동시킨 후 지정된 시간(3000ms, 3초)동안 작동 되도록 프로그램 되었습니다.


재료:
1. 버블건 4,000원 ~ 10,000원 정도 (문방구, 대형할인점)
2. 아두이노(Arduino) [링크]
3. PIR 근적외선 모션센서 [링크]
4. 서보모터[링크]
5-1. 휴대형 전원 => 9V 배럴잭[링크] + 9V 건전지 (알카라인 고급형)
5-2. 실내형 전원 => 9V 아답터 전원 [링크]

( 9V 전지는 알카라인 고급형을 사용하셔야 잘 작동됩니다. 저가 9V 망간전지로는 서보모터 작동이 잘 안되네요)

 

연결법 안내 사진추가(2012.6.10)
안내해드린 모션센서가 5V에서 작동시엔 감이 너무 느려서 답답하며 9V ~12V 전원을 사용해야 정상 작동이 됩니다. 이때 어떻게 연결을 해야하는지 문의가 많으셨는데요...  늦게나마  아래의 사진을 올려드리오니 참고하시기 바랍니다. 아두이노 전원이 9~12V 정전압 전원인경우 아래 그림과 같이 아두이노에 있는 Vin 단자로부터 전원출력이 가능하므로 편리합니다. 별도의 전원을 사용하실때는  Vcc와 GND에 별도전원을 연결하시고  꼭  아두이노+센서+전원의 GND를 공통 함께 연결해주시기 바랍니다. 



 


저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. 신광호

    혹시 여기에 쓰이는 pir 센서가
    http://www.artrobot.co.kr/front/php/product.php?product_no=263&main_cate_no=36&display_group=1
    해당 주소에 있는 센서 맞나요?
    이 사이트의 센서가 단순 센서만 있는건지 아니면 모듈인지 궁금하네요.
    센서만 있는 제품이라면 단순히 꼽는다고해서 출력데이터를 얻을수 없을거 같은데요 .. 궁금합니다.

    2011.11.25 22:47 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 안녕하세요
      네, 예제에서 사용된 PIR센서모듈은 링크된 제품이 맞습니다. 말씀하신데로 PIR소자만으로는 안되고 회로가 내장된 보드를 사용해야 쉽게 사용 가능합니다.

      2011.11.25 23:55 신고 [ ADDR : EDIT/ DEL ]
  3. 비밀댓글입니다

    2012.03.25 11:28 [ ADDR : EDIT/ DEL : REPLY ]
  4. 최준선

    이 프로젝트를 배우고싶은데 배울수있을까요

    2012.03.28 15:55 신고 [ ADDR : EDIT/ DEL : REPLY ]
  5. 최준선

    여기서 쓰시는 서보모터가 링크에 걸어놓으신 모터중에 어느거를 사용하신거죠??

    2012.03.28 16:21 신고 [ ADDR : EDIT/ DEL : REPLY ]
  6. 최준선

    답글해주신거에 감사드립니다 제품구입하고 프로젝트 들어가구서 다시한번 여쭤보겠습니다
    감사합니다^^

    2012.03.29 22:01 신고 [ ADDR : EDIT/ DEL : REPLY ]
  7. 김동희

    쪽지를 남겻는데요.... 혹시 못보셧을까봐 글남겨봅니다

    얼마전에 아두이노 버블건때문에 몇개 질문했었는데,
    좀더 물어볼게있어서 쪽지 드려요.
    링크거신 pir 적외선 센서가 어느정도 거리에 있어야 반응하는거에요?
    다 똑같이 작동까지 되긴 하는데 근처에 사람이 없어도 자동으로 발사가 되버리내요.. 멀리 가있어도 pir 주위에 침대말고 아무것도 없는데 센서 상관없이 발동이 되버립니다.
    정말 완성하구싶은데 방법 없을까요

    2012.06.08 00:11 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 거리를 측정하는 센서가 아니라서 정확한 거리는 알수없고 주변환경에 따라 감도나 반응 거리가 달라집니다. 더불어 관측자 자신이 감지될 수도 있습니다. 인체감지라기보다는 근적외선 발현체(인체)의 움직임을 감지합니다.
      PIR용 전원을 몇V로 쓰셨는지요? 12V로 연결해보시면 반응속도와 반응도가 향상되실겁니다. 적어도 최소 9V는 사용하셔야합니다.

      2012.06.08 08:56 신고 [ ADDR : EDIT/ DEL ]
  8. 박하림

    PIR 전원 9V 사용하라고 하셨는데 연결은 어떻게 하는지 자세히좀 알려주세요ㅠ

    2012.06.09 20:11 신고 [ ADDR : EDIT/ DEL : REPLY ]
  9. 찬기

    저도 pir센서를 이용하여 간단한 프로젝트를 하려 하는데

    아두이노가 어떤모델인지 궁금합니다.

    2012.06.22 11:55 신고 [ ADDR : EDIT/ DEL : REPLY ]
  10. smileblue

    감지상태가 안 좋은 이유가 있었군요 좋은 팁 감사합니다..^^

    2013.01.03 11:45 신고 [ ADDR : EDIT/ DEL : REPLY ]
  11. geon

    관리자의 승인을 기다리고 있는 댓글입니다

    2013.05.10 13:48 [ ADDR : EDIT/ DEL : REPLY ]
  12. 비밀댓글입니다

    2013.06.05 10:55 [ ADDR : EDIT/ DEL : REPLY ]
  13. 이동규

    이번에 모션센싱 버블건을 만들어 보려고합니다. 견적서를 뽑아야 학부에서 지원을 해준다고 하는데.. 혹시 실례가 안된다면 아누이노어떤거 써야 하는지 알려주실수 있나요?? 서보모터랑 아답터도 부탁드립니다. 모션센서는 한개 밖에 없어서 제가 하면 될것 같은데 딴거는 할줄 몰라서요..
    링크에서 여러개라 고를수가 없네요.

    2013.09.27 17:47 신고 [ ADDR : EDIT/ DEL : REPLY ]
  14. 이영찬

    신호선에 5v 신호와 10k옴을 단 이유가 궁금합니다. 설명해주실 수 있나요?

    2013.11.12 23:30 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 해당 PIR센서는 오픈컬렉터 타입으로 되어있습니다.
      (다양한 전압을 사용하는 기기와의 연결 호환성을 위한것으로 생각됨)
      이때문에 외부기기의 전원에 저항을 통한 연결이 필요합니다.
      자세한 이유는 트랜지스터에 대해 자세히 다루고 있는 전자회로 관련 서적을 참고하시기 바랍니다.

      2014.07.02 22:44 신고 [ ADDR : EDIT/ DEL ]
  15. 비밀댓글입니다

    2014.09.11 10:10 [ ADDR : EDIT/ DEL : REPLY ]
  16. 비밀댓글입니다

    2014.09.11 10:10 [ ADDR : EDIT/ DEL : REPLY ]
  17. 김민정

    안녕하세요. 이쪽분야로는 전혀 모르는 사람입니다. 졸업작품을 친구와함께 하게되었는데요. 찾아보던중 쉬워보이길래 부품까지 다 사고 시작하려니 도저히 시작할수가 없네요. ㅠ 선꼽는 위치같은것들이 정확히나오는 사진같은게 있을까요? 부탁드립니다. ㅜ ria7749@hanmail.net 메일로 보내주실수있나요..ㅠㅠ?

    2014.09.11 10:14 신고 [ ADDR : EDIT/ DEL : REPLY ]
  18. 저거스케치소스는 완성된소스인가여?

    2014.10.07 14:07 신고 [ ADDR : EDIT/ DEL : REPLY ]
  19. 윤정균

    저기 저도 이번에 졸업작품땜에 그러는데 이게 쉬워보이진 않은데 한번 시도해보려고 하는데요
    하드웨어 선꽂는거 좀 상세하게 사진이나 알려주시면안될까요ㅠㅠ
    yjg11233@naver.com 여기루 보내주시면 감사하겠습니다

    2014.10.07 15:13 신고 [ ADDR : EDIT/ DEL : REPLY ]
  20. 윤정균

    저기 저도 이번에 졸업작품땜에 그러는데 이게 쉬워보이진 않은데 한번 시도해보려고 하는데요
    하드웨어 선꽂는거 좀 상세하게 사진이나 알려주시면안될까요ㅠㅠ
    yjg11233@naver.com 여기루 보내주시면 감사하겠습니다

    2014.10.07 15:13 신고 [ ADDR : EDIT/ DEL : REPLY ]
  21. 최수진

    자포자기 하는 심정으로 글을 달아봅니다 ㅠㅠ.. 우선 코딩도움 많이 받았습니다 감사합니다~~!
    저는 미디어아트에 관심이있는 디자인과 학생입니다. 이번에 전시를 하게되었는데
    소리센서로 후 불면 서보모터가 작동하는것까지 코딩모두 완료되었고, 방아쇠를 모터가 잡아당기는지 실험도 한번 마친터라 잘 작동하겠지 생각했는데 방아쇠가 완전히 잡아당겨져야 총구부분에 버블액이 묻으면서 발사가 되더라고요...
    버블건을 뜯어서 스프링 (방아쇠가 제자리로 돌아오게하는)부분을 잘라보고 휘어도보고 고무줄로 바꿔도 끼워봤는데 ㅠㅠ.. +,-극이 만나는 스프링부분도 조금 잘라보았죠 근데 잘잡아당기지를 못하네요..
    어느 부분을 잘라내야 쉽게 당겨질까요..
    서보모터의 힘이약한탓도 있는것같아요 미니서보모터인 sg90쓰고있습니다 ㅠ.ㅠ
    바쁘시겠지만 혹시라도 시간되시면 답변부탁드려요!

    2015.03.31 06:00 신고 [ ADDR : EDIT/ DEL : REPLY ]