라즈베리 파이 피코 미니 MP3 플레이어

이 튜토리얼은 Raspberry Pi Pico와 미니 MP3 플레이어 모듈을 사용하여 MP3 파일을 재생하는 방법을 안내합니다. 다루는 내용:

필요한 하드웨어

1×Raspberry Pi Pico W 쿠팡 | 아마존
1×Raspberry Pi Pico (alternative) 쿠팡 | 아마존
1×마이크로 USB 케이블 아마존
1×DIYables Mini Mp3 Player module 아마존
1×마이크로 SD 카드 아마존
1×Speaker 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 라즈베리 파이 피코용 스크루 터미널 확장 보드 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

미니 MP3 플레이어 모듈에 대하여

핀아웃

미니 MP3 플레이어 모듈에는 다음 핀이 있습니다:

  • VCC 핀: 전원 공급 핀(3.3V~5V)
  • GND 핀: 접지 핀
  • RX 핀: UART 직렬 수신 핀
  • TX 핀: UART 직렬 송신 핀
  • SPK_1 핀: 스피커 양극 핀
  • SPK_2 핀: 스피커 음극 핀
미니 mp3 플레이어 모듈 핀아웃
image source: diyables.io

SD 카드 파일 준비

SD 카드를 포맷하고 MP3 파일을 올바른 위치에 저장합니다:

  • SD 카드를 FAT16 또는 FAT32로 포맷합니다.
  • 루트에 파일 직접 저장: /001.mp3 형식으로 파일 이름을 지정합니다.
  • 폴더에 저장: /01/001.mp3 형식을 사용합니다. 폴더는 01~99, 파일은 001~255입니다.

작동 원리

미니 MP3 플레이어 모듈은 UART 직렬 통신을 통해 명령을 받습니다. Raspberry Pi Pico는 DIYables-MicroPython-MiniMp3 라이브러리를 사용하여 UART를 통해 명령을 전송하며, 모듈이 SD 카드에서 MP3 파일을 재생합니다.

배선도

미니 MP3 플레이어 모듈을 Raspberry Pi Pico에 연결합니다.

Mini MP3 PlayerRaspberry Pi Pico
VCC3V3(OUT)
GNDGND
RXGPIO4 (TX - UART1)
TXGPIO5 (RX - UART1)
SPK_1스피커 양극
SPK_2스피커 음극
라즈베리 파이 피코 미니 mp3 플레이어 모듈 배선도

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

참고:

  • 모듈의 VCC를 Raspberry Pi Pico의 3V3(OUT) 핀에 연결합니다 — 모듈이 3.3V 로직과 호환되므로 별도의 저항이 필요하지 않습니다.

라이브러리 설치 방법

  • Thonny IDE를 엽니다. 인터프리터를 MicroPython (Raspberry Pi Pico)로 설정합니다.
  • Pico가 연결되어 있는지 확인합니다.
  • Tools > Manage packages...를 클릭합니다.
  • 검색창에 "DIYables-MicroPython-MiniMp3"를 입력하고 Search on PyPI를 클릭합니다.
  • 목록에서 DIYables-MicroPython-MiniMp3를 선택합니다.
  • Install을 클릭합니다.
  • 설치가 완료될 때까지 기다립니다.

Raspberry Pi Pico 코드 - MP3 재생

빠른 시작

  • 배선도에 따라 Raspberry Pi Pico에 부품을 배선합니다.
  • Micro USB 케이블을 사용하여 Raspberry Pi Pico를 컴퓨터에 연결합니다.
  • Thonny IDE를 열고 인터프리터를 MicroPython (Raspberry Pi Pico)로 설정합니다.
  • 아래 코드를 Thonny IDE에 복사합니다.
/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-mini-mp3-player-module */ """ * DIYables MicroPython Mini Mp3 Player - Play One Track * * This example plays one track once then stops. * * Product: DIYables Mini Mp3 Player Module * https://diyables.io/products/mini-mp3-player-module * * Wiring (Raspberry Pi Pico): * Mini Mp3 RX -> Pico TX (GPIO4) * Mini Mp3 TX -> Pico RX (GPIO5) * Mini Mp3 VCC -> 3.3V * Mini Mp3 GND -> GND * Speaker connected to SPK_1 and SPK_2 pins * SD Card: Put mp3 files in root, named 001.mp3, 002.mp3, etc. """ from machine import UART import time from DIYables_MicroPython_MiniMp3 import MiniMp3Player uart = UART(1, baudrate=9600, tx=4, rx=5) mp3 = MiniMp3Player(uart) time.sleep(1) # Wait for the module to initialize mp3.set_volume(25) # Set volume (0 to 30) print("Playing track 1...") mp3.play(1) # Play track 001.mp3
  • 코드를 Raspberry Pi Pico에 업로드합니다.
  • SD 카드에 MP3 파일이 있는지 확인합니다.
  • 스피커에서 MP3 파일이 재생되는 소리를 들어보세요.

재생 제어

다양한 재생 명령을 사용하여 MP3 재생을 제어합니다:

함수 설명 사용 예
mp3.play(1) 번호로 트랙 재생 mp3.play(1) - 트랙 001 재생
mp3.play_next() 다음 트랙 재생 mp3.play_next()
mp3.play_previous() 이전 트랙 재생 mp3.play_previous()
mp3.pause() 재생 일시 정지 mp3.pause()
mp3.resume() 일시 정지된 재생 재개 mp3.resume()
mp3.stop() 재생 중지 mp3.stop()
mp3.set_volume(20) 볼륨 설정(0-30) mp3.set_volume(20)
mp3.loop_all() 모든 트랙 반복 재생 mp3.loop_all()
mp3.loop(1) 트랙 하나만 반복 재생 mp3.loop(1)

Raspberry Pi Pico 코드 - 여러 트랙 재생

/* * 이 라즈베리 파이 피코 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 피코 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pico/raspberry-pi-pico-mini-mp3-player-module */ """ * DIYables MicroPython Mini Mp3 Player - Play Multiple Tracks * * This example plays tracks one after another with a delay between them. * * Product: DIYables Mini Mp3 Player Module * https://diyables.io/products/mini-mp3-player-module * * Wiring (Raspberry Pi Pico): * Mini Mp3 RX -> Pico TX (GPIO4) * Mini Mp3 TX -> Pico RX (GPIO5) * Mini Mp3 VCC -> 3.3V * Mini Mp3 GND -> GND * Speaker connected to SPK_1 and SPK_2 pins * SD Card: Put mp3 files in root, named 001.mp3, 002.mp3, 003.mp3 """ from machine import UART import time from DIYables_MicroPython_MiniMp3 import MiniMp3Player uart = UART(1, baudrate=9600, tx=4, rx=5) mp3 = MiniMp3Player(uart) time.sleep(1) # Wait for the module to initialize current_track = 1 total_tracks = 3 # Change this to match your SD card track_duration = 5000 # Wait 5 seconds between tracks (adjust as needed) mp3.set_volume(20) print("Playing track 1...") mp3.play(current_track) last_track_time = time.ticks_ms() while True: if time.ticks_diff(time.ticks_ms(), last_track_time) >= track_duration: current_track += 1 if current_track > total_tracks: current_track = 1 # Loop back to first track print("Playing track", current_track) mp3.play(current_track) last_track_time = time.ticks_ms()

빠른 시작

  • 위와 같이 코드를 업로드합니다.
  • SD 카드에 여러 MP3 파일이 있는지 확인합니다.
  • 여러 트랙이 순서대로 재생되는 소리를 들어보세요.

동영상

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

댓글