무대를 움직일 때 어떤 모터를 쓸 것인가 하는 고민에서 이것저것 실험해 보고 있다.
이번에는 개중에서 DC모터 제어를 알아보자.
DC모터는 +,-입력만 있어 전원을 인가해주면 바로 회전하지만 그 자체로는 방향이나 속도 조정은 안된다.
MX1508 모터드라이버를 사용해 방향과 속도를 제어할 수 있다.
MX1508 모터드라이버 핀맵
+,- : DC전원을 인가한다. (2~10V 사이)
A1, A2 : 모터A용 신호 입력 (1.8~7V 사이)
B1, B2 : 모터B용 신호 입력
모터A, 모터B : 각각 모터에 연결한다.
결선도
※DC모터는 소비전력이 크기 때문에 외부전원을 이용하는것이 추천된다.
동작 코드
const int FwdPin = 6; const int BwdPin = 7; boolean DirFlag = true; void setup() { // put your setup code here, to run once: pinMode(FwdPin, OUTPUT); pinMode(BwdPin, OUTPUT); } void loop() { // put your main code here, to run repeatedly: if(DirFlag){ analogWrite(FwdPin,220); delay(5000); }else{ analogWrite(BwdPin,220); delay(5000); } analogWrite(FwdPin, 0); analogWrite(BwdPin, 0); DirFlag = !DirFlag; delay(2000); }
동작속도를 조절하기 위해 analogWrite를 사용했는데, 속도조절을 고려하지 않으면 단순하게 digitalWrite를 걸어도 된다.
동작속도 조절이 잘 안먹히는 것 같기도 하고...
동작 예
※외부전원을 3v (AA * 2) 넣고 있는데, 좀 부족한 듯..
댓글 없음:
댓글 쓰기