프로젝트

아두이노와 스마트폰으로 얼굴탐지(Face detection) 하기

페이지 정보

작성자 메카 작성일16-03-17 21:37 조회4,981회 댓글0건

본문


꽃 로봇 제어하기


02cd46d8a607ca14b01d10ead866e139_1458218
 

꽃 로봇이라함은 1개 이상의 서보모터를 사용하여서 
2축으로 움직이면서 말단부에는 꽃 그림이 그려져 있는 로봇을 칭합니다.


여러분이 꽃말고 다른것을 그리셨다면 좀더 특별한 로봇이 될것입니다.



[꽃 로봇 구조]

02cd46d8a607ca14b01d10ead866e139_1458218
 

꽃로봇은 빵판을 베이스로 글루건을 통해 2개의 서보모터를 연결 하였고 그위에 종이를 붙여넣은 구조로 되어있습니다.




[필요한 부품]
 
SG90서보모터
※다른 부품을 사용하셔도 됩니다.


HC-06

02cd46d8a607ca14b01d10ead866e139_1458218
 

스마트폰과 앱

http://blog.naver.com/roboholic84/220453341407

관련 정보는 이곳에 있습니다!

 

[배선]



아두이노 --- HC-06

0번핀 --- Tx

1번핀 --- Rx

5v --- VCC

gnd --- gnd


아두이노 --- 서보모터 1,2
(브레드보드가 붙은 서보모터가 1, 그림이 붙어있는 서보모터가 2)
5v --- VCC(붉은선)
gnd --- gnd(갈색선)
pin11 --- 1번 노란선
pin10 --- 2번 노란선




[소스코드]

 #include <Servo.h>
Servo Yservo;
Servo Xservo;
float x = 0,y = 0;
void setup() {
  // put your setup code here, to run once:
  Yservo.attach(11);
  Xservo.attach(10);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
}

void serialEvent() {
  int facenum = 0, facex = 0, facey = 0;
  if (Serial.available() > 0) {
    facenum = Serial.parseInt();
    facex = Serial.parseInt();
    facey = Serial.parseInt();
    if(Serial.read() == '\n'){
      if(facenum == 0){
        x = map(facex,0,2000,60,120);//받아온 수신값을 서보값에 맞춥니다.
        y = map(facey,0,2000,60,120);
        Yservo.write((int)y);//맞춰진값을 서보모터에 출력
        Xservo.write((int)x);
      }
    }
  }
}






[작동영상]



이번 프로젝트를 잘 따라 하셨다면 로봇이 얼굴을 향할것입니다!


읽어주셔서 감사합니다.



 

댓글목록

등록된 댓글이 없습니다.


모바일 버전으로 보기