[아두이노] ESP32 CAM - 도깨비 자동차

 최근 전자 부품 (아두이노) 가격이 3배 이상 인상되어 기존에 제작 되어 있는 도깨비 자동차를 저렴한 ESP32 -CAM으로 변경 하는 프로젝트를 시작 하게 되었습니다.

 아직 완성은 하지 못하였으나 ESP32-CAM에 대해서 구글링을 통하여 알게된 사실에 대해서 정보 공유 및 간단한 정보 전달 수준의 글을 등록해 봅니다.

f01ed5b7baf4db9e795a7e2745db866d.jpg

 작년에 온기랩에서 제작한 도깨비 자동차 아두이노 나노 + 블루투스 + 모터 드리버 + 초음파 + 부저로 구성하였으며 핸드폰 블루투스 조정으로 몇 차례 워크샵을 진행 하였다. 


1. ESP32 CAM의 카메라 모듈 예제 포팅


ESP32 CAM은 저렴한 가격으로 카메라가 있는 보드 이다. 자세한 설정은 첫번째 링크를 참조 하시면 큰 어려움이 없이 초기 설정이 가능하다.


기본 예제 소스 ESP32 / Camera / CameraWebServer에서 기본 ssid와 password 변경 후 포팅시 아래와 같은 메세지가 출력되어 문제 해결을 위하여 구글링을 해보았다.


[E][camera.c:1049] camera_probe(): Detected camera not supported.

[E][camera.c:1249] esp_camera_init(): Camera probe failed with error 0x20004


예제가 여러가지 모델을 지원하고 있어 자신에 맞는 define을 선택 후 다시 포팅 해야 된다.

초기 값은 CAMERA_MODEL_WROVER_KIT되어 있어 CAMERA_MODEL_AI_THINKER로 변경

// Select camera model

//#define CAMERA_MODEL_WROVER_KIT

//#define CAMERA_MODEL_ESP_EYE

//#define CAMERA_MODEL_M5STACK_PSRAM

//#define CAMERA_MODEL_M5STACK_WIDE

#define CAMERA_MODEL_AI_THINKER


31907b00c456790bca149942b020a35f.jpg

모듈을 잘 살펴보면 ESP32-S AI-Thinker 글자가 확인 되어 예저 프로그램의 Define문을 수정 후 ESP32 CAM의 카메라 정상 동작 하는 것을 확인 하였다.


2. Web Page를 통한 자동차 제어


 ESP32-CAM의 기본 예제는 간단한 Web Server를 구동 시키고 브라우저 접속으로 카메라 이미지와 Web Page의 버튼 조작으로 자동차를 조작 하는 방식으로 구성 되어 있다.


 2번째 링크를 참조 하여 회로 구성 및 프로그램 포팅시 큰 문제 없이 동작이 확인 되었으나, 기존 도깨비 자동차와 동일하게 초음파 센서 + 부저 연동하기는 물리적으로 사용 가능 포트가 부족 한것으로 판단 된다.


 ESP32 자체를 쓰면 WiFi와 BLE가 기본 내장되어 있어 별도의 블루투스 부품이 필요 없는 장점은 있으나 WiFi와 BLE가 동시 동작 여부는 본인은 테스트 하지 못하였다. (추후 자료를 찾으면 공유 하도록 하겠습니다)


WiFi connected

Camera Stream Ready! Go to: http://192.168.1.87

설정된 WiFi에 접속이 성공한 경우 할당된 IP Address를 Serial Terminal에 정보를 출력하고 모바일 기기에서 해당 IP로 브라우저 접속하면 아래와 같은 화면과 버튼 클릭으로 자동차 조작이 가능하다


ESP32-CAM Remote Controlled Robot Web Server Arduino IDE

 


3. 도깨비 자동차 ESP32-CAM GPIO확인

  

e825509ca9cdfb851da66f948ba361d2.jpg

ESP32-CAM의 GPIO 테스트 및 확인 (1인 확인하여 부정확할수 있음)결과 왼쪽 6개 GPIO에 대하여 정상 동작이 가능하여 모터 드라이버와 초음파 센서 연결핀으로 사용 하기로 결정 하였다.

 GPIO4번 같은 경우 Flash LED와 연결되어 있으나 초음파 센서의 동작시 짧은 순간 LED가 번쩍하기는 하였으나 정상 동작 하는것은 확인 되었으며, 기존 부저는 GPIO의 부족으로 과감히 연동 포기


ESP32-CAM의 사용시 별도의 아두이노 같은 기기를 Serial 통신으로 추가 연동하여 문제를 해결하는 방법도 있으나 저렴한 비용의 제작을 목적으로 하고 있어 최대한 ESP32-CAM을 활용하기로 하였다.


4. Soft AP Mode 추가 와 초음파 센서 연동

  

 2번째 링크의 자동차 제어 프로그램 사용시 Station Mode를 통한 WiFi접속으로 Serial Terminal를 통한 할당 IP Address 확인 필요하며, 매번 접속시 IP Address확인의 번거로움을 해소하기 위하여 LCD를 장착하여 해당 정보를 출력하는 방법도 있으나 모든 GPIO를 사용하고 있어 다른 대안을 고민 하였다.


 ESP32는 WiFi의 Soft AP 와 Station를 동시 지원하고 있어 Soft AP를 코드에 추가 해보았다.


  WiFi.mode(WIFI_AP_STA);

  

  WiFi.softAP(ssidAP, passwordAP);


  IPAddress IP = WiFi.softAPIP();

  

  Serial.print("AP IP address: ");

  Serial.println(IP);


 AP IP address: 192.168.4.1


Soft AP모드의 경우 IP는 192.168.4.1 고정 값이 할당되어 관련 정보 확인할 필요가 없다. 


9c8c8027e3afc76b64dbb7bac4668339.jpg
 

핸드폰 WiFi접속을 설정된 ESP32 연결 후 192.168.4.1로 브라우저 접속 하면 동작 화면을 확인 할수 있으나 WiFi 설정 변경으로 모바일의 다른 인터넷 외부 접속은 불가능한 상태이다.


67d62ea7a9648f4751677c019209f052.jpg

첨부 파일에 수정된 소스와 사용된 초음 센서 라이브러리를 같이 공유하며 문제 발생또는 새로운 기능 추가시 공유를 부탁 드립니다.








 



0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 스토리

번호 제목 글쓴이 날짜 조회수
69 아두이노 헬박사님의 로봇팔 살리기 icon 양재동메이커 05-13 4,316
68 아두이노 ESP32 CAM을 활용한 도깨비 자동차 Ver 3.0 icon 양재동메이커 06-12 8,084
67 아두이노 ESP32 CAM - 도깨비 자동차 2 icon 양재동메이커 07-13 11,885
66 아두이노 ESP32 CAM - 도깨비 자동차 icon 양재동메이커 05-07 13,375
65 아두이노 로보티즈 다이나믹 셀 MX-12W를 Arduino로 제어하기 (without 3 state buffer) +2 icon 양재동메이커 02-24 17,407
64 아두이노 Otto Bot Bluetooth 연동하기 icon 양재동메이커 05-14 14,150
63 아두이노 ESP8266와 아마존 알렉사 연동 icon 양재동메이커 03-09 15,366
62 아두이노 Open Cat 전원 문제 icon 양재동메이커 02-23 13,970
61 아두이노 Open Cat 한글 매뉴얼 icon 양재동메이커 02-12 14,423
60 아두이노 반려 동물 심폐 소생 시뮬레이터 #2 icon 양재동메이커 11-29 14,388
59 아두이노 오또봇과 형제들 오또봇 RC카 +1 icon 양재동메이커 10-06 15,709
58 아두이노 용인 ICT 스마트 다비아스 톤 - 아침에는 시간이 부족해 icon 양재동메이커 08-04 14,120
57 아두이노 아두이노 이용한 RC, 블루투스 배틀로봇의 외형 자료 icon 양재동메이커 07-25 14,286
56 아두이노 아두이노(아두이노 모터쉴드)를 이용한 RC, 블루투스 배틀로봇 +1 Wavy 07-22 14,819
55 아두이노 팬틸트를 활용한 태양 추적 장치의 개발 icon 양재동메이커 07-15 13,584
54 아두이노 미세먼지 조립 키트 조립기 icon 양재동메이커 07-10 13,938
53 아두이노 오또봇과 형제들 icon 양재동메이커 07-07 15,439
52 아두이노 Otto Bot and Bluetooth icon 양재동메이커 06-08 14,403
51 아두이노 Tokyo Nana의 오또봇(Otto Bot) 제작기 1탄 Tokyonana 06-05 13,722
50 아두이노 오또봇 기본형 만들기 - 오또봇(Otto Bot) 조립 하기 +1 icon 양재동메이커 05-25 19,370