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 바 그래프를 사용하는 방법을 알려드립니다. 자세히 말하면, 다음 내용을 배웁니다:
- 10세그먼트 LED 바 그래프를 ESP32에 연결하는 방법.
- LED 바 디스플레이에 애니메이션을 주는 ESP32용 MicroPython 코드를 작성하는 방법.

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

- 애노드 핀 (A1–A10): 220Ω 저항을 거쳐 GPIO 핀에 연결합니다
- 캐소드 핀 (K1–K10): GND(0볼트)에 연결합니다
10세그먼트 LED 바 그래프와 ESP32 간의 배선도

이 이미지는 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 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.