NukcanonProject Archive
Home

ESP32-CAM 원격 조종 자동차

1. 하드웨어 연결 및 기초 모터 제어

자율주행차의 기본이 되는 L298N 모터 드라이버 사용법을 익힙니다. (ESP32 보드에 업로드)

  1. [ 회로도 ]
    ESP32 자율주행차 회로도
  2. [ 배선 연결표 ]

    1. ESP32 연결

    ESP32 핀 연결 대상 대상의 핀 역할 및 설명
    GPIO 13 ESP32-CAM GPIO 13 시리얼 통신 송수신
    GPIO 14 ESP32-CAM GPIO 14 시리얼 통신 송수신
    GPIO 16 L298N IN 1 오른쪽 바퀴 전진 (+) 신호
    GPIO 17 L298N IN 2 오른쪽 바퀴 후진 (-) 신호
    GPIO 21 L298N IN 3 왼쪽 바퀴 전진 (+) 신호
    GPIO 22 L298N IN 4 왼쪽 바퀴 후진 (-) 신호
    +5V (VIN) L298N +5V L298N에서 ESP32 전원 공급
    +5V (VIN) ESP32-CAM 5V ESP32-CAM으로 전원 공급
    GND L298N & CAM GND 모든 장치의 기준 전압

    2. L298N 및 배터리 연결

    L298N 단자 연결 대상 설명
    12V (입력) 배터리 (+) 모터 구동용 주 전원 (7V 이상 권장)
    GND (공통) 배터리 (-) 배터리 마이너스 연결 (ESP32 GND와도 연결됨)
    +5V (출력) ESP32 +5V ESP32와 ESP32-CAM을 켜주는 전원 출력
    OUT 1, 2 오른쪽 모터들 오른쪽 앞바퀴 + 뒷바퀴 선을 꼬아서 연결
    OUT 3, 4 왼쪽 모터들 왼쪽 앞바퀴 + 뒷바퀴 선을 꼬아서 연결
  3. 모터 하나 제어하기 모터가 정상적으로 회전하는지 확인합니다.
    💾 one_motor.ino
  4. 양쪽 모터 제어하기 전진, 후진, 좌회전, 우회전 등 차량의 기본 움직임을 만듭니다.
    💾 two_motor.ino
  5. 버튼으로 조종하기 물리 버튼을 연결하여 자동차를 직접 움직여봅니다.
    💾 button_drive.ino

2. 스마트폰/웹 브라우저 무선 조종

ESP32(차체)와 ESP32-CAM(눈)을 시리얼 통신으로 연결하고, 스마트폰으로 조종합니다.

  1. [ESP32] 시리얼 제어 코드 이 코드는 ESP32 Dev Module에 업로드합니다. CAM에서 오는 신호를 받아 모터를 움직입니다.
    ※ 두 파일을 모두 다운받아 같은 폴더에 넣어야 합니다.
    💾 rc_car_by_serial.ino (메인) 💾 motor_control.ino (모터 함수)
  2. [ESP32-CAM] 웹 스트리밍 컨트롤 이 코드는 ESP32-CAM에 업로드합니다. 웹 서버를 통해 영상과 조종 버튼을 제공합니다.
    💾 video_streaming_by_web.ino

3. 컴퓨터 연결(Python)

웹 브라우저 대신 컴퓨터(Python)와 연결하여 영상을 확인하고 자율주행을 준비하는 단계입니다.

  1. [ESP32-CAM] 텔넷 스트리밍 코드 웹 페이지 스트리밍 대신 PC 프로그램으로 영상을 보내주는 코드입니다.
    ※ 3개의 파일을 모두 같은 폴더에 넣고 업로드하세요.
    💾 video_streaming_by_telnet.ino (메인) 💾 camera.h (카메라 설정) 💾 pins.h (핀 설정)
  2. [PC/노트북] 파이썬 조종 프로그램 주피터 노트북으로 실행합니다. 키보드로 RC카를 조종하며 카메라 영상을 PC 화면으로 확인합니다.
    💾 video_keyboard_telnet_driving.ipynb (주피터 노트북)