작성중
자재 명세서
| 자재명 | 수량 |
|---|---|
| SPST 전원 스위치 | 1 |
| MX 호환 키보드 스위치 | 2 |
| 4옴 3와트 스피커 | 1 |
| DFPlayer Mini v1 모듈 | 1 |
| MicroSD 메모리 카드 | 1 |
| 3-AA 전지 배터리 홀더 | 1 |
| M2.5 십자 볼트 | 8 |
| 연결 케이블 (아두이노용 점퍼케이블) | 8 |
| 케이스 | 1 |
| 가방끈 (폭 25mm 이하, 선택) | - |
케이스 명세
Autodesk Fusion을 사용해서 모델링했고 3D 프린터로 출력했다.
| 자재명 | 수량 |
|---|---|
| 케이스 본체 | 1 |
| 푸시 스위치 키캡 | 2 |
| 푸시 스위치 커버 플레이트 | 1 |
| 전원 슬라이드 스위치 | 1 |
| 전원 슬라이드 커버 플레이트 | 1 |
| 케이스 뚜껑 | 1 |
DFPlayer Mini 모듈
- DFPlayer Mini Mp3 Player - DFRobot Wiki
- DFPlayer Mini는 인코더를 탑재하고 있어 mp3를 재생할 수 있다.
- 재생 순서는
001.mp3,002.mp3, ... 식으로 파일명을 사용한다. - FAT32로 포맷해야 한다.
음원
폴더 내 모든 파일명을 양식에 맞게 변경한다.
import os
directory = "."
files = sorted([f for f in os.listdir(directory) if f.lower().endswith(".mp3")])
for i, filename in enumerate(files, start=1):
new_name = f"{i:03}.mp3" # 001.mp3, 002.mp3, ...
old_path = os.path.join(directory, filename)
new_path = os.path.join(directory, new_name)
print(f"Renaming '{filename}' → '{new_name}'")
os.rename(old_path, new_path)
음원 노멀라이즈는 음원을 기준 레벨에 맞게 조절해주는 과정이며 여기서는
ffmpeg-normalize를 사용했다. pip install ffmpeg-normalize로 설치한 후에 다음
코드로 현재 폴더에 있는 mp3를 수정한다. 동시에 모노 64k 비트레이트로 변경하는데
스피커에 맞게 조절한다.
import os
import subprocess
subprocess.run(["mkdir", "output"])
for file in sorted(os.listdir(".")):
if file.lower().endswith(".mp3"):
output = f"output/{file}"
subprocess.run([
"ffmpeg-normalize", file,
"-o", output,
"--keep-loudness-range-target",
"-c:a", "libmp3lame",
"-b:a", "64k",
"-ac", "1",
"-f"
])