티스토리 뷰

모터 2개 연결하기

이제 머리가 조금 아파지는 시간이 왔습니다. 설명한 대로 연결하지 않으면 모터가 반대로 움직입니다. 이런 경우 코딩이 잘못되었는지 회로가 잘못되었는지 확인하기가 어렵습니다.

 

처음 배우는 사람은 누구나 어려워합니다. 공부하다가 머리가 아픈 것은 자연스러운 일이니 너무 걱정할 필요 없습니다. 열정을 갖고 꾸준히 반복하여 읽다보면 어느 순간 탁 이해가 될 것입니다.

그림 2-59 아두이노와 모터 드라이버 및 모터 2대 연결

 

빨간색은 플러스, 검은색은 마이너스’

 

전자회로를 만들 때 보물과 같은 지식입니다. 모터의 빨간색 선은 플러스 극과 연결하고 검은색 선은 마이너스 극과 연결합니다. 그리고 그림 2-60처럼 모터 드라이버 모듈의 핀과 아두이노의 디지털 핀을 연결합니다. 다음 표를 보고 연결합니다.

그림 2-60 모터 2개 연결하기

 

‘A-IA의 A가 A-IB의 B보다 알파벳순으로 먼저이다. 따라서 5, 6중 더 먼저인5번 핀과 연결한다.’

 

어때요? 이렇게 이해하니 참 쉽죠? 만약 모터(MOTOR) A와 연결된 5번 핀으로 전압을 주고, 6번 핀으로 전압을 주지 않으면 어떻게 될까요? 그림 2-61처럼 바퀴를 봤을 때 모터가 시계 방향으로 회전합니다.

그림 2-61 시계방향으로 회전하는 모터

 

그림 2-61처럼 항상 바퀴를 보면서 어떤 방향으로 회전하는지 살펴본다는 것! 중요한 내용이니 다시 한 번 기억해주세요. 그림 2-62와 같이 선이 없는 쪽에 바퀴를 연결하는 것도 잊지 않았죠?

그림 2-62 바퀴 연결하기

 

모터 2개를 사용해서 자동차처럼 움직여 보겠습니다. 자동차는 어떻게 움직일까요? 생각나는 대로 적어 봅시다.

 

이렇게 5가지 경우를 생각할 수 있습니다. 이 5가지 경우에 바퀴가 각 어떻게 움직이는지 생각하면서 코딩을 해봅시다.

그림 2-63 모터 A는 오른쪽 바퀴-모터 B는 왼쪽 바퀴

 

모터 두 개를 이렇게 두고 생각해보겠습니다. 디지털 5, 6번과 연결된 모터(MOTOR) A는 오른쪽 바퀴입니다. 디지털 9, 10번과 연결된 모터(MOTOR) B는 왼쪽 바퀴입니다. 문제를 하나씩 해결해봅시다.먼저 앞으로 움직이도록 코딩을 하겠습니다. 모터(MOTOR) A(오른쪽)와 모터(MOTOR) B(왼쪽)가 어떻게 움직여야 할까요?

그림 2-64 손으로 모터를 잡고 회전방향 생각하기

그림 2-64처럼 모터를 두 손으로 잡고 곰곰이 생각해봅시다. 검은색 바퀴에 스티커를 붙이고 생각하는 것도 좋은 방법입니다. 아니면 손이 바퀴라고 생각하면서 돌려보는 것도 좋습니다.

 

그림 2-65처럼 오른쪽 모터는 시계 방향, 왼쪽 모터는 시계 반대 방향으로 회전하면 됩니다. 따라서 오른쪽 모터와 연결된 피더블유엠(PWM) 디지털 5번 핀으로 전압을 주고 피더블유엠(PWM) 디지털 6번 핀으로는 전압을 주지 않습니다.

 

왼쪽 모터와 연결된 피더블유엠(PWM) 디지털 9번 핀으로 전압을 주지 않고 피더블유엠(PWM) 디지털 10번 핀으로는 전압을 줍니다.

그림 2-65 앞으로 움직이기

왼쪽 모터인지 오른쪽 모터인지 잘 확인하고 그림 2-66처럼 코딩을 합니다. 위에 있는 표를 보고 번호 순서대로 코딩을 하면 됩니다. 어때요? 참 쉽죠?

그림 2-66 자동차를 앞으로 이동하기

 

그리고 그림 2-67처럼 함수를 사용하면 편하겠다는 감이 오죠?

그림 2-67 <앞으로> 함수

 

이제 그림 2-68처럼 뒤로 움직일 수 있도록 코딩을 하겠습니다. 앞으로 가는 것과 반대로 코딩하면 쉽게 만들 수 있겠죠?

그림 2-68 뒤로 움직이기
그림 2-69 <뒤로> 함수

 

이제는 그림 2-70처럼 왼쪽으로 움직이도록 코딩을 하겠습니다. 왼쪽으로 움직이는 경우는 2가지입니다.

이 책에서는 자연스럽게 움직이게 하도록 두 번째 방법으로 코딩을 하겠습니다. 두 모터 모두 시계 방향으로 회전하면 왼쪽으로 움직입니다. 머릿속으로 상상하는 것이 중요합니다. 바퀴가 어떻게 움직이는지 눈, 손을 이용해서 잘 생각해 봅시다.

 

그림 2-70 왼쪽으로 움직이기
그림 2-71 <왼쪽으로> 함수

 

오른쪽으로 움직이는 것도 쉽게 코딩할 수 있겠죠?<그림 2-72> 왼쪽으로 움직이는 것과 반대로 움직이면 됩니다. 모터가 모두 시계 반대 방향으로 회전하면 됩니다.

그림 2-72 오른쪽으로 움직이기
그림 2-73 <오른쪽으로> 함수

 

자동차를 멈추게 하는 것은 너무 쉽겠죠? 그림 2-74처럼 모든 핀에 전압을 보내지 않으면 됩니다.

그림 2-74 <멈추기> 함수

 

이제 키보드로 이동하는 방향을 바꿔봅시다. 이 스크립트 기억나나요?

그림 2-75 화살표 키로 움직이기

 

그림 2-75에서 코딩한 것을 보고 그림 2-77처럼 화살표 키와 스페이스 키로 자동차를 움직이는 프로그램을 만들어 봅시다.

 

그림 2-76처럼 마우스 오른쪽 버튼을 클릭하고 복사를 클릭하면 더욱 편하게 코딩을 할 수 있습니다.

그림 2-76 복사하기
그림 2-77 화살표 키를 이용하여 자동차를 움직이는 프로그램 완성

 

코딩을 아주 멋지게 잘했습니다. 또한, 변수를 이용하여 회전하는 속도를 바꿀 수 있습니다. 그림 2-78과 같이 회전하는 속도를 물어보고 대답한 값만큼 속도를 바꿀 수 있습니다. 변수라는 요술 지팡이를 잘 사용하면 멋진 작품을 만들 수 있습니다. 여러분의 아이디어로 더욱 멋진 작품을 만들어 보세요.

그림 2-78 대답 변수를 이용하여 코딩하기
그림 2-79 대답 변수를 이용하여 함수 만들기

댓글
댓글쓰기 폼