본문 바로가기
[아두이노] ESP32 시리얼 통신 2개 사용하기 안녕하세요? 만들오 입니다. ESP32-CAM을 사용하며, 마이크로비트 보드와 통신하는 중 다음과 같은 문제가 있었습니다. 모든 Serial 문을 차단해도 일부 데이터가 송신됨. 이런 문제로, HardwareSerial을 이용해 다른 핀으로 통신을 하도록 했습니다. 주요 코드 및 설명은 다음과 같습니다. #include HardwareSerial mySerial(2); //3개의 시리얼 중 2번 채널을 사용 void setup() { Serial.begin(115200); //기존의 기본 시리얼 mySerial.begin(115200, SERIAL_8N1, 12, 13); //추가로 사용할 시리얼. RX:12 / TX:13번 핀 사용 } void loop() { if(mySerial.available().. 2021. 3. 10.
[마이크로비트] ESP32와 시리얼 통신하기 안녕하세요? 만들오 입니다. 마이크로비트와 ESP32 보드간 시리얼 통신을 구현했고, 다음과 같이 정리했습니다. 로직레벨이 동일할 것. Baud rate를 동일하게 할 것. 보드끼리 GND를 연결할 것. 위 내용은 시리얼 통신의 주의사항이며, 타 보드간 통신 시 주의할 점 이기도 합니다. 마이크로비트와 ESP32는 로직레벨 3.3V로 문제가 없지만, 아두이노 우노(5V)와 통신하는 경우에는 로직컨버터가 별도로 필요합니다. 마이크로비트와 ESP32 시리얼 통신 중 참고할 부분은 1가지 입니다. 읽어들인 값에 공백값이 포함되어 있음. 제 경우는, 1개의 공백이 포함되어있어 다음과 같이 처리해 사용했습니다. 전체 코드를 공유하며 마무리를 짓겠습니다. void setup() { Serial.begin(11520.. 2021. 3. 9.
[아두이노] ESP32-CAM 웹서버 CORS 문제 해결하기 Tensorflow.js 사용 시, CORS(Cross Origin Resource Sharing) 문제를 종종 접하게 된다. ESP32-CAM 웹서버에서 지원하는 기능을 이용해 해결할 수 있다. stream_handler 함수 안에 다음과 같은 코드를 추가한다. httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*"); static esp_err_t stream_handler(httpd_req_t *req){ camera_fb_t * fb = NULL; esp_err_t res = ESP_OK; size_t _jpg_buf_len = 0; uint8_t * _jpg_buf = NULL; char * part_buf[64]; res = httpd_resp.. 2021. 3. 1.
[마이크로비트] Joystick:bit 1년 사용자의 코드 공유 RC카 조종을 위해 Joystick:bit을 구매하여 사용한지 1년이 지났습니다. 프로젝트를 진행하며, 특징에 따라 코드를 바꾸며 사용해왔는데, 모든 프로젝트에 적용할 수 있도록 아래와 같이 정리했습니다. 15개의 문자열로 송신하며, 각 값의 정보는 다음과 같습니다. XX : 조이스틱 X축 값 (00~18) YY : 조이스틱 Y축 값 (00~18) R : 조이스틱 중심과의 거리 (0~9) TTT : 조이스틱 중심에서의 각도값 (000~360) A, B, C, D, E, F : 각 버튼들의 상태 (누른경우 1, 뗀경우 0) O : 조이스틱의 위치를 8방향으로 구분한 문자열 (Q, W, E, A, S, D, Z, X, C) S는 중립위치 Q(11시), W(12시), E(1시) ~~ C(5시) 몇가지 사례를 .. 2021. 2. 20.
[3D프린팅] 레고테크닉용 서보모터 개조 부품 안녕하세요? 만들오 입니다. 최근 업로드한 레고 테크닉 개조 모델에서 사용한 MG90S 서보모터의 개조부품 모델링입니다. 사용한 모터는 아래 사진과 같은 MG90S 무한회전 서보모터입니다. 개조 방법을 다음과 같이 정리했습니다. 1. MG90S의 커버 및 출력 축 분해 하단의 고정 나사 4개를 풀고, 상단 커버 및 출력 축(아래 그림의 회색 부분 전부)을 분리한다. 2. Hub 장착 모델링한 Hub 부품을 가운데 축의 기어에 끼워줍니다. 속도가 빨라지는 대신 토크가 줄어듭니다. 3. 상단 Cover 장착 모델링한 Cover를 끼우고, 아까 풀어두었던 고정 나사 4개를 끼워 고정합니다. 부품이 작다보니 출력할 때 레이어 두께와 속도를 적절히 조절해야 합니다. 궁금하신 부분은 댓글을 남겨주세요. 감사합니다. 2021. 1. 25.
[레고테크닉] 42122 지프 랭글러 구동개조 - ESP CAM 안녕하십니까? 만들오 입니다. ESP CAM 버전으로 업그레이드한 지프 랭글러 구동개조 입니다. 지난 레고테크닉 구동개조글과의 가장 큰 차이점은 제어기가 마이크로비트에서 ESP CAM으로 변경된 것 입니다. ESP CAM은 카메라와 Wifi를 사용할 수 있는 MCU 입니다. 자동차에 카메라가 장착되었고, 인터넷 브라우저를 통해 조종할 수 있습니다. 즉, 컴퓨터 또는 스마트폰으로 카메라를 보며 조종할 수 있게 되었습니다. 기존 외부에 노출된 마이크로비트와 확장보드를, ESP CAM으로 바꾸며 원래 출시된 모습과 유사하게 만들수 있었습니다. 카메라는 운전석 헤드레스트 위에 장착했습니다. 아래 사진에 파란색 점선 부위입니다. 배터리와 와이어는 본네트 아래에 숨겨두었습니다. RC카를 만들면서 가장 어려운 부분이.. 2021. 1. 24.