[아두이노] 아두이노 RC카 준비

IOT/아두이노|2019. 5. 20. 09:00

[아두이노] 아두이노 RC카 준비 



지난시간까지 DC Motor 기본 방향과 속도 제어에 대해서 살펴 보았습니다. DC Motor에 대한 post를 그냥 마무리하면 아쉬울 것 같아서 간단히 아두이노 RC카에 실험을 연장에서 진행하면 좋을 것 같아서 post를 추가로 연장합니다. 아두이노 RC카를 어느선까지 실험을 할지는 아직 계획은 없습니다. 우선 가지고 있는 재료를 가져다가 RC카를 만들어 볼 예정입니다. 새로 뼈대를 만들고 하면 좋은데 손재주가 부족해서 예전에 사놓은 RC카 프레임을 가지고 제어를 해 볼 예정입니다. 오늘은 간단히 준비물과 조립에 대한 내용을 다루고 간단히 테스트해서 조립이 정상적으로 이뤄졌는지 살펴보도록 하겠습니다.


1. 아두이노 2륜 RC카 준비물


준비물 :

  • RC 프레임 몸체
  • 보조 바퀴
  • RC카 DC기어모드모터 2개
  • 바퀴휠 2개
  • L293D Motor Shield or L9110S Motor Shield
  • 아두이노우노
  • AAx4개 배터리 케이스 배터리 홀더 6V 아두이노
  • HC-06 Bluetooth 모듈

세트 구매 :

  • RC카 프레임세트(RC 프레임 몸체, 보조바퀴, RC카 DC기어모드모터 2개, 바퀴휠 2개, AAx4개 배터리 케이스 배터리 홀더)(약 6천원)
  • L293D Motor Shield(약4천원) or L9110S Motor Shield(약2천원)
  • HC-06 Bluetooth(약5천원)

개별 구매 : RC카 프레임세트는 가격대가 많이 차이 납니다. 개별적 구매한다면 다음과 같습니다.

  • RC카 DC기어모드모터 + 바퀴휠(약1400원) X 2개 = 약2800원
  • L9110S Motor Shield(약2천원)
  • AAx4개 배터리 케이스 배터리 홀더(약400원)
  • HC-06 Bluetooth 모듈(약5천원)
  • 몸체(직접제작)

해외 직구면 가격대는 더 떨어지겠죠. 아두이노가격을 제외한 나머지 가격을 1만원 이하로 낮출 수 있다.

추가부품 : 장애물 감지 센서를 부착한다면 다음 부품을 추가

  • Servo Motor(약1800원)
  • 초음파센서(약1200원)
  • 초픔파센서받침대(약1000~1200원)

잡담


RC카 프레임은 꼭 구매해야하는 것은 아닙니다. 그냥 CD케이스로 몸체를 만드셔도 되고 딱딱한 플라스틱이나 나무같은 걸로 만드셔도 됩니다. 그리고 균형을 잡히더라도 DC Motor를 몸체에 붙이시면 됩니다. 두바퀴로 RC카 몸체를 지탱하기 어렵기 때문에 두바퀴를 삼각형 형태로 두 꼭지점에 배치하고 나머지 꼭지점은 막대기 같은 걸로 보조 바퀴역활을 할 수 있게 RC카 프레임을 지탱할 수 있게 뭔가를 세우시면 됩니다. 그러면 재료비를 절약할 수 있습니다.

AAx4개 배터리 케이스 배터리 홀더의 경우도 그냥 기존 아두이노 세트나 부품 중 전원 공급하는 선이 있으면 그거롤 대체해도 됩니다. 6V로 DC Motor를 제어하는 것은 사실 Motor 회전에 힘을 잘 못 받습니다. 즉, speed 조절시 애먹게 되는 원인 중에 하나 입니다.

모터 쉴드는 2륜 RC카니깐 그냥 L293D 칩을 하나 몇백원짜리 구매하셔서 뻥판같은 작은 사이즈의 기판을 전자상가에서 판매하는데 몇백원 안합니다. 거기에다가 L293D를 기판에 납땡해서 모터쉴드를 제작하셔도 됩니다

실제로 최대한 절약한다면 아두이노우노+HC-06 합쳐서 만원정도 소요되고 나머지 DC 기어모터+바퀴휠 2개씩 약2~3천원 정도 들고 모터쉴드 기판을 만드는데 약1천원 안들거라 생각됩니다. 몸체는 집에서 궁글러다니는 네모란 딱딱한 플라스틱핱는 몸체만 구하시면 됩니다. 모든 풀세트로 조립한다면 약 만오천원정도 소요될 거라 생각됩니다. 기존에 아두이노우노랑 Bluetooth를 가지고 있는 분이라면 RC카 세트는 5~6천원도로 해결되겠죠. DC Motor Shield를 혹시 가지고 있는 분이라면 3천원 이라로 제작이 가능하겠죠.

재밌는 것은 RC카 프레임세트 가격하고 건전지 가격하고 비슷하다는 점 참고하세요. 편의점에서 1.5V 건전지 4개랑 9V 건전지 1개를 구매하니깐 7천원정도 하더군요. 충전 건전지 살것을 하고 후회했네요.

2. 아두이노 2륜 RC카 조립


2륜 RC카 프레임(구입가5800원)을 기반으로 설명하도록 하겠습니다. 직접 부품을 구매해서 대충 위치를 보시고 RC가 뼈대를 만드셔도 됩니다.

실험 준비 부품

  • RC카 프레임 몸체
  • 보조 바퀴
  • RC카 DC기어모드모터 2개
  • 바퀴휠 2개
  • L293D Motor Shield
  • AAx4개 배터리 케이스 배터리 홀더 6V 아두이노
  • 아두이노우노

쇼핑몰 마켓 아무곳에서 "아두이노 2WD RC카"로 검색하시면 판매 정보가 나오고 조립 과정이 잘 나와 있으니깐 보고 따라하시면 됩니다. 2륜 RC카 프레임을 구매하시면 설계도 같은 종이 한장과 많은 나사 부품을 보고 순간 당황하실 수 있지만 RC카 DC기어모터 조립과 보조바퀴 조립만 하시면 조립이 90% 완성입니다. 바퀴만 조립하면 조립이 끝났다고 생각하시면 됩니다.

1) 바퀴 조립



위 사진에서 DC기어모터 몸체 기준으로 바퀴휠과 안쪽에 검은색 원이 있는데 두개를 DC기어모터에 양쪽으로 끼우면 됩니다. 그리고 위 사진에서 나사 부분은 RC카 몸체에 연결할수 있는 길죽한 바가 있는데 두개를 양쪽으로 해서 긴 나사를 끼워서 고정시킵니다. 그외는 따로 없습니다. DC기어모터의 전원 선이 너무 두꺼워서 선을 납땜했는데 살작 눌렀는데 부러져 버리더군요. 다시 부러진곳에 납땜을 살작 했는데 좀 불안하게 고정시켰습니다. 전원 전선을 연결할 때 주의해서 하세요 너무 약해요.


조립이 끝난 모습입니다.

2) 보조바퀴 조립




위 사진을 보면 RC카 몸체 끝부분에 사각형 나서구성이 있는데 거기에 받침대가 있는데 그걸 먼저 연결하고 높이를 맞춥니다. 그리고 나서 보조 바퀴를 그 받침대에다 다시 나사로 조립하면 위처럼 되는데 받침대 부분은 사진에서는 안보이네요. 부품을 보면 쉽게 알 수 있을 꺼에요.

3) AAx4개 배터리 케이스 배터리 홀더(6V ) 조립


바퀴는 뒷면에 연결했다면 배터리케이스는 앞면에 연결합니다. DC기어모터와 보조바퀴 사이의 중앙지점에 나사구멍을 잘 찾으시면 위 사진처럼 해당 위치에 나사로 고정시키면 끝납니다. 그리고 스위치부분은 그냥 키워넣으시면 됩니다. 뒤집으면 빠져나오더군요. 고정시키는 것이 없어서 귀찮은 부분이네요.

4) 스위치 버턴 선 연결


뒷면의 모습입니다. 배터리케이스 빨간선을 스위치에 연결하고 반대편 스위치 선은 Motor Shield에 연결하게 됩니다.

5) Motor Shield에 전선 연결


2륜 RC카여서 2개의 DC기어모터의 전선을 제 경우 M3, M4에 연결했습니다. 전원은 Motor Shield의 전원선 쪽으로 아까 스위치 선에서 빼온 빨간선을 Motor Shield에 Vcc에 연결하고 배터리케이스 검은선을 Gnd에 연결하면 조립이 끝납니다.

3. 시험 운행 테스트


1) 코딩



[소스]

#include <AFMotor.h>

AF_DCMotor motor1(3);
AF_DCMotor motor2(4);

void setup() {
  motor1.setSpeed(200);
  motor2.setSpeed(200);
  motor1.run(RELEASE);
  motor2.run(RELEASE);
}

void loop() {
  motor1.run(FORWARD);
  motor2.run(FORWARD);
  delay(2000);
  
  motor1.run(BACKWARD);
  motor2.run(BACKWARD);
  delay(2000);
 
  motor1.run(RELEASE);
  motor2.run(RELEASE);
  delay(2000);
}

이전 시간에는 DC Motor 한개를 회전 시켰지만 이번에는 DC Motor 2개를 회전 시켜야 하기 때문에 각각 한줄씩 동일하게 추만 하시면 됩니다.

2) 결과




결과를 보시면 전진은 거의 정상적으로 앞으로 진행하지만 후진은 랜덤 방향으로 후진이 되는 것을 보실 수 있을 꺼에요. 코딩에 문제가 있는게 아니라 RC카에 자체 문제 때문에 이런 현상이 발생합니다. 아무튼 후진에서 방향이 랜덤하게 틀어지지만 정상적으로 동작한 것이기 때문에 오해가 없으시길 바래요.

그러면 왜 이런 현상이 발생할까요.. 배틀 타면은 뒤에 방향타가 있을 꺼에요. 그 방향타에 의해서 방향이 틀어지는 것 같이 2륜 RC카도 진행방향이 보조 바퀴에 영향을 받게 됩니다. 전진도 자세히 보면 보조 바퀴가 배처럼 방향을 약간 트는 것과 같이 정면으로 진행하긴 하지만 약간 방향이 틀어집니다. 하지만 전진 시 앞쪽 DC기어모터가 방향 중심에 있기 때문에 뒤 보조바퀴의 영향은 덜 받지만 뒤로 후진할 때는 보조바퀴가 방향 중심에 있기 때문에 방향이 보조바퀴에 영향을 크게 받습니다. 그냥 마우스처럼 원형 구슬같은 바퀴였다면 방향에 영향을 안받을 텐데 아쉬운 RC카 프레임입니다. 후진에 크게 영향을 받는 RC카 프레임이네요.

이러한 문제점을 가지고 있다면 여러분들은 어떤 해결책을 내놓겠습니까? 다시 보조바퀴를 바꾼거나 또는 아예 4륜 RC카를 만들어 버린다면 해결은 됩니다. 하지만 주어진 환경에서 해결을 찾는다면 후진보다는 전진 주행에 초점을 맞춰 주행 코딩을 짜면 됩니다. 즉, 후진할 때도 360도 몸체를 회전 시켜서 전진시키게 한다면 좀 더 정확하게 후진을 할 수 있겠죠. 진행방향을 될 수 있으면 전진방향으로 코딩하게 하면 됩니다. 어쩔 수 없이 장애물이나 뒤로 빠져야 하는 상황에서는 랜덤방향을 감수하고 후진을 할 수 밖에 없지만 될 수 있으면 전진 방향으로 동작을 제어하면 방향 문제를 어느정도 해결할 수 있을거라 생각 됩니다.

마무리


RC카 조립과 간단히 동작 테스트를 했습니다. 여기까지 따라오셨으면 이미 RC카를 완성과 실험을 한거나 다름 없습니다. 이제는 RC카를 어떻게 제어할지가 여러분의 상상력에 달려있습니다. 다음 시간에 Bluetooth를 연결해서 RC카를 조정을 할지 아니면 주행에 관한 코딩으로 주행패턴 실험을 할지는 결정되지 않았습니다. 현재 이 post를 쓰면서 다음 주제를 어떤 것을 할지 생각하면서 쓰고 있네요. 코딩으로 주행패턴 실험을 먼저 하는게 좋을 것 같기는 한데 더 고민을 해 봐야 겠네요.

여러분들이 이 상태에서 어떤 부품과 연결해볼지 상상의 나래를 오늘 한번 펼쳐 보세요.


댓글()