아두이노 나노 ESP32 자동차
아두이노 나노 ESP32를 처음 사용해 보신다면 로봇 자동차를 만드는 것이 가장 멋진 시도 중 하나입니다. 이 가이드에서는 아두이노 나노 ESP32를 사용하여 로봇 자동차를 만들고 IR 원격 제어로 제어하는 방법을 배웁니다. 로봇 자동차를 웹(Wifi)을 통해 제어하는 방법은 아두이노 나노 ESP32 - 웹을 통한 자동차 제어 튜토리얼을 참조하세요.

준비물
| 1 | × | 아두이노 나노 ESP32 | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | 2WD RC Car | 쿠팡 | 아마존 | |
| 1 | × | L9110S 모터 드라이버 모듈 | 쿠팡 | 아마존 | |
| 1 | × | IR 리모컨 키트 | 아마존 | |
| 1 | × | CR2025 배터리 (IR 리모컨용) | 아마존 | |
| 1 | × | 1.5V AA Battery (for Arduino Nano ESP32 and Car) | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노용 브레이크아웃 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 나노 ESP32용 전원 분배기 | 쿠팡 | 아마존 |
로봇 자동차에 대하여
아두이노 나노 ESP32의 맥락에서 로봇 자동차는 로봇 자동차, RC 자동차, 원격 제어 자동차, 스마트 자동차 또는 DIY 자동차와 같이 다양한 이름으로 불립니다. 그것은 어떠한 전선 없이도 멀리서 조종할 수 있습니다. 적외선을 사용하는 특별한 원격 조종기나 Bluetooth 또는 WiFi를 통한 스마트폰 앱을 사용할 수 있습니다. 로봇 자동차는 왼쪽이나 오른쪽으로 갈 수 있으며 앞으로 또는 뒤로도 갈 수 있습니다.
Arduino Nano ESP32를 위한 2륜 구동(2WD: Two-Wheel Drive) 자동차는 Arduino Nano ESP32 보드를 사용하여 구축하고 제어할 수 있는 작은 로봇 차량입니다. 이것은 일반적으로 다음 구성 요소들로 이루어져 있습니다:
- 차체: 차의 기본이나 프레임으로, 다른 모든 구성 요소가 설치되는 곳입니다.
- 바퀴: 차를 움직이게 하는 두 개의 바퀴입니다. 이들은 두 개의 DC 모터에 연결되어 있습니다.
- 모터: 두 바퀴를 구동하기 위해 두 개의 DC 모터가 사용됩니다.
- 모터 드라이버: 모터 드라이버 보드는 Arduino Nano ESP32와 모터 사이의 인터페이스를 제공하는 필수 구성 요소입니다. 이는 Arduino Nano ESP32에서 오는 신호를 받아 모터에 필요한 전력과 제어를 제공합니다.
- Arduino Nano ESP32 보드: 차의 두뇌입니다. 센서와 사용자 명령어로부터 입력을 읽고 그에 따라 모터를 제어합니다.
- 전원 공급원: 2WD 차는 주로 배터리와 배터리 홀더를 사용하여 모터와 Arduino Nano ESP32 보드에 전력을 공급하는 전원 공급원이 필요합니다.
- 무선 수신기: 원격 제어나 스마트폰과 무선 통신을 위한 적외선, 블루투스 또는 와이파이 모듈입니다.
- 선택 구성 요소: 프로젝트의 복잡성에 따라, 센서(예: 장애물 회피를 위한 초음파 센서, 선 따라가기 센서)와 같은 다양한 선택 구성 요소를 추가할 수 있습니다.
이 튜토리얼에서는 간단하게 하기 위해, 우리는 다음을 사용할 것입니다:
- 2WD 자동차 키트(샤시, 바퀴, 모터, 배터리 홀더 포함)
- L9110S 모터 드라이버
- IR 적외선 키트(IR 컨트롤러 및 IR 수신기 포함)
이 페이지 상단에 있는 하드웨어 목록을 확인하세요.
작동 원리

- 아두이노 나노 ESP32는 L9110S 모터 드라이버 모듈을 통해 로봇 자동차의 DC 모터에 연결됩니다.
- 아두이노 나노 ESP32는 IR 수신기에 연결합니다.
- 배터리는 ESP32, DC 모터, 모터 드라이버 및 IR 수신기에 전력을 공급합니다.
- 사용자는 IR 리모컨의 상/하/좌/우/확인 키를 누릅니다.
- 아두이노 나노 ESP32는 IR 수신기를 통해 상/하/좌/우/확인 명령을 받습니다.
- 아두이노 나노 ESP32는 모터 드라이버를 통해 DC 모터를 제어하여 자동차가 앞으로/뒤로/왼쪽/오른쪽/정지하도록 제어합니다.
선연결

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
보통 두 가지의 전력원이 필요합니다:
- 모터용 하나는 간접적으로 L9110S 모듈을 통해서입니다.
- 다른 하나는 Arduino Nano ESP32 보드, L9110S 모듈, 그리고 IR 수신기를 위한 것입니다.
L9110S 모듈은 VCC와 GND 핀에서 직접 모터에 전원을 공급하며 온보드 5V 레귤레이터가 없습니다. 따라서 네 개의 1.5V AA 배터리(총 6V)라는 단 하나의 전원으로 모든 것에 전원을 공급할 수 있습니다. 여기 그 방법이 있습니다:
- 6V 배터리를 L9110S 모듈의 VCC 및 GND 핀에 연결하여 모터에 전원을 공급하세요.
- 같은 6V 배터리를 Arduino Nano ESP32 보드의 Vin 및 GND 핀에 연결하여 보드에 전원을 공급하세요.
- L9110S 모듈, Arduino Nano ESP32 보드, 그리고 IR 수신기가 공통 GND를 공유하도록 하세요.
L298N과 달리 L9110S에는 ENA/ENB 활성화 점퍼와 12V 스크류 단자가 없어 배선이 더 간단합니다.
아두이노 나노 ESP32 코드
사용 방법
- Arduino Nano ESP32를 처음 사용하는 경우, 아두이노 나노 ESP32 - 소프트웨어 설치을 확인하세요.
- 이 지침을 따라 Arduino IDE에 DIYables_IRcontroller 라이브러리를 설치하세요.
- 위에 표시된 다이어그램대로 배선을 하세요.
- 코드를 업로드할 때 USB 케이블을 통해 Arduino Nano ESP32에 전력을 공급할 예정이므로 ESP32의 Vin에서 전선을 분리하세요.
- 바퀴가 위로 오게 하려면 자동차를 뒤집으세요.
- Arduino Nano ESP32 보드를 USB 케이블을 통해 PC에 연결하세요.
- PC에서 Arduino IDE를 엽니다.
- 올바른 Arduino Nano ESP32 보드(예: Arduino Nano ESP32와 COM 포트를 선택하세요.
- 제공된 코드를 복사하여 Arduino IDE에서 엽니다.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano ESP32로 전송하세요.
- IR 리모컨을 사용하여 자동차를 전진, 후진, 왼쪽, 오른쪽 또는 정지하게 하세요.
- 바퀴가 명령에 따라 올바르게 움직이는지 확인하세요.
- 바퀴가 잘못된 방향으로 움직이면, L9110S 모듈의 DC 모터의 전선을 서로 바꿔 연결하세요.
- Arduino IDE의 시리얼 모니터에서 결과도 확인할 수 있습니다.
- 모든 것이 잘 진행되고 있다면, ESP32에서 USB 케이블을 뽑은 후 선을 다시 Vin 5V 핀에 연결하세요. 이를 통해 배터리에서 Arduino Nano ESP32에 전원을 공급하게 됩니다.
- 자동차를 바퀴가 땅에 닿게 정상 위치로 뒤집으세요.
- 자동차를 컨트롤하는 것을 즐기세요!
코드 설명
위의 아두이노 코드의 주석 라인에서 설명을 찾을 수 있습니다.
다음 튜토리얼을 확인하여 코드에 대해 더 알아볼 수 있습니다:
이 프로젝트를 다음 방법으로 확장할 수 있습니다:
- 장애물 감지 시 즉시 차량을 정지시키는 장애물 회피 센서 추가.
- 차량 속도를 제어하는 기능 추가 (Arduino Nano ESP32 - DC 모터 [BASE_URL/tutorials/arduino-nano-esp32/arduino-nano-esp32-dc-motor] 튜토리얼 참조). 제공된 코드는 차량을 전속력으로 제어합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.