본문 바로가기
aCodingTo

Arduino Uno - Stepper motor, RGB LED 구동

by redi 2018. 11. 27.
반응형

사실 내가 만들려고 하는 것들에는 이 스텝모터는 필요하지 않은데.. 이걸 잘 쓰면 에어컨 셔터가 열리고 닫히고..
좌우로 바람을 보내는 기능을 수행할 수는 있겠다만..
아두이노에서 그게 필요할까.....

여튼
알리 판매자가 모터랑 보드만 달랑 보내는 바람에 일단 이 녀석의 정체가 무엇인지 확인을 해야 했다.

그러다가 찾은 사이트가 여기

드라이버 보드와 모터를 연결한 배선이 딱 내가 갖고있는 것과 같다.
모터는 28-BYJ48 Stepper motor, 드라이버는 ULN2003 Drive라고 하는데 딱 테스트용 내구성이라고 하는 모양..
그래서 정말 뭔가 만들 생각이면 이것 말고 A3967 EasyDriver를 쓰라고 하는데.. 뭐 일단 나는 당장 쓸 생각이...

이것보다 RGB LED가 더 좋아보이는데.. 이걸로 디스코볼을 만들 수 있지 않을까ㅋㅋㅋ
GND단자를 공유하고 +전압을 PMW 방식으로 조절해서 각 색상의 강도를 조절하고 그 결과 다양한 색을 내게 되는 모양이다. 그래서 ~핀 3개를 쓰고, 그 핀을 지정해주고 각 핀의 출력값을 256 단계로 조절하면 끝.

 


int redPin = 11;

int greenPin = 10;

int bluePin = 9;


void setup()

{

  pinMode(redPin, OUTPUT);

  pinMode(greenPin, OUTPUT);

  pinMode(bluePin, OUTPUT); 

}

void setColor(int red, int green, int blue)

{

  analogWrite(redPin, red);

  analogWrite(greenPin, green);

  analogWrite(bluePin, blue); 

}


void loop()

{

  setColor(255, 0, 0); // red

  delay(100);

  setColor(0, 255, 0); // green

  delay(100);

  setColor(0, 0, 255); // blue

  delay(100);

  setColor(255, 255, 0);// yellow

  delay(100); 

  setColor(80, 0, 80); // purple

  delay(100);

  setColor(0, 255, 255);// aqua

  delay(100);

  setColor(100, 100, 0); // red

  delay(100);

  setColor(0, 100, 100); // green

  delay(100);

  setColor(100, 0, 100); // blue

  delay(100);

  setColor(50, 100, 50);// yellow

  delay(100); 

  setColor(100, 50, 50); // purple

  delay(100);

  setColor(50, 50, 100);// aqua

  delay(100);

}

아주 정신없는 조명을 만들었군....

728x90
반응형