티스토리 뷰

모터를 구매한지도 어언 일주일...


이제야 글을 쓰게 된 이유는 과제폭탄이 터지는 바람에...ㅎㅎ ㅠㅠ





스텝모터를 구매했다!


모터 드라이버와 함께 구매했다! 네이버에 검색해보면 잘 되있는 곳이 많다. 하하





처음 모터를 받고 이번에 해본것은,


버튼을 누를때마다 스텝모터가 한바퀴씩 도는것과


블루투스 모듈과 통신해서 신호를 받을때마다 모터를 돌리는 것이다.


블루투스 앱은 지난번과 똑같은 앱을 사용하였다.



일단 회로연결!



모터드라이버와 모터는 맞는 핀에 끼워주면 되고,


모터 드라이버와 아두이노는 IN1부터 차례로 11, 10, 9, 8번에 연결해주었다. 핀 번호만 코드에서 수정해주면 아무렇게나 4개를 연결해줘도 상관없다. 하하


모터 드라이버에서 -에 GND를 +에 Vcc를 차례로 연결해준다.



그리고 또 블루투스 모듈을 사용할것이기 때문에, 블루투스 모듈과 아두이노와도 이전과 같은 방법으로 연결해준다.


버튼도 풀업저항으로 연결해주었다.



아 그리고 당연한 얘기긴 한데...모터드라이버와 아두이노는 m-f 점퍼선을 이용해서 연결해주어야한다.


안사뒀으면 구매했던 모터 두고 제사 지내야 할뻔했다.




아두이노 코드




스텝모터를 사용할것이기 때문에 <Stepper.h> 라이브러리를 include 해준다.


라이브러리를 include 하면 기본적인 함수는 다 제공을 한다...아두이노가 이렇게 좋다><



TxPin, RxPin, Button은 이전에도 했으므로 그에 맞게 initialize 해준다.


다음 stepsmotor라는 변수를 지정하였는데 이것은 모터가 얼마나 돌지를 지정해주는 변수이다.


2048이면 한바퀴, 1024이면 반바퀴이다.


저 변수를 적당히 조절해주면 내가 원하는 만큼 모터를 돌릴 수 있게 된다.




그리고 Stepper mystepper(stepsmotor, 8, 10, 9, 11)에서 모터의 회전과 모터드라이버와 연결된 pin 4개를 파라미터로 적어준다.


난 8, 10, 9, 11 이런 식으로 적었지만 8, 9, 10, 11이라 적어도 똑같은 결과가 나온다.




setup 함수에서는 블루투스 모듈과, 버튼을 initialize 해준다.


모터의 speed를 정할 수 있는데 더 높여봤지만 22이상은 모터가 돌아가질 못하는거 같았다.


10~20 사이가 괜찮을거 같다.



그리고 본격 loop 함수로 들어가는데,



먼저 버튼이 눌려졌는지는 검사한다.


풀업 저항이므로 만약 버튼이 LOW가 됐다면, 즉 버튼이 눌려졌다면 myStepper.step 함수를 이용해서 모터를 돌린다.


stepsmotor 변수는 1024이므로, 모터는 시계방향으로 반바퀴 돌게 될 것이다.



그 아랫부분은 블루투스 통신인데, 앱은 이전과 똑같은 앱을 사용하므로 블루투스 모듈에서 받을 수 있는 데이터의 가짓수는 총 4가지이다.


그중에서 첫번째 두번째 버튼만 사용하기 위해 받은 데이터가 1과 2일때만 동작을 지정해보았다.



블루투스 모듈에서 1을 받았을때는 모터를 시계방향으로 반바퀴 돌린다.


블루투스 모듈에서 2를 받았을때는 모터를 반시계방향으로 반바퀴 돌린다.


반시계방향은 간단하게 -를 붙여줌으로써 구현 가능하다.



그리고 나머지의 버튼은 아무런 동작도 하지 않도록 비워두었다.




동작동영상





화질을 안좋게 보면 모터가 돌아가는게 잘 안보일거 같다.


외국 유투브 동영상 올리는 사람들이 왜 모터에 테이프 같은걸 붙이는지 알겠다.




어쨌든, 코드에서 구현한대로 버튼을 눌렀을때 모터는 시계방향으로 반바퀴 돌고


안드로이드 앱의 첫번째 버튼을 눌렀을때는 모터가 시계 방향으로 반바퀴,


두번째 버튼을 눌렀을 때는 모터가 반시계방향으로 반바퀴 도는 것을 확인할 수 있었다.







스텝모터에 이전에 만들고 남았던 나노블럭을 조립해 끼워서 내 방 불끄는거 만들고 싶었는데 나노블럭이랑 크기가 안맞아도 너무 안맞아서


실망스러웠다 ㅠㅠ



3D 프린터를 써야하나 싶기도 하고...ㅠㅠ 좀더 생각해봐야겠다



다음엔 함께 구매했던 서보모터 제어 해봐야징





안드로이드 앱은 댓글로 메일주소 남겨주시면 보내드릴게요!





+)




댓글은 자꾸 달리는데 제가 빨리빨리 메일을 못보내 드리는거 같아서



https://github.com/ujink/Android-HC06-Arduino



링크로 가셔서 오른쪽 Clone or Download 누르신 후에


Download ZIP 누르시면 다운 가능합니다



간단한 앱이라 페어링을 앱 자체에서 해주지 않아요


사용하시는 모듈의 MAC 주소를 알아 낸 후에, 안드로이드 프로젝트 내부 자바 코드의 address 변수를 수정해주셔야 합니다!



혹시 궁금한거 있으시면 댓글로 남겨주세용

댓글