ESP32 C3 Super Mini 미니 Mp3 플레이어
ESP32 C3 Super Mini는 오디오 프로젝트에 완벽한 컴팩트 3.3V 개발 보드입니다. 이 튜토리얼에서는 ESP32 C3 Super Mini 보드와 함께 DIYables Mini Mp3 Player 모듈을 사용하여 완전한 mp3 플레이어 시스템을 구축하는 방법을 배웁니다.
배우게 될 내용:
- Mini Mp3 Player 모듈이 무엇이고 어떻게 작동하는지
- Mp3 모듈을 ESP32 C3 Super Mini에 배선하는 방법(저항 필요 없음)
- 올바르게 이름이 지정된 mp3 파일을 사용하여 SD 카드를 준비하는 방법
- 재생, 볼륨, 루핑 및 폴더 제어를 위한 코드를 작성하는 방법
- 모듈 상태를 읽고 시리얼 명령을 통해 재생을 제어하는 방법

필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 타입-C 케이블 | 쿠팡 | 아마존 | |
| 1 | × | DIYables Mini Mp3 Player 모듈 | 아마존 | |
| 1 | × | 마이크로 SD 카드 | 아마존 | |
| 1 | × | 스피커 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼 와이어 | 쿠팡 | 아마존 |
Mini Mp3 Player 모듈에 대해
DIYables Mini Mp3 Player는 마이크로 SD 카드에서 내장 앰프를 통해 오디오 파일을 재생하는 YX5200-24SS mp3 디코더 모듈입니다.
주요 특성:
- 3.3V–5V로 작동(ESP32 C3 Super Mini의 3.3V 로직에 완벽함)
- 115200 보드에서 UART 시리얼을 통해 제어
- 스피커를 직접 연결할 수 있는 내장 3W 앰프
- 최대 255개의 트랙 및 99개의 폴더 지원
- 31개의 볼륨 수준(0–30)
- 6개의 이퀄라이저 사전 설정(Normal, Pop, Rock, Jazz, Classic, Bass)
- 여러 반복 및 셔플 모드
- 볼륨, 트랙 번호 및 재생 상태에 대한 상태 쿼리 기능
- 외부 디코더 또는 앰프 IC 필요 없음
- 간단한 시리얼 명령으로 초보자 친화적
핀아웃
Mini Mp3 Player 모듈은 전원, 통신, 오디오 출력 및 제어를 위한 11개의 핀을 가지고 있습니다.
- VCC: 전원(3.2V–5.0V)
- GND: 접지 연결
- RX: UART 수신(ESP32 TX 핀에 연결)
- TX: UART 전송(ESP32 RX 핀에 연결)
- SPK_1: 스피커 양극(내장 3W 앰프)
- SPK_2: 스피커 음극
- DAC_R: 오른쪽 채널 라인 레벨 오디오 출력
- DAC_L: 왼쪽 채널 라인 레벨 오디오 출력
- BUSY: 상태 핀(재생 중 LOW, 유휴 시 HIGH)
- IO_1: 버튼 입력(짧은 누름 = 이전, 길게 누름 = 볼륨 내림)
- IO_2: 버튼 입력(짧은 누름 = 다음, 길게 누름 = 볼륨 올림)

배선도
하드웨어 Serial1을 사용하여 Mini Mp3 Player를 ESP32 C3 Super Mini에 연결하는 방법은 다음과 같습니다.
- 중요: ESP32 C3 Super Mini는 3.3V 로직을 사용하며 모듈과 완벽하게 일치합니다. TX/RX 라인에는 저항이 필요하지 않습니다
- Serial1 핀: TX1은 GPIO5(D5), RX1은 GPIO4(D4)
- 전원 옵션: 스피커 요구사항에 따라 3.3V 핀 또는 5V(VBUS) 사용
| Mini Mp3 Player | ESP32 C3 Super Mini | 참고 |
|---|---|---|
| VCC | 3.3V | 모듈은 필요에 따라 VBUS에서 5V도 허용 |
| GND | GND | 공통 접지 |
| RX | TX1 (D5) | 직접 연결 - 저항 필요 없음 |
| TX | RX1 (D4) | 직접 연결 - 3.3V 로직 호환 |
| SPK_1 | 스피커 + | 증폭 출력 |
| SPK_2 | 스피커 − | 증폭 출력 |

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
SD 카드 설정
Mini Mp3 Player는 마이크로 SD 카드에 올바르게 형식화되고 이름이 지정된 파일이 필요합니다.
형식화 요구사항:
- 파일 시스템: FAT16 또는 FAT32
- 카드 크기: 최대 32GB 권장
기본 파일 이름(루트 디렉토리):
폴더 기반 이름(구성된 재생):
중요한 명명 규칙:
- 트랙 번호는 0이 아닌 1부터 시작
- 루트 파일: 3자리 0으로 채워진 이름(001–255)
- 폴더 이름: 2자리 0으로 채워진(01–99)
- 폴더의 파일: 3자리 0으로 채워진(001–255)
- 복사 순서가 중요: 모듈은 알파벳 이름이 아닌 파일이 복사된 순서에서 재생 순서를 결정
- 모범 사례: 먼저 카드를 포맷한 다음 원하는 재생 순서대로 파일을 하나씩 복사
라이브러리 설치
DIYables_MiniMp3 라이브러리는 ESP32 C3 Super Mini 프로젝트에서 mp3 모듈 제어를 단순화합니다.
- USB-C 케이블을 통해 ESP32 C3 Super Mini를 컴퓨터에 연결
- Arduino IDE 열기
- ESP32 C3 Super Mini를 보드로 선택
- 올바른 COM 포트 선택
- 왼쪽 사이드바의 Libraries 아이콘 클릭
- "DIYables_MiniMp3"에 대해 검색
- DIYables에서 라이브러리 찾기
- Install 클릭

라이브러리의 이점:
- 외부 종속성 없음
- 모든 재생 기능에 대한 간단한 명령 함수
- ESP32 하드웨어 시리얼과 완벽하게 작동
ESP32 C3 Super Mini 코드 — 기본 설정
이 코드는 하드웨어 Serial1을 사용하여 Mini Mp3 Player를 ESP32 C3 Super Mini로 제어하기 위한 기본 템플릿을 보여줍니다.
이 코드가 하는 역할:
- 115200 보드에서 mp3 모듈 통신을 위해 Serial1 초기화
- Mp3 플레이어 객체 설정
- 모듈 부팅 완료 대기
- 초기 볼륨을 수준 25로 설정
하드웨어 시리얼을 사용하는 이유는?
- ESP32 C3 Super Mini는 전용 UART 하드웨어를 가지고 있음
- 소프트웨어 시리얼보다 더 안정적
- 115200 보드에서 타이밍 문제 없음
- 디버깅을 위해 USB 시리얼을 비워둠
ESP32 C3 Super Mini 코드 — 단일 트랙 재생
빠른 단계
- ESP32 C3 Mini를 처음 사용하시나요? 개발 환경을 설정하려면 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
- SD 카드 준비: FAT32로 포맷하고 001.mp3, 002.mp3 등의 이름으로 mp3 파일 복사
- SD 카드 삽입: 마이크로 SD 카드를 모듈의 슬롯에 삽입
- 배선 연결: 위의 배선도 따르기(VCC, GND, TX1, RX1, 스피커)
- 스피커 연결: 스피커를 SPK_1 및 SPK_2 터미널에 연결
- Arduino IDE 열기: 컴퓨터에서 IDE 실행
- 보드 선택: 보드 메뉴에서 ESP32 C3 Super Mini 선택
- 포트 선택: 보드의 올바른 COM 포트 선택
- 코드 업로드: 위의 코드를 복사하여 ESP32 C3 Super Mini에 업로드
- 청취: 트랙 001.mp3이 스피커를 통해 재생되어야 함
- 전문가 팁: 소리가 들리지 않으면 SD 카드 형식 및 파일 이름을 확인하세요. 모듈은 명명 규칙에 매우 민감합니다
재생 명령
| 메서드 | 목적 | 예제 |
|---|---|---|
| play(trackNum) | 특정 트랙 시작 | mp3.play(1) |
| playNext() | 다음 트랙으로 이동 | mp3.playNext() |
| playPrevious() | 이전 트랙으로 이동 | mp3.playPrevious() |
| pause() | 활성 트랙 일시 중지 | mp3.pause() |
| resume() | 트랙 일시 중지 해제 | mp3.resume() |
| stop() | 재생 중지 | mp3.stop() |
ESP32 C3 Super Mini 코드 — 여러 트랙 재생
빠른 단계
- SD 카드 준비: 최소 3개의 001.mp3, 002.mp3, 003.mp3으로 이름이 지정된 mp3 파일이 있는지 확인
- 와이어 모듈: 이전 예제와 동일한 배선 사용
- 코드 업로드: 위의 스케치를 복사하고 업로드
- 청취: 트랙이 5초마다 자동으로 회전
- 시리얼 보기: 115200 보드에서 Serial Monitor를 열어 트랙 변경 확인
- 전문가 팁: delay(5000) 값을 조정하여 각 트랙이 다음으로 이동하기 전에 얼마나 오래 재생되는지 변경
Serial Monitor 출력
ESP32 C3 Super Mini 코드 — 볼륨 제어
빠른 단계
- 버튼 추가: 두 개의 버튼을 GPIO6 및 GPIO7(+GND)에 연결
- 코드 업로드: 위의 스케치를 Arduino IDE에 복사하고 업로드
- 버튼 테스트: 음악 재생 중 버튼을 눌러 볼륨 조정
- 시리얼 보기: Serial Monitor는 현재 볼륨 수준을 표시
- 전문가 팁: 볼륨 범위는 0–30이며, 대부분의 스피커에 15가 좋은 시작점
볼륨 명령
| 메서드 | 목적 | 예제 |
|---|---|---|
| setVolume(v) | 특정 볼륨 수준으로 이동 | mp3.setVolume(20) |
| volumeUp() | 1단계 증가 | mp3.volumeUp() |
| volumeDown() | 1단계 감소 | mp3.volumeDown() |
| getVolume() | 현재 수준 쿼리 | mp3.getVolume() |
Serial Monitor 출력
ESP32 C3 Super Mini 코드 — 다음/이전 버튼
빠른 단계
- 버튼 와이어: NEXT 버튼을 GPIO6에, PREV 버튼을 GPIO7에 연결
- 접지 연결: 다른 버튼 터미널을 GND에 와이어
- 스케치 업로드: 위의 코드를 ESP32 C3 Super Mini에 로드
- 탐색 테스트: 버튼을 눌러 트랙을 앞뒤로 건너뛰기
- 모니터 출력: Serial Monitor는 현재 트랙 번호를 표시
- 전문가 팁: 소음이 많은 환경에서 더 안정적인 버튼 작동을 위해 풀업 저항(10kΩ) 사용
Serial Monitor 출력
ESP32 C3 Super Mini 코드 — 일시 중지/재개 토글
빠른 단계
- 버튼 와이어: 일시 중지/재개 버튼을 GPIO6 및 GND에 연결
- 코드 업로드: 스케치를 보드에 로드
- 재생 시작: 음악이 자동으로 시작
- 일시 중지 토글: 버튼을 눌러 일시 중지하고 다시 눌러 재개
- 상태 확인: Serial Monitor는 재생 상태 표시
- 전문가 팁: 모듈의 BUSY 핀은 LED를 사용한 시각적 피드백으로 재생/일시 중지 상태를 나타낼 수도 있음
Serial Monitor 출력
ESP32 C3 Super Mini 코드 — 트랙 루핑
빠른 단계
- 스케치 업로드: 위의 코드 로드
- 청취: 트랙 1이 계속 반복
- 전문가 팁: 지속적인 재생이 필요한 배경 음악 프로젝트에 loopAll() 사용
반복 및 셔플 명령
| 메서드 | 목적 | 예제 |
|---|---|---|
| loopTrack(t) | 한 트랙을 계속 재생 | mp3.loopTrack(1) |
| loopFolder(f) | 폴더의 모든 트랙 재생 | mp3.loopFolder(1) |
| loopAll() | 카드의 모든 항목 재생 | mp3.loopAll() |
| stopLoop() | 현재 반복 모드 종료 | mp3.stopLoop() |
| shuffle() | 재생 순서 무작위 | mp3.shuffle() |
ESP32 C3 Super Mini 코드 — 폴더에서 재생
빠른 단계
- 폴더 생성: SD 카드에서 01, 02 등의 이름이 지정된 폴더 생성
- 파일 추가: 각 폴더에 mp3 파일 배치(001.mp3, 002.mp3 등)
- 코드 업로드: 스케치를 ESP32 C3 Super Mini에 로드
- 재생 테스트: 코드는 폴더 01의 첫 번째 트랙을 재생
- 전문가 팁: 음 효과, 음악 장르 또는 언어를 별도 폴더로 구성하여 쉬운 프로젝트 구성
폴더 메서드
| 메서드 | 목적 | 예제 |
|---|---|---|
| playFolder(f, t) | 폴더 f에서 트랙 t 선택 | mp3.playFolder(1, 1) |
| playLargeFolder(f, t) | 대용량 폴더 모드(최대 3000개 트랙) | mp3.playLargeFolder(1, 1500) |
| playFromMP3Folder(t) | 특수 /mp3 폴더 액세스 | mp3.playFromMP3Folder(1) |
ESP32 C3 Super Mini 코드 — Serial Monitor 제어
빠른 단계
- 코드 업로드: 스케치를 ESP32 C3 Super Mini에 로드
- Serial Monitor 열기: 보드 레이트를 115200으로 설정
- 명령 보내기: 아래 표의 명령 입력
- 재생 제어: 키보드를 사용하여 모든 mp3 플레이어 기능 테스트
- 전문가 팁: 이것은 더 큰 프로젝트에 구축하기 전에 mp3 모듈을 테스트하는 데 완벽합니다
시리얼 명령
| 입력 | 결과 |
|---|---|
| 1–9 | 해당 트랙 재생 |
| + / − | 볼륨 올림/내림 |
| p | 일시 중지 |
| r | 재개 |
| s | 중지 |
| n | 다음 트랙 |
| b | 이전 트랙 |
| ? | 상태 표시 |
Serial Monitor 출력
이퀄라이저 사전 설정
Mini Mp3 Player는 다양한 음악 장르에 대한 오디오 품질을 향상시키기 위해 6개의 내장 이퀄라이저 모드를 제공합니다.
사용 가능한 EQ 사전 설정:
| 상수 | ID | 톤 |
|---|---|---|
| DIYables_MiniMp3::EQ_NORMAL | 0 | 중립 |
| DIYables_MiniMp3::EQ_POP | 1 | 팝 |
| DIYables_MiniMp3::EQ_ROCK | 2 | 락 |
| DIYables_MiniMp3::EQ_JAZZ | 3 | 재즈 |
| DIYables_MiniMp3::EQ_CLASSIC | 4 | 클래식 |
| DIYables_MiniMp3::EQ_BASS | 5 | 베이스 부스트 |
사용 예제:
팁:
- EQ_NORMAL은 음성 녹음 및 팟캐스트에 잘 작동합니다
- EQ_BASS는 낮은 주파수 응답이 제한된 작은 스피커를 강화합니다
- 다양한 사전 설정을 시도하여 스피커 특성에 맞춥니다
상태 쿼리 함수
라이브러리는 Mini Mp3 Player 모듈의 현재 상태를 실시간으로 읽을 수 있는 함수를 제공합니다.
중요 사항:
- 각 쿼리는 최대 100밀리초 동안 실행을 차단합니다
- 타임아웃 또는 통신 오류 시 함수는 −1을 반환합니다
- 시간 중요 응용 프로그램에서 이를 드물게 사용하세요
사용 가능한 상태 함수:
| 메서드 | 반환 | 정보 |
|---|---|---|
| isPlaying() | bool | 트랙이 활성화되어 있는지 여부 |
| getVolume() | int16_t | 볼륨(0–30) |
| getEQ() | int16_t | EQ 사전 설정(0–5) |
| getTrackCount() | int16_t | 카드의 총 트랙 |
| getCurrentTrack() | int16_t | 현재 재생 중인 트랙 |
| getFolderCount() | int16_t | 폴더 수 |
| getTrackCountInFolder(f) | int16_t | 폴더 f의 트랙 |
예제 코드:
응용 프로그램 및 프로젝트 아이디어
ESP32 C3 Super Mini를 Mini Mp3 Player 모듈과 함께 프로젝트에 사용하는 창의적인 방법은 다음과 같습니다.
- WiFi 제어 홈 오디오 플레이어를 웹 인터페이스와 함께 구축
- 예약된 공지사항이 있는 음성 알람시계 생성
- 자동 오디오 설명이 있는 박물관 전시 안내서 설계
- 센서로 트리거되는 음향 효과가 있는 대화형 장난감 만들기
- 폴더로 구성된 수업이 있는 언어 학습 기기 구축
- 사용자 정의 가능한 mp3 차임이 있는 초인종 생성
- 배경 음악 및 음성 프롬프트가 있는 명상 타이머 설계
- 반복적인 광고 오디오가 있는 소매 제품 데모 구축
비디오 튜토리얼
아래 비디오를 시청하여 이 프로젝트의 시각적 안내를 받으세요.
직접 도전하기
이러한 점진적으로 어려운 ESP32 C3 Super Mini mp3 플레이어 수정으로 기술을 테스트하세요.
- 쉬움: BUSY 핀을 사용하여 음악이 재생 중일 때 켜지는 LED 추가
- 쉬움: 3버튼 주크박스 생성(트랙 1, 2 또는 3 재생)
- 중간: WiFi를 통해 재생을 제어하는 웹 인터페이스 구축
- 중간: 현재 트랙 이름 및 볼륨을 표시하는 LCD 디스플레이 추가
- 고급: 마이크로폰 모듈을 사용하여 음성 활성화 mp3 플레이어 생성
- 고급: WiFi를 통해 동기화된 여러 ESP32 보드가 있는 멀티룸 오디오 시스템 구축