ESP32 MicroPython 10세그먼트 LED 바 그래프

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow 쿠팡 | 아마존
1×(또는) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide 쿠팡 | 아마존
1×(또는) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide 아마존
1×(또는) ESP32 Uno-form board 아마존
1×(또는) ESP32 S3 Uno-form board 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×10 Segment LED Bar Graph 아마존
10×220 Ω Resistor 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

이 튜토리얼에서는 ESP32와 MicroPython으로 10세그먼트 LED 바 그래프를 사용하는 방법을 알려드립니다. 자세히 말하면, 다음 내용을 배웁니다:

ESP32 마이크로파이썬과 10세그먼트 LED 바 그래프

10세그먼트 LED 바 그래프에 대하여

10세그먼트 LED 바 그래프
세그먼트 수 10
LED 색상 밝은 빨간색
순방향 전압 세그먼트당 약 2V
순방향 전류 세그먼트당 최대 20mA
필요한 저항 세그먼트당 220Ω

핀아웃

10세그먼트 LED 바 그래프 핀아웃
  • 애노드 핀 (A1–A10): 220Ω 저항을 거쳐 GPIO 핀에 연결합니다
  • 캐소드 핀 (K1–K10): GND(0볼트)에 연결합니다

10세그먼트 LED 바 그래프와 ESP32 간의 배선도

ESP32 마이크로파이썬과 10세그먼트 LED 바 그래프 배선도 - 브레드보드

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

※ 주의:

배선을 간단하게 하기 위해 10개의 애노드 핀은 모두 ESP32 Dev Board 헤더의 한쪽 면을 따라 물리적 핀 순서대로 연결됩니다. 그래서 GPIO5와 GPIO15를 사용하게 됩니다. 이 두 핀은 부팅 시 아주 짧게 펄스를 낼 뿐이고 보드의 내장 LED에 흔히 사용되므로 위험이 낮습니다. 보드의 부팅 모드나 플래싱 모드에 실제로 영향을 줄 수 있는 GPIO0, GPIO2, GPIO12는 전혀 사용하지 않습니다.

LED 바 그래프 ESP32 핀
A1 (애노드 1) GPIO23 (220Ω 경유)
A2 (애노드 2) GPIO22 (220Ω 경유)
A3 (애노드 3) GPIO21 (220Ω 경유)
A4 (애노드 4) GPIO19 (220Ω 경유)
A5 (애노드 5) GPIO18 (220Ω 경유)
A6 (애노드 6) GPIO5 (220Ω 경유)
A7 (애노드 7) GPIO17 (220Ω 경유)
A8 (애노드 8) GPIO16 (220Ω 경유)
A9 (애노드 9) GPIO4 (220Ω 경유)
A10 (애노드 10) GPIO15 (220Ω 경유)
K1–K10 (캐소드) GND

ESP32 MicroPython 코드 - 10세그먼트 LED 바 그래프

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-10-segment-led-bar-graph */ from machine import Pin import time NUM_SEGMENTS = 10 LED_PIN_NUMS = [23, 22, 21, 19, 18, 5, 17, 16, 4, 15] leds = [Pin(p, Pin.OUT) for p in LED_PIN_NUMS] def print_bar(lit_count): bar = '*' * lit_count + ' ' * (NUM_SEGMENTS - lit_count) print('Bar: [' + bar + ']') for led in leds: led.value(0) while True: for i in range(NUM_SEGMENTS): leds[i].value(1) print_bar(i + 1) time.sleep(0.1) time.sleep(0.5) for i in range(NUM_SEGMENTS - 1, -1, -1): leds[i].value(0) print_bar(i) time.sleep(0.1) time.sleep(0.5)

Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법은 다음과 같습니다:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하세요.
  • ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하세요.
  • 처음이라면 ESP32 마이크로파이썬 - 시작하기 가이드를 참고하세요.
  • 제공된 배선도에 따라 10세그먼트 LED 바 그래프를 ESP32에 연결하세요.
  • USB 케이블로 ESP32를 컴퓨터에 연결하세요.
  • Thonny IDE를 여세요.
  • Thonny에서 Tools → Options로 이동한 후 Interpreter 탭에서 드롭다운 메뉴의 MicroPython (ESP32)를 선택하세요.
  • 제공된 MicroPython 코드를 복사하여 Thonny 편집기에 붙여넣으세요.
  • 코드를 ESP32에 저장하세요: File → Save as...를 선택하고, MicroPython device를 선택한 다음, 파일 이름을 main.py로 지정하세요.
  • 초록색 Run 버튼을 클릭하거나 F5 키를 눌러 스크립트를 실행하세요.
  • 브레드보드에서 LED 바가 움직이는 모습을 확인하세요.
  • Thonny 하단의 Shell에서 출력된 바 결과를 확인하세요.

Thonny 콘솔

Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Bar: [* ] Bar: [** ] Bar: [*** ] Bar: [**** ] Bar: [***** ] Bar: [****** ] Bar: [******* ] Bar: [******** ] Bar: [********* ] Bar: [**********] Bar: [********* ] Bar: [******** ] Bar: [******* ] Bar: [****** ] Bar: [***** ] Bar: [**** ] Bar: [*** ] Bar: [** ] Bar: [* ] Bar: [ ]
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

스크립트 이름을 main.py로 지정하여 MicroPython 장치에 저장하면, ESP32의 전원이 켜질 때마다 자동으로 실행됩니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.