프로젝트

아두이노 분수 만들기

페이지 정보

작성자 브랜든 작성일16-10-26 11:56 조회7,593회 댓글0건

본문

저희 집 근처에 분수가 있는 공원이 있습니다.

그 분수를 보면서

 

"내가 만든 분수는 저 분수보다 훨씬 나을꺼야"

 

라는 생각에 속으로 몇 번 되뇌다가 드디어 만들게 되었습니다.

 

 

부품 알아보기

 

액체펌프(수중모터) , 아두이노 우노, 아두이노 모터 드라이버 쉴드(L293D) , 글루건이 필요하며,

아크릴, 아크릴본드는 작은 수조가 있다면 생략 가능합니다.

 

 

제작 과정

 

주의. 이 프로젝트는 물(액체)를 사용하므로 감전되지 않게 주의 바랍니다.

 

분수의 틀이 될 수조가 없으므로 높이 5cm, 가로 10cm, 세로 15cm 정도로 만들었습니다.


36a103428393c6ce0190669dbefc4771_1477447 

 

아크릴본드가 없어서 글루건으로 부착했습니다.
글루건은 물이 새기가 쉬우니 수시로 물이 새는지 확인해야 합니다.

 

글루건으로 붙이다가 프로젝트 끝날 것 같습니다. 아크릴 부착시에는 되도록이면 아크릴 본드를 애용하세요!

 

TIP! 아크릴 본드를 이용한 접착방법은 타 접착제의 접착 방법 순서가 다릅니다.
두 개의 아크릴 판을 직각으로 세우고 판 사이에 접착제가 스며들게 합니다.

(추가로 아크릴본드로 부착시에는 아크릴삼각쫄대를 이용해도 되고,

아크릴본드의 주사기가 새는지 사전에 물로 확인해야 됩니다.)

 

36a103428393c6ce0190669dbefc4771_1477447

 

한 면에 수중모터의 전선이 나갈 수 있도록 두께에 맞게 뚫어서 글루건으로 부착해 보았습니다.

 

CAUTION! 수중모터는 일반 전동모터와 다르게 모터 부분이 물에 완전히 잠기게 물을 넣어주셔야 됩니다.
(물이 수중모터의 열을 식혀주기 때문입니다.)

 

36a103428393c6ce0190669dbefc4771_1477447 

 

위와 같이 배선합니다.

액체펌프는 방향상관없이(+,-상관없이) 똑같습니다.



소스코드 알아보기

 

아두이노 코드입니다. 

 

#include <AFMotor.h>

AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);

void setup()
{
  motor1.setSpeed(0);
  motor2.setSpeed(0);
  motor3.setSpeed(0);
  motor1.run(FORWARD);
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  Serial.begin(9600);
}//모터를 설정합니다.

int cnt=0;

void loop()
{
  for(cnt=0;cnt<3;cnt++)
  {
    position_side();
    delay(1500);
    position_M();
    delay(1500);
  }//3번 반복합니다.
  all_power();
  delay(2000);
  all_stop();
  delay(2000);
}

void all_stop()
{
  motor1.setSpeed(0);
  motor2.setSpeed(0);
  motor3.setSpeed(0);
}//수중모터를 모두 멈춥니다.

void all_power()
{
  motor1.setSpeed(250);
  motor2.setSpeed(250);
  motor3.setSpeed(250);
}//수중모터를 모두 작동합니다.

void position_L()
{
  motor1.setSpeed(250);
  motor2.setSpeed(50);
  motor3.setSpeed(50);
}//왼쪽 수중모터를 작동합니다.

void position_M()
{
  motor1.setSpeed(50);
  motor2.setSpeed(250);
  motor3.setSpeed(50);
}//가운데 수중모터를 작동합니다.

void position_R()
{
  motor1.setSpeed(50);
  motor2.setSpeed(50);
  motor3.setSpeed(250);
}//오른쪽 수중모터를 작동합니다.

void position_side()
{
  motor1.setSpeed(250);
  motor2.setSpeed(50);
  motor3.setSpeed(250);
}//가운데를 제외한 양쪽 수중모터를 작동합니다.
 

 

헤더파일을 다운받지 않아서 작동되지 않는 일은 없겠지요?

헤더파일은 이곳에서 받으시면 됩니다!

 https://github.com/adafruit/Adafruit-Motor-Shield-library

 

 

 

동작 영상보기

 

<

 

USB의 전압, 전류로는 물이 눈에 띄게 솟구치지 않는 것 같습니다.

 

생각해보니 공원에 있는 분수가 가장 아름답네요:D

 

PS.

아직 진행중인 프로젝트입니다.

의견이 있으시다면 댓글에 달아주세요! 참고하겠습니다.

 

댓글목록

등록된 댓글이 없습니다.


모바일 버전으로 보기