brunch

You can make anything
by writing

C.S.Lewis

by Cylogic Oct 08. 2020

41.아홉 번째 장난감:자율 주행 자동차 만들기#1

자동차는 움직이는 장난감의 꽃이다.


요즘 아이들도 배터리로 움직이는 자동차 장난감에 대한 환상이 우리 때와 같을지 모르겠지만, 내가 어릴 때는 태엽으로 움직이는 자동차 장난감을 가진 친구들도 눈물 나게 부러웠다.


아두이노와 관련 부품들은 이런 부러움을 현실로 만들어주는 신박한 재료들이다.


그냥 자동차가 아니라 자율 주행 자동차라고 이름 붙인 이유는 차가 움직이는 방향에 있는 장애물을 피해서 움직이는 자동차를 만들어 보려 하기 때문이다. 

이 자율 주행 자동차를 기반으로 원격 조종 자동차도 만들어 볼 예정이니, 자동차를 만들기 위해 필요한 기본적인 지식을 이곳에서 쌓아 보도록 하자.


자율 주행 자동차를 만들기 위한 모든 부품들은 지금까지 배운 것들이다.


1. 아두이노 우노 또는 나노 보드

2. 소형 브레드보드

3. DC 모터 2개

4. 자동차 바퀴 2개

5. 방향 전환이 가능한 캐스터 바퀴 1개

6. 모터 드라이버

7. 서보모터

8. 초음파 센서

9. 연결을 위한 전선 및 슬라이드 스위치

10. 자동차 몸체를 만들기 위한 나무판, 아크릴판 또는 포맥스 보드

11. 전지 홀더 및 전지(AA 4개 또는 18650 충전지용)

---

+. 차후에 이 자동차를 원격으로 조종할 부품 (와이파이, 블루투스 등)을 추가할 예정이다.

--

위의 모든 부품을 하나의 키트로 만들어서 판매하는 사이트도 있으나, 한 두 가지 없는 부품이 있을 수도 있고 가격이 비싼 경우도 많이 있으니 잘 확인하셔서 구매하시고, 아니면 이미 지금까지 잘 사용하던 아두이노 키트에 있는 부품들에 추가로 필요한 부품을 구매하여 시작하셔도 된다.


일반적인 아두이노 키트에는 잘 없는 3, 4, 5, 10번 부품에 전지 홀더까지를 하나의 키트로 만들어 싸게 파는 곳도 있으나 내 글의 특성상 사이트를 지정하지 않으니 잘 확인하여 구매하시길 바란다. 아두이노 및 전자 부품 없이 1만 원 이하에 구매가 가능하다.

위의 부품을 따로 구매할 경우 아두이노 보드 및 추가 부품들까지 2만~3만 원 선에 구할 수 있을 것이다.


자율 주행차의 기본 기능은 다음과 같다.


1. 스위치를 켜면 

2. 자동차가 앞으로 진행한다.

3. 자동차의 진행 시, 앞에 장애물이 있는지 감지한다.

4. 전방에 장애물이 나타나면 차가 멈춘다.

5. 좌우를 살펴 장애물이 없는 곳을 확인하고

6. 차를 약간 뒤로 후진한 후

7. 장애물이 없다고 판단한 곳으로 방향을 전환한다.

8. 2번의 진행 상황이 된다.


차가 움직이는 모습은 다음 동영상과 같다.

부품을 조립하여 만들기 이전에 간단한 이론을 학습하고 진행해 보자.


위의 기능을 구현하기 위한 방법을 하나씩 번호에 맞추어 하나씩 설명해 본다.


2. 자동차가 앞으로 진행 

- 모터 2개를 모터 드라이버에 연결하여 동시에 같은 방향으로 회전시킨다.


3. 자동차의 진행 시, 앞에 장애물이 있는지 감지한다.  

- 자동차가 앞으로 진행할 때 초음파 센서의 trig 후, echo 신호를 확인한다.


4. 전방에 장애물이 나타나면 차가 멈춘다.

- 장애물이 있을 경우 모터를 멈춘다.


5. 좌우를 살펴 장애물이 없는 곳을 확인하고

- 초음파 센서를 서보모터 위에 설치하여 좌우로 서보모터를 회전시키며 좌우의 장애물을 확인한다.


6. 차를 약간 뒤로 후진한 후

- 두 개의 모터를 뒤로 회전시킨다.


7. 장애물이 없다고 판단한 곳으로 방향을 전환한다.

- 5번에서 좌우를 확인한 곳 중 장애물의 거리가 먼 쪽으로 바퀴를 회전시킨다.

   좌로 움직이려면 우측 바퀴만 회전시키고, 우로 움직이려면 좌측 바퀴를 회전시킨다.


위의 내용을 구현하기 위하여 구축된 자동차의 모습의 아래의 사진과 같다.

이를 만들어가는 과정은 다음 이야기에서 계속된다.


매거진의 이전글 40. 아두이노에서 폰으로 신호 보내기(블루투스 이용)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari