DOGGY Vol.2 실행 영상



DOGGY Vol.2 실행 영상




설명 : 사람을 낯설어 하고 가까이 가지 못 하는 유기견을 표현한 Interaction 작품
초음파 센서를 이용하여 앞의 물체를 인식하고 거리가 20cm 이내에 물체가 있을 경우
멈추고 LED를 켜며, 고개를 절래절래 흔든다

아쉬운 점 : 시간이 이틀 정도만 더 있었다면 카메라를 달아 사람 얼굴을 인식하고
뒤로 물러서는 액션을 보여줄 수 있었을 것 같다
사람 얼굴을 DOGGY가 보고 인지하고 있다는 것을 사람이 알게 될 경우
인터랙션 효과가 배가 될 것이라고 생각하기 때문에 아쉬움이 더 크다

배운 점 : 파이널 때는 모든 과목의 과제들이 집중되기 때문에 시간이 더욱 촉박하다
제한된 시간 내에 최대의 효과를 내기 위해 중요한 것에 집중할 필요가 있을 것 같다
어떤 것이 더 중요하고 덜 중요한지 우선순위를 정해 계획을 잘 세워야 할 것 같다
이번 프로젝트에서는 카메라로 사람 얼굴을 인식시키는 데에 일주일을 소비한 것이
큰 타격이었다 다음에는 먼저 할 수 있는 것부터 다 구현해 놓은 뒤에, 남는 시간에
차근차근 다음단계를 진행해 나가도록 해야겠다




Arduino 4WD robot Interaction 소스코드

// connect motor controller pins to Arduino digital pins
// motor one
int enA = 10;
int in1 = 9;
int in2 = 8;
// motor two
int enB = 5;
int in3 = 7;
int in4 = 6;
void setup()
{
  // set all the motor control pins to outputs
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  Serial.begin(115200);  //initial the Serial
}
void demoOne()
{
  // this function will run the motors in both directions at a fixed speed
  // turn on motor A
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  // set speed to 200 out of possible range 0~255
  analogWrite(enA, 200);
  // turn on motor B
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  // set speed to 200 out of possible range 0~255
  analogWrite(enB, 200);
  delay(2000);
  // now change motor directions
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  delay(2000);
  // now turn off motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}
void demoTwo()
{
  // this function will run the motors across the range of possible speeds
  // note that maximum speed is determined by the motor itself and the operating voltage
  // the PWM values sent by analogWrite() are fractions of the maximum speed possible
  // by your hardware
  // turn on motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  // accelerate from zero to maximum speed
  for (int i = 0; i < 256; i++)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  }
  // decelerate from maximum speed to zero
  for (int i = 255; i >= 0; --i)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  }
  // now turn off motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}

void go() {
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  // set speed to 200 out of possible range 0~255
  analogWrite(enA, 255);
  // turn on motor B
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  // set speed to 200 out of possible range 0~255
  analogWrite(enB, 255);
  delay(2000);
}

void stopA() {
  // now turn off motors
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}


void goR() {
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(enA, 255);
  delay(1000);
}

void goL() {
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enB, 255);
  delay(1000);
}
void loop()
{
  if (Serial.available())  {
    byte cmd = Serial.read();
    //    Serial.write(Serial.read());//send what has been received
    if (cmd == 0x55) {
      go();
    } else if (cmd == 0x44) {
      stopA();
    } else if (cmd == 0x52) {
      goR();
    } else if (cmd == 0x4C) {
      goL();
    }
  }
}




" 이종호 교수님 블로그에서 퍼옴 "







DOGGY Vol.2 실패보고서 (last modified 12/22)










WiFi Camera BT Car with Blueinno & Motor


참고 동영상

최고 도움 준 사이트 3

1. http://www.kocoafab.cc/make/view/687
2. http://kocoafab.cc/make/view/156
3. http://www.instructables.com/id/Face-detection-and-tracking-with-Arduino-and-OpenC/?ALLSTEPS



[얼굴인식]


[자동차 위에 캠 설치]




[자동차 위에 고프로 설치]



[쿼드콥터]



[아두이노 음성 인식 탱크]


[블루이노에 조도센서 달아 LED 제어]
http://blog.naver.com/icbanq/220706807744


[오픈소스 링크 주소]
http://blog.naver.com/skkong89/220284507048
https://processing.org/reference/libraries/
https://github.com/atduskgreg/opencv-processing


[아두이노에 웹캠 다는 구조]
http://fribot.blog.me/220391238091

[따라다니는 카트]
http://prezi.com/o9nbhuq4cni8/?utm_campaign=share&utm_medium=copy&rc=ex0share

[문도리노 RC카 조립 참고]



[RC카 선 연결 참고]
http://blog.naver.com/5047848/220462035317



Piranha using Arduino & 1 Motor




[링크 구조]



[최종 작품]


Title : Piranha

준비물 : 포맥스 2t, 스노잉지, 색연필, MDF, 볼트, 너트, 아일렛,
아두이노, 적외선 센서, 모터, 베터리

설명 : 물 길을 가르며 사람을 잡아먹을 듯 달려오는 피라냐의 모습을 형상화 함

어려웠던 점 : 
1. 아래에서 위를 바라보는 구조로 해서 피라냐가 위를 보며
입을 벌리도록 만들고자 했는데, 모터의 힘이 약해서 링크 구조가 위로 올라가지 않음
2. 처음 구조를 너무 크게 잡아서 포맥스를 길게 잘라 구성하다보니
모터의 힘이 약해 피라냐의 입이 잘 안 벌어지는 문제점이 있었음

극복 : 
1. 가로로 눕혀서 만듬
2. 포맥스 연결 부위의 볼트 너트의 무게를 줄여
모터의 힘이 충분히 전달될 수 있도록 함







Arduino & Motor를 이용한 동물 만들기


1안. 공작새








2안. 피리 부는 사나이





3안. 사과 먹는 코끼리






Arduino & Motor를 이용한 Wiper





Arduino와 Motor를 이용한 Wiper

적외선 센서를 이용하여

일정 거리 이상이 되면 정방향으로 돌고
일정 거리 미만이 되면 역방향으로 돌도록 코딩하였습니다.



Interaction Link Structure reference URL




1.

설명 : 3:07에 나오는 꽃 영상에서 착안하여 꽃이 피어나는 모습을
모터와 링크 구조를 이용하여 만들 예정입니다.

I'm going to make a flower bloom using a motor and linkage structure.


2.

설명 : 2:30에 나오는 일본 여성이 활을 뽑아 화살에 넣고 쏘는 모습에서 착안하여
나비가 꽃에 날아왔다가 날아가는 모습을 만들 예정입니다.



3.

설명 : 1:18에 나오는 아코디언 영상에서 착안하여 꽃이 바람에
흔들리는 모습을 만들 예정입니다.



4.

설명 : 발 앞 뒤로 왔다갔다 하는 움직임과 고개 위아래로 움직이는 동작
응용 예정




참고 링크 구조









Interaction DOGGY Light





TiTle : DOGGY (Interaction Light)


배운점 : 우리가 일상생활에서 사용하는 인터랙션 조명들을 보면서
                          쉽게만 생각했던 인터랙션이 직접 아두이노로 코딩을
해 보니 어렵다는 것을 배웠습니다.

아쉬운점 : 초기 컨셉에서는 DOGGY의 집도 함께 구현해서
           서로 인터랙션이 일어나도록 하려고 했었는데
                          시간이 부족해서 집은 구현하지 못 했던 점이 아쉽습니다.