로그인회원가입

[카테고리:] RC카

RC카 프로젝트

  • 일반 LED와는 차원이 다르다! 고휘도 LED 사용 시 주의할 점

    일반 LED와는 차원이 다르다! 고휘도 LED 사용 시 주의할 점

    왼쪽 일반 LED, 중앙 오른쪽 고휘도 LED

    1. LED의 소비전력 기준

    보통 소비전력을 기준으로 일반 LED와 고휘도(파워) LED를 구분합니다.

    • 일반 LED (Signal LED): 약 0.06W 이하
      • 보통 20mA 정도의 낮은 전류에서 작동하며, 기기의 전원 상태를 알리는 용도로 쓰입니다.
    • 고휘도/파워 LED: 일반적으로 0.5W ~ 1W 이상부터를 의미합니다.
      • 0.5W급: 약 150mA 정도 소모. (손전등, 실내 조명 보조용)
      • 1W급: 약 300∼350mA 소모. (본격적인 조명의 시작점)
      • 3W~10W 이상: 수 Amper(A) 단위의 전류가 필요하며, 매우 강력한 열이 발생합니다.
    일반 LED는 저항 연결만으로 사용 (Created with Wokwi)

    2. 왜 1W가 기준점이 될까?

    회로 설계 입장에서 1W는 “단순 제어”에서 “전력 제어”로 넘어가는 경계선이기 때문입니다.

    • 1W 미만: 적당한 저항기 하나로 전류를 제어할 수 있는 수준입니다.
    • 1W 이상: 앞서 말씀하신 것처럼 **트랜지스터(MOSFET)**가 스위치 역할을 해줘야 하고, 저항기도 고출력용(시멘트 저항 등)을 써야 하며, 본격적인 방열 대책이 수반되어야 합니다.

    3. MCU의 출력 전류 한계 (가장 중요한 이유)

    MCU의 핀(GPIO)은 신호를 주고받기 위한 용도이지, 전력을 공급하기 위한 용도가 아닙니다.

    • ESP32-C3의 한계: 일반적으로 핀 하나당 허용되는 최대 전류는 약 20~40mA 내외입니다.
    • 1W LED의 요구량: 전력 공식(P=VI)에 따라, 3.3V 전압에서 1W 고휘도 LED를 켜려면 최소 약 300mA 이상의 전류가 필요합니다.
    • 결과: MCU 핀이 감당할 수 있는 수준보다 약 10배 이상의 전류가 흐르게 되며, 이 과정에서 MCU 내부 회로가 타버리거나 칩 전체가 손상될 수 있습니다.

    4. 전압 레벨의 불일치

    • 고휘도 LED: 백색 고휘도 LED의 경우 구동 전압(Forward Voltage)이 보통 3.2V~3.6V 사이입니다.
    • MCU 출력: ESP32-C3는 3.3V로 작동하지만, 전류를 많이 끌어다 쓰면 전압 강하가 일어나 LED가 제대로 밝기를 내지 못하거나 불안정해집니다. 트랜지스터를 사용하면 5V나 12V 같은 외부 전원을 별도로 끌어와 LED에 공급할 수 있습니다.

    5. 발열 문제

    전류가 많이 흐르면 열이 발생합니다. MCU의 작은 칩 내부에서 높은 전류를 소화하려고 하면 칩의 온도가 급격히 상승하여 시스템이 멈추거나 수명이 단축됩니다. 전력 제어 전용 부품인 트랜지스터는 이러한 열을 견디도록 설계되어 있습니다.

    고휘도 1w이상 LED는 트랜지스터를 사용해서 연결 (Created with Wokwi)

    그러면 고휘도 LED로 전원 공급을 하는 5v도 MCU 핀에 연결되어 있지 않냐 할 수 있는데 내부 반도체 로직을 통하지 않고 MCU 전원과 단지 내부 배선으로 연결되어 있어서 보다 안전하다 할 수 있다. 더 큰 전류가 흐른다면 아예 부하용 전원에 직접 연결하는게 제일 안전합니다.

    그냥 연결시 5핀을 3.3v 으로 on 시키면 칩내 반도체의 허용전류이상으로 발열로 손상됩니다.
    예외적 꼼수로 5번핀을 PWM 으로 설정하고 duty를 절반 이하로 낮게 해주어 평균 전압을 낮춰서 사용가능합니다.
    (Created with Wokwi)
    실제 RC카에 적용된 고휘도 LED, 밝기는 PWM duty로 조절 할 수 있어서 고휘도 LED에는 구지 저항을 달지 않았습니다.
    소프트웨어적으로 duty를 항상 50% 이하로만 조절되도록 하면 됩니다.

  • TV 리모컨으로 RC카 무선 조종하기! ESP32-C3 IR Receiver Control

    TV 리모컨으로 RC카 무선 조종하기! ESP32-C3 IR Receiver Control

    적외선 리모컨(IR Remote Control)은 보이지 않는 빛(적외선)을 이용해 가전제품을 제어하는 가장 보편적인 무선 통신 방식입니다. 간단하게 핵심만 요약해 드릴게요.


    1. 작동 원리 (송신과 수신)

    리모컨 버튼을 누르면 내부의 마이크로컨트롤러가 특정 데이터 코드를 생성하고, 이를 IR LED를 통해 빛의 신호로 쏘아보냅니다.

    • 송신부 (Remote): 전기 신호를 특정 주파수(보통 38kHz)로 깜빡이는 적외선 빛으로 변환하여 발사합니다.
    • 수신부 (Receiver): 가전제품에 달린 IR 수신 모듈이 이 빛을 감지하여 다시 전기 신호로 바꾼 뒤, 기기를 작동시킵니다.

    2. 주요 구성 요소

    • IR LED: 적외선을 내보내는 전구 역할입니다.
    • 캐리어 주파수 (Carrier Frequency): 햇빛이나 형광등 같은 주변 잡음과 구별하기 위해 신호를 38kHz 정도의 일정한 리듬으로 실어 보냅니다.
    • 프로토콜 (Protocol): 제조사마다 신호를 해석하는 규칙이 다릅니다 (예: NEC, Sony, Samsung 규격 등).

    3. 장단점

    장점단점
    저렴한 비용: 제작 단가가 매우 낮습니다.직선성: 빛이라서 장애물이 있으면 막힙니다.
    낮은 전력 소모: 배터리 하나로 수개월 사용 가능합니다.짧은 거리: 보통 5~10m 이내에서만 작동합니다.
    설정 간편: 별도의 페어링 과정이 거의 필요 없습니다.각도 제한: 수신부를 정확히 향해야 잘 눌립니다.
    IR 수신부
    TV 박스 리모콘 응용, NEC 코드
    TV BOX 리모콘의 nec IR 신호를 ESP32-C3이 수신해서 RC카 제어
  • RC카의 심장과 근육 모터 드라이버

    RC카의 심장과 근육 모터 드라이버

    서버모터, DC모터, 초음파 거리센서 자동회피
    메카넘휠 4륜 구동 RC, 기어드 모터 4개 제어를 위해 핀수가 많은 ESP32 WROOM 사용
    고장난 완제품 RC카 재활용 ㅋㅋ
    서보모터 핸들, 전후진시 LED 점등, 고무밸트 구동이라 매우 조용
    기어드 모터 2개, ESP NOW 제어, IR 적외선 리모콘 제어, 웹페이지에서 제어 3가지로 제어 가능
    메카넘 휠 4륜 기어드모터, ESP32-CAM 실시간 촬영, 카메라 전원 릴레이 ON/OFF, 모터 구동시 보드 다운을 막기 위해 보드는 배터리를 따로 사용

    미니 L298N 모듈 주요 성능 사양을 요약

    이 모듈은 소형 로봇이나 배터리 구동 기기에 최적화된 초소형 듀얼 H-브리지 모터 드라이버입니다.

    1. 주요 사양

    • 구동 전압 (Motor Voltage): DC 2V ~ 10V
    • 로직 입력 전압 (Signal Voltage): DC 1.8V ~ 7V (아두이노, 라즈베리 파이 등과 호환)
    • 출력 전류: * 연속 전류: 채널당 1.5A
      • 피크 전류: 최대 2.5A
    • 제어 방식: PWM 속도 조절 및 정/역회전 제어 가능
    • 대기 전류: 0.1uA 미만 (초절전형)
    • 크기: 약 24.7 x 21 x 5 mm (매우 작고 가벼움)

    2. 주요 특징

    • 듀얼 채널: DC 모터 2개 또는 4선식 2상 스텝 모터 1개를 개별 제어할 수 있습니다.
    • 과열 보호: 내장된 열 보호 회로(TSD)가 있어 모터 고정(Stall) 시 과열로 인한 파손을 방지합니다.
    • 저발열 설계: 내장된 MOS 스위치의 저항이 낮아 기존 큰 L298N 모듈에 비해 열이 적게 발생하며, 별도의 방열판이 필요 없습니다.
    • 안전 회로: 입력단이 떠 있는(floating) 상태에서도 모터가 오작동하지 않도록 설계되어 있습니다.

    3. 주의사항

    • 전원 극성: 전원의 +와 -를 반대로 연결하면 칩이 즉시 파손될 수 있으니 주의해야 합니다.
    • 전압 범위: 10V를 초과하는 전원을 연결하지 마세요. (고전압 모터용이 아닙니다.)

    소형 완구, 스마트 카, 소형 로봇 팔 등 낮은 전압(배터리 2~4알 수준)을 사용하는 프로젝트에 매우 적합한 가성비 모델입니다.

  • 내 RC카 배터리 얼마나 남았을까? 분압 저항으로 구현하는 실시간 전압계

    내 RC카 배터리 얼마나 남았을까? 분압 저항으로 구현하는 실시간 전압계


    리튬 이온 배터리는 완충 시 약 4.2V, 방전 시 약 3.0V~3.2V 사이의 전압을 가집니다. 하지만 ESP32-C3의 ADC 입력 전압은 보통 0V~2.5V(내부 설정에 따라 다름) 정도로 제한되어 있어, 배터리 전압을 직접 연결하면 MCU가 손상될 수 있습니다.

    이때 가장 간단하고 효과적인 해결책이 바로 분압 저항을 사용하는 방법입니다.

    1. 하드웨어 구성: 분압 저항(Voltage Divider) 원리

    100kΩ 저항 두 개를 직렬로 연결하면 전압이 정확히 **절반(1/2)**으로 줄어듭니다. 배터리 전압이 4.2V일 때 ADC 핀에는 2.1V가 입력되므로 ESP32-C3에서 안전하게 읽을 수 있습니다.

    • 준비물: 100kΩ 저항 2개, ESP32-C3, 리튬 이온 배터리
    • 회로 연결:
      1. 배터리 양극(+) → 첫 번째 100kΩ 저항 시작점 연결
      2. 두 저항 사이의 중간 지점 → ESP32-C3의 ADC 핀(예: GPIO 0) 연결
      3. 두 번째 100kΩ 저항 끝점 → 배터리 음극(-) 및 ESP32-C3 GND 공통 연결

    2. 마이크로파이썬(MicroPython) 구현 코드

    ESP32-C3에서 ADC 값을 읽어 실제 배터리 전압으로 환산하는 코드입니다.

    Python “battery.py”

    3. 더 정확한 측정을 위한 팁

    • 저항 오차: 100kΩ 저항이라도 미세한 오차가 있으므로, 멀티미터로 실제 배터리 전압을 재보고 코드의 2 대신 2.05와 같이 미세하게 조정(Calibration)하면 더 정확합니다.
    • 전력 소모: 상시 구동 기기라면 100kΩ 이상의 높은 저항을 사용하거나, 측정할 때만 회로를 연결하는 트랜지스터 스위치를 추가하는 것이 좋습니다.
    • 노이즈 제거: adc.read() 값을 여러 번 읽어 평균을 내면 값이 훨씬 안정적으로 출력됩니다.

    4. 맺음말

    전원을 직접 연결하기 힘든 위치에 온습도계를 둘 때는 배터리를 쓰게 되죠. 이때 배터리 전압을 실시간으로 체크해주면 정말 편리해요. ‘배터리가 다 됐어요!’라고 기기가 스스로 알려줄 수 있도록 이번 강좌의 ADC 측정 회로를 꼭 적용해 보시기 바랍니다.

  • 500m 밖에서도 내 손안에! ESP-NOW로 만든 ‘선 넘는’ RC카

    500m 밖에서도 내 손안에! ESP-NOW로 만든 ‘선 넘는’ RC카

    안녕하세요! 오늘은 미니멀한 사이즈에 강력한 성능을 담은 ESP32-C3 미니 보드를 활용해 직접 제작한 RC카 프로젝트를 소개해 보려고 합니다.

    ESP-NOW 제어

    단순히 동작하는 것을 넘어, 이번 프로젝트의 핵심은 ESP-NOW라는 통신 방식을 사용해 조종 반응 속도를 극대화했다는 점인데요. 제작 과정과 주요 포인트를 정리해 봤습니다.


    주요 하드웨어 구성

    • MCU: ESP32-C3 SuperMini
    • 통신 방식: ESP-NOW, Web Server, IR Remote Control
    • 구동부: DC 모터 및 L293D / L298N Motor Driver
    • 전원: 보조배터리

    왜 ‘ESP-NOW’인가요?

    보통 Wi-Fi 통신을 하면 공유기를 거치거나 접속 대기 시간이 발생하기 마련이죠. 하지만 ESP-NOW를 사용하면:

    1. 압도적인 반응 속도: 페어링 과정 없이 패킷을 즉시 던지기 때문에 조종하는 손맛이 그대로 전달됩니다.
    2. 연결의 간편함: MAC 주소만 알면 복잡한 설정 없이 두 보드를 바로 연결할 수 있어요.
    3. 저전력: Wi-Fi보다 전력 소모가 적어 배터리 효율이 중요한 소형 RC카에 딱입니다.

    제작 핵심 포인트

    1. 송신기와 수신기 설정

    ESP32-C3는 안테나 성능이 준수해서 실내외 어디서든 안정적인 연결을 보여주었습니다. 송신부(조종기)에서 조이스틱 값을 읽어 구조체(Struct) 형태로 묶어 보내면, 수신부(RC카)에서 이를 해석해 모터를 제어하는 방식으로 구현했습니다.

    2. 소형화의 한계 돌파

    ESP32-C3 미니 보드는 핀 수가 적지만, RC카 제어에 필요한 PWM 출력에는 충분했습니다. 덕분에 전체적인 차체 크기를 획기적으로 줄일 수 있었죠.

    Tip: ESP32-C3는 내장 안테나가 작기 때문에, 수신 거리를 늘리고 싶다면 외부 안테나를 지원하는 모델을 선택하는 것도 방법입니다!


    마치며: 직접 만든 RC카를 굴려보니

    완성된 RC카를 직접 조종해 보니, 역시 ESP-NOW 특유의 **’딜레이 없는 반응’**이 정말 만족스러웠습니다. 작고 귀엽지만 속도감만큼은 어떤 기성품 부럽지 않네요.

    다음에는 이 시스템에 카메라 모듈을 추가해 FPV(1인칭 시점) 레이싱카로 업그레이드해 볼 계획입니다.


    웹브라우저에서 조종, IR 리모콘으로 조종

    웹에서 제어
    IR 리모콘 제어
  • [상위고정] 온습도 모니터링 & IR 리모콘

    [상위고정] 온습도 모니터링 & IR 리모콘

    “가장 소중한 사람을 위한 DIY” (실용적/따뜻함)

    “아이 방의 습도는 적당한지, 부모님 방이 너무 춥지는 않은지 매번 문을 열어 확인하고 계셨나요? 이제 직접 만든 작은 센서들이 당신을 대신해 집안 구석구석을 살핍니다. **’방마다 온습도 모니터링’**은 소중한 사람들의 건강을 위해 시작된 가장 따뜻한 DIY 프로젝트입니다. 부품 하나, 코드 한 줄로 시작하는 우리 집의 작은 변화를 기록합니다.”

    • AHT20 센서 활용한 ESP32-C3 온습도 측정
    • IR Led를 활용한 IR 리모트 컨트롤
    • AHT20+BMP280 센서 : 온도, 습도, 기압 측정
    • OLED SSD1306 디스플레이
    • SR602 미니 모션 센서 감지기 모듈: 디스플레이 자동 on/off
    • ESP32-C3, ST7789 : 9 채널 온습도 모니터링 데시보드

    공간별 온습도 실시간 모니터링 및 가전 기기 원격 통합 제어


    리뉴얼 Renewal With AI. 2026.02.11
    리뉴얼 온습도 그래프 Renewal With AI. 2026.03.25
    1개월간 공간별 온습도 그래프
    1년간 공간별 온습도 그래프
    공간별 IR리모콘
  • 아두이노와 마이크로파이썬

    아두이노와 마이크로파이썬

    아두이노(C++)와 마이크로파이썬(MicroPython)은 임베디드 개발에서 가장 인기 있는 두 가지 선택지입니다. 결론부터 말씀드리면, “세밀한 제어와 성능이 중요하다면 아두이노”, **”빠른 개발과 쉬운 학습이 우선이라면 마이크로파이썬”**을 추천합니다.

    Arduino
    Micropython

    주요 차이점을 네 가지 핵심 포인트로 정리해 드립니다.


    1. 언어와 실행 방식의 차이

    구분아두이노 (Arduino C++)마이크로파이썬 (MicroPython)
    언어C++ 기반 (컴파일 언어)Python 3 기반 (인터프리터 언어)
    실행 방식코드를 기계어로 변환해 업로드보드 내부의 인터프리터가 코드를 즉시 해석
    속도/효율매우 빠름. 하드웨어 자원을 100% 활용상대적으로 느림. 메모리 사용량이 많음
    난이도포인터, 메모리 관리 등 초기 학습이 다소 어려움문법이 간결하고 직관적이라 입문자에게 유리

    2. 개발 프로세스 (워크플로우)

    • 아두이노: 코드를 수정할 때마다 ‘컴파일(빌드) → 업로드’ 과정을 거쳐야 합니다. 코드가 길어질수록 기다리는 시간이 생깁니다.
    • 마이크로파이썬: REPL(Interactive Shell) 기능을 지원합니다. 보드를 PC에 연결한 상태에서 한 줄씩 코드를 입력하면 즉시 하드웨어가 반응합니다. (예: led.on() 입력 시 즉시 불이 켜짐)

    3. 하드웨어 지원 범위

    • 아두이노: 아주 저사양인 8비트 MCU(Arduino Uno 등)부터 고사양 보드까지 거의 모든 하드웨어에서 돌아갑니다.
    • 마이크로파이썬: 파이썬 인터프리터 자체가 메모리를 꽤 차지하기 때문에, 최소 ESP32, Raspberry Pi Pico, STM32 급의 어느 정도 사양이 되는 보드에서만 작동합니다. 구형 아두이노 우노(Uno)에서는 실행할 수 없습니다.

    4. 라이브러리와 커뮤니티

    • 아두이노: 수십 년간 쌓인 방대한 라이브러리가 강점입니다. 듣도 보도 못한 중국산 센서라도 아두이노용 라이브러리는 있을 확률이 매우 높습니다.
    • 마이크로파이썬: 최근 급격히 성장 중이지만, 아두이노에 비하면 센서 라이브러리가 부족할 수 있습니다. 하지만 문자열 처리나 네트워크(Wi-Fi/HTTP) 라이브러리는 파이썬답게 매우 강력합니다.

    💡 요약: 무엇을 선택할까요?

    이런 분께는 아두이노를 추천합니다:

    • 드론 제어, 고속 모터 제어 등 **실시간성(Real-time)**이 매우 중요한 프로젝트
    • 메모리가 적은 아주 작은 칩을 사용해야 하는 경우
    • 임베디드 엔지니어로서의 기초(C/C++)를 탄탄히 다지고 싶은 경우

    이런 분께는 마이크로파이썬을 추천합니다:

    • 이미 파이썬에 익숙하거나, 코딩을 처음 시작하는 입문자
    • 데이터 로깅, 간단한 IoT 기기(웹 서버 등)를 빨리 만들고 싶은 경우
    • 복잡한 알고리즘이나 AI 관련 기능을 기기 내에서 처리하고 싶은 경우

    “스마트 홈 제어는 고도의 연산 성능보다 다양한 시나리오의 적용이 핵심입니다. 따라서 신속한 프로토타이핑과 반복 테스트에 유리한 마이크로파이썬(MicroPython)을 활용하는 것이 개발 효율성 측면에서 가장 적합합니다.”