ESP32 C3 Super Mini 10세그먼트 LED 바 그래프

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×10 Segment LED Bar Graph 아마존
10×220 Ω Resistor 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

ESP32 C3 Super Mini에서 10세그먼트 LED 바 그래프를 사용하여 움직이는 LED 바 디스플레이를 만드는 방법을 배워 봅니다.

ESP32 C3 Super Mini - 10세그먼트 LED 바 그래프

10세그먼트 LED 바 그래프 소개

주요 사양:

  • 세그먼트 수: 10
  • LED 색상: 밝은 빨간색
  • 순방향 전압: 세그먼트당 약 2V
  • 순방향 전류: 세그먼트당 최대 20mA
  • 필요한 저항: 세그먼트당 220Ω
  • 필요한 라이브러리: 없음 — 내장 digitalWrite() 사용

LED 바 그래프를 사용하는 이유:

  • 간단하고 시각적 — 레벨을 한눈에 보여 주기에 적합
  • 라이브러리 불필요 — 표준 GPIO 함수로 동작
  • ESP32 C3 Super Mini의 3.3V 로직과 호환
  • 바로 사용할 수 있는 부품으로 구매 가능

LED 바 그래프 핀 배치

10세그먼트 LED 바 그래프 핀 배치
  • A1–A10 (애노드) — LED 세그먼트마다 애노드가 하나씩 있으며, 각각 220Ω 저항을 거쳐 GPIO 핀에 연결합니다
  • K1–K10 (캐소드) — LED 세그먼트마다 캐소드가 하나씩 있으며, 모두 GND에 연결합니다

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

LED 바 그래프를 ESP32 C3 Super Mini에 연결하는 방법은 다음과 같습니다:

LED 바 그래프 ESP32 C3 Super Mini 핀
A1 (애노드 1) GPIO1 (220Ω 경유)
A2 (애노드 2) GPIO2 (220Ω 경유)
A3 (애노드 3) GPIO3 (220Ω 경유)
A4 (애노드 4) GPIO4 (220Ω 경유)
A5 (애노드 5) GPIO5 (220Ω 경유)
A6 (애노드 6) GPIO6 (220Ω 경유)
A7 (애노드 7) GPIO7 (220Ω 경유)
A8 (애노드 8) GPIO8 (220Ω 경유)
A9 (애노드 9) GPIO9 (220Ω 경유)
A10 (애노드 10) GPIO10 (220Ω 경유)
K1–K10 (캐소드) GND
ESP32 C3 Super Mini LED 바 그래프 배선도

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

ESP32 C3 Super Mini 코드 - 10세그먼트 LED 바 그래프

10세그먼트 LED 바 그래프를 움직이게 하는 코드는 다음과 같습니다:

이 코드가 하는 일:

  • GPIO 1–10을 출력으로 초기화합니다
  • 왼쪽에서 오른쪽으로 세그먼트를 하나씩 켭니다 (단계당 100ms)
  • 바가 가득 차면 500ms 동안 기다립니다
  • 오른쪽에서 왼쪽으로 세그먼트를 하나씩 끕니다 (단계당 100ms)
  • 현재 바 상태를 시리얼 모니터에 출력합니다
  • 무한 루프로 반복합니다
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-10-segment-led-bar-graph */ const int NUM_SEGMENTS = 10; const int ledPins[NUM_SEGMENTS] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; void printBar(int litCount) { Serial.print("Bar: ["); for (int i = 0; i < NUM_SEGMENTS; i++) { Serial.print(i < litCount ? "*" : " "); } Serial.println("]"); } void setup() { Serial.begin(115200); for (int i = 0; i < NUM_SEGMENTS; i++) { pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i], LOW); } } void loop() { for (int i = 0; i < NUM_SEGMENTS; i++) { digitalWrite(ledPins[i], HIGH); printBar(i + 1); delay(100); } delay(500); for (int i = NUM_SEGMENTS - 1; i >= 0; i--) { digitalWrite(ledPins[i], LOW); printBar(i); delay(100); } delay(500); }
  • ESP32 C3 Mini가 처음이신가요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
  • 다이어그램에 표시된 대로 부품을 연결합니다.
  • USB Type-C로 ESP32 C3 Super Mini를 컴퓨터에 연결합니다.
  • Arduino IDE를 열고 ESP32 C3 Super Mini 보드와 COM 포트를 선택합니다.
  • 위 코드를 복사하여 Arduino IDE에 붙여넣습니다.
  • Upload를 클릭하여 컴파일하고 보드에 업로드합니다.
  • 브레드보드에서 LED 바가 움직이는 것을 확인합니다.
  • 115200 보드레이트로 시리얼 모니터를 열어 출력되는 바 상태를 확인합니다.

시리얼 모니터 출력

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
Bar: [* ] Bar: [** ] Bar: [*** ] Bar: [**** ] Bar: [***** ] Bar: [****** ] Bar: [******* ] Bar: [******** ] Bar: [********* ] Bar: [**********] Bar: [********* ] Bar: [******** ] Bar: [******* ] Bar: [****** ] Bar: [***** ] Bar: [**** ] Bar: [*** ] Bar: [** ] Bar: [* ] Bar: [ ]
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

추가 지식

  • 직접 GPIO 제어 (이 튜토리얼): GPIO 핀 10개를 사용하며, 코드가 간단하고 추가 하드웨어가 필요 없습니다
  • 시프트 레지스터 (74HC595): GPIO 핀 3개만 사용하며, 추가 IC와 더 복잡한 코드가 필요하지만 GPIO 핀을 절약할 수 있습니다

동영상 튜토리얼

댓글