메뉴 전체보기

회원메뉴

MP3 플레이어 카세트 > 게시판

본문 바로가기

쇼핑몰 검색

NO. 3333
제목 : MP3 플레이어 카세트
2026-09-23 13:54

소개: MP3 플레이어 카세트


아직도 카세트테이프를 듣는 사람들이 있고, 이 프로젝트는 카세트테이프를 듣던 중에 시작되었습니다.

인터넷에서 간단히 확인해 보니 완전히 새로운 아이디어는 아니었지만, 당시로부터 시간이 꽤 지났고 이런 장치는 구하기 어려울 수 있었습니다. 그래서 직접 제 버전을 만들어 보는 것이 흥미로운 도전이 될 것이라고 생각했습니다.

MP3 파일을 재생하는 이 장치는 카세트 플레이어나 주머니에 쏙 들어가는 카세트처럼 보입니다.

돌이켜보면 아이디어를 내는 것은 쉬웠지만, 적절한 크기의 부품을 찾는 일은 조금 더 어려웠습니다.

어떻게 완성되었는지 계속해서 확인해 보세요




STEP 1. 준비물


준비물


준비물


준비물


준비물


준비물


준비물


준비물


준비물


준비물


준비물


필라멘트 - PLA 실버 실크

0.42인치 OLED 디스플레이가 장착된 ESP32_C3

충전 부스터

DFPlayer Mini MP3 플레이어

택타일 스위치 6(가로) X 3.5(세로) X 5(높이) mm

택타일 스위치 6.2(가로) x 6.2(세로) x 3.2(높이) mm - 수량 5개

투명 오디오 카세트

멀티 카세트 어댑터

스프링 0.4(직경) x 3(폭) x 10(길이) mm - 수량 2개

LiPo 배터리 3.7V/150mA 27(길이) x 20.5(폭) x 4.3(두께)mm

황동 봉 1.5(직경) x 14(길이) mm - 수량 2개

3.5mm 오디오 잭

슬라이드 스위치

M2 x 3mm 접시머리 기계 나사 - 수량 4개

투명 접착테이프

와이어 래핑용 전선 (30AWG 단심)

100k 저항

43k 저항

3.5mm 스테레오 플러그가 달린 유선 헤드폰/이어폰.

이미 보유하고 있지 않다면 개별 값으로 구입하는 것보다 다양한 값을 한 번에 구입하는 편이 더 경제적일 수 있습니다. 또한 일부 부품은 부품 목록에 명시된 수량보다 MOL이 클 수 있습니다.

어느 공급업체와도 제휴 관계가 없으므로, 해당되는 경우 선호하는 공급업체에서 자유롭게 부품을 구입하세요.

게시 당시 유효한 링크입니다.


도구

3D 프린터

로터리 버

소형 전동 핸드 드릴

카운터싱크 드릴 비트

2 mm 드릴 비트

3.5 mm 드릴 비트

니퍼

소형 드라이버

경질 플라스틱용 접착제

납땜 인두

납땜용 납

니들 파일

사포


도구 사용법을 숙지하고 권장 작업 절차를 따르며, 적절한 PPE를 반드시 착용하세요.




STEP 2. 카세트 케이스


카세트 케이스


카세트 케이스


첫 단계로 몇 가지 다른 카세트테이프를 분해하여 사용 가능한 공간을 확인했습니다. 이때 케이스 조립에 포함된 클립, 돌기 또는 칸막이와 추가할 요소의 배치에 영향을 줄 수 있는 부분을 고려했습니다.

트랙과 상태를 표시할 디스플레이를 통합할 예정이었으므로 투명한 카세트테이프를 선택했습니다.

대부분 불투명한 본체에 중앙만 투명한 창이 있는 카세트도 사용할 수 있지만, 당시에는 구할 수 없었습니다. 또한 완전히 투명한 버전에 비해 쉽게 구할 수 없는 것 같습니다.

하지만 불투명한 카세트밖에 없다면 중앙에 구멍을 내고 그 위에 투명한 PET 필름을 붙이는 방법도 있습니다.

왼쪽 상단 모서리 영역에는 녹음 활성화/비활성화 핀이 들어갈 수 있으므로 어떤 요소도 돌출되지 않도록 하겠습니다.

그 밖에 사용을 피해야 할 영역은 캡스턴 구멍과 테이프 헤드가 위치하는 전면부입니다.

모든 요소의 최대 높이는 5mm로 제한됩니다.




STEP 3. 부품 선택


부품 선택


선택하는 모든 요소는 높이 5mm라는 제약을 받으며, 그에 더해 면적이 작을수록 좋습니다.

내부 공간의 제약으로 인해 필요한 요소의 수는 가능한 한 적어야 합니다.

다음은 선택한 주요 요소이지만, 더 작은 요소가 있을 수도 있습니다.

1: 화면이 통합된 마이크로컨트롤러(ESP32_C3, 크기: 20(w) x25(l) mm)

화면 크기(0.42inch/10.7mm) 때문에 표시할 수 있는 정보는 기본적인 내용으로 제한되지만, DFPlayer가 트랙 이름을 숫자로 제한하므로 큰 문제는 아닙니다. 작은 크기 덕분에 카세트 내부에 넣어 어느 정도 보호할 수도 있습니다.

ESP32_C3는 BLE를 지원하지만 BT Classic은 지원하지 않으므로 무선 헤드폰으로 스트리밍할 수 없습니다.

2: 충전식 배터리(3.7V/150mA LiPo, 크기: 20.5(w) x 27(l) mm)

3: 통합 배터리 충전기/부스터(크기: 24(w) x 19(l) mm)

4: 미니 MP3 플레이어 모듈(DFPlayer mini, 크기: 20.32(w) x 20.32(l) mm). 헤더 핀이 함께 제공되었으나 길이를 줄이기 위해 잘라야 했습니다. 솔리드 스테이트 버전도 있지만 설치 면적이 더 크고 메모리가 적어 사용하지 않았습니다.

5: 테이프 헤드(멀티 카세트 어댑터에서 분리)

추가 소형 부품

스위치, 헤드폰 소켓

주요 요소를 선택한 후에는 제한된 공간 안에 배치하고, 모든 액세스 포트는 가장자리에 배치해야 합니다.

배터리 충전기/부스터의 충전 액세스

MP3 모듈의 micro SD 카드용 액세스 슬롯

전원 스위치 및 헤드폰 소켓

카세트가 플레이어에 들어갔을 때 화면이 보여야 하므로, 플레이어 도어/플랩의 창과 일직선이 되도록 두 릴 사이 중앙에 배치하는 것이 가장 좋습니다. 하지만 안타깝게도 일부 플레이어는 도어에 창이 없습니다.

낮은 프로파일의 택타일 스위치는 외부의 넓은 표면에 장착할 수 있습니다.




STEP 4. 회로


회로


회로는 MicroPython으로 프로그래밍된 OLED 디스플레이 통합 ESP2_C3 mini로 구성됩니다.

이는 접근 가능한 패드가 16개인 소형 설치 면적의 마이크로컨트롤러입니다.

첨부된 회로도와 아래 세부 내용을 참조하세요.

전원은 3.7V/150mAh 충전식 LiPo 배터리에서 공급되며, 이 배터리는 슬라이드 스위치를 통해 부스트/충전기의 B+에 연결됩니다(배터리 -Ve는 B-에 연결). 부스트/충전기는 VBUS 핀(1)에 5V를 제공합니다.

두 개의 직렬 저항으로 구성된 전압 분배기는 전원 스위치가 활성화될 때 배터리에 병렬로 연결되어 배터리 전압을 모니터링하는 데 사용됩니다. (Battery Monitor 단계 참조)

ESP32_C3의 3V3 핀(3) 출력은 DFPlayer의 전원 핀(1)에 연결됩니다.

ESP32_C3의 핀 4(RX)와 5(TX)는 DFPlayer의 핀 2(RX)와 3(TX)에 서로 교차 연결됩니다.

DFPlayer의 핀 4(DACR), 5(DACL), 7(OV) 출력은 각각 이어폰 소켓의 핀 4(Tip), 3(Ring), 2(Shield)에 연결됩니다.

테이프 헤드 입력에는 1kR 직렬 저항이 연결되며, 이어폰 소켓의 핀 2, 3, 4에도 연결됩니다.

테이프 헤드 뒤에 스위치를 장착하여 기계식 재생 버튼을 누르면 재생이 시작되도록 했습니다. 이 스위치는 ESP32_C3의 핀 8(GPIO 0)에 연결됩니다.

사용자 제어부는 내부 풀업(핀에서 3.3V로 연결된 저항)을 사용하여 핀 9(GPIO3) [VOL-], 10(GPIO4) [VOL+], 14(GPIO8) [FF], 15(GPIO9) [REW], 16(GPOI10) [Play/Stop]에 연결되며, 스위치를 통해 OV로 연결됩니다.

0V 라인은 충전기/부스터의 -Ve, 스위치, ESCC3의 핀 2, DFPlayer의 핀 7과 10, 이어폰 소켓의 핀 2 및 테이프 헤드에 연결됩니다.




STEP 5. 배터리 모니터


배터리 모니터


배터리 전압은 직렬로 연결된 두 저항(R1 = 100kR, R2 = 43kR)으로 구성된 전압 분배기를 사용하여 모니터링합니다.

전원 스위치가 닫히면 배터리에 연결됩니다.

전압 분배비는 0.301이며, 여기에 인가된 배터리 전압(Vbat)을 곱하면 저항 네트워크의 센터 탭 전압(Vct)이 됩니다. 이 전압은 ESP32_C3 핀 6(GPIO 2)에 인가됩니다.

Vct = (R2/(R1+R2)) * Vbat

전압 분배기는 GPIO 핀에 인가되는 전압이 절대 최대값인 3.6V보다 상당히 낮도록 합니다.

이 경우 전압 분배기가 5V에 연결되어도 Vct = 1.5V입니다.

배터리 충전 차단 전압, 방전 차단 전압 및 공칭 전압 사양은 각각 4.2V, 3V 및 3.7V입니다.

배터리 소모 전류는 29.4uA = Vcharge/(R1+R2) = (4.2V/143kR)이며, 여기에 추가 핀 누설 전류(<50nA)가 더해집니다.

이 값으로 얻어지는 Vct 전압은 1.26V, 0.902V 및 1.11V이며, 선형 범위가 0mV~1300mV인 ADC_6db 감쇠로 처리할 수 있습니다. 참조: ESP32_C3 데이터시트

실제 값은 부품 허용 오차, 비선형성, 노이즈, 드리프트 및 기타 편차로 인해 계산값과 다를 가능성이 높습니다.

이러한 영향은 필터링, 보정, 엄격한 허용 오차의 부품 사용, 실제 값과 일치하는 수치 입력 등을 통해 보상할 수 있지만, 오프셋을 평가하려면 항상 결과를 기준값과 비교하여 확인해야 합니다.

원시 데이터에 이동 평균 필터를 적용합니다.

변동 가능성을 고려하여 100nF MLCC(적층 세라믹 커패시터)를 ADC 입력과 0V 사이에 연결할 수 있습니다.

공간이 협소하므로 1% 또는 그 이상의 정밀도를 가진 SMD 저항을 사용하십시오.

전압을 ADC의 선형 범위 내로 제한하십시오.

그러나 모니터에는 전압이 표시되는 것이 아니라, 다음 공식을 사용하여 충전 및 방전 차단 한계에 기반한 충전율이 표시됩니다:

Vpct = int(((vf - Vpd_min) / (Vpd_max - Vpd_min)) * 100)

여기서

vf = round(((adcval / 65535.0 * 1.6) - Verr),2)

(adcval = 이동 평균값, adc.read_u16 사용으로 인해 65535, 감쇠 = 1.6, Verr은 오프셋 보정값입니다.)

Rratio = R2/(R1+R2) = 43k/(100k +43k) = 43k/143k = 0.301

Vpd_max = round(bat_max*Rratio,2) = 1.26V (bat_max = 4.2V인 경우)

Vpd_min = round(bat_min*Rratio,2) = 0.902V (bat_min = 3V인 경우)

따라서 배터리 전압이 3.7V이면 vf = 1.11V입니다.

Vpct = int(((1.11 -0.902)/(1.26 - 0.902)) * 100) = 58%,

10mV의 변동은 2.8%에 해당합니다.




STEP 6. 고정 프레임


고정 프레임


고정 프레임


고정 프레임


처음에는 카세트 내부에서 주요 요소를 제자리에 연결하고 고정하기 위해 PCB를 고려했습니다. 그러나 주요 요소가 개별 부품이 아니라 독립형 모듈이었기 때문에, 이들을 연결하는 데 간단한 점대점 배선을 사용했습니다. 향후 버전에서는 PCB를 고려할 수 있습니다.

모듈을 사용한 결과, 3D 프린팅 고정 프레임을 제작하기로 했습니다.

고정 프레임은 카세트 내부에 맞으며, 주요 요소를 제자리에 고정하는 칸과 상호 연결 배선을 배선하기 위한 통로가 있습니다.

MP3 모듈과 마이크로컨트롤러 아래에는 빈 공간을 남겼습니다. 이 부분에 추가 재료를 넣으면 고정 프레임의 구조적 무결성에는 문제가 없지만 닫힘에 영향을 주기 때문입니다.

충전기/부스터와 배터리가 놓이는 영역 아래에는 닫힘에 영향을 주지 않으면서 구조적 무결성을 유지하도록 얇은 재료층(<=0.2mm)을 추가했습니다.

프린트 세부 사항:

필라멘트: PLA Silver Silk

레이어 높이: 0.1mm

채우기: 100%

빌드 접착: 스커트

더 단단한 필라멘트 대신 Silk 필라멘트를 선택했습니다. 요소의 치수 편차를 조금 더 허용하면서 카세트 본체 안에 맞았기 때문입니다.

후처리

카세트 본체에 잘 맞도록 고정 프레임의 바깥쪽 끝부분을 매끄럽게 샌딩해야 할 수 있습니다.




STEP 7. 카세트 스풀


카세트 스풀


카세트 스풀


완성도를 위해 원래는 스풀을 카세트 내부에 포함할 예정이었기 때문에 스풀을 포함했습니다. 다만 이는 기능적인 목적이 아니라 외관상의 목적이었습니다.

그러나 DFPlayer의 왼쪽 아래 모서리가 해당 영역으로 돌출되었고, 배선 경로와 함께 회전을 방해하므로 오른쪽 스풀을 제외했습니다.

DFPlayer를 가장자리 쪽으로 뒤로 이동하면 SDcard가 카세트 밖으로 돌출됩니다. 이로 인해 플레이어에 따라 닫힘이 방해되거나, 재생 버튼을 누를 때 카세트가 뒤로 밀리면서 SDcard의 연결에 영향을 줄 수 있습니다. 따라서 DFPlayer는 현재 가장자리에서 뒤로 물러난 위치에 배치했습니다.

오른쪽 스풀을 제외한 상태에서 스풀 하나만 두면 시각적인 불균형이 생길 것 같아 왼쪽 스풀도 제외했습니다.

프린팅 및 조립

카세트 스풀은 두 개의 반쪽으로 구성되며, 프린팅 후 서로 접착합니다.

카세트의 두 반쪽 사이에 고정하려면 양쪽에 립이 필요하므로 두 반쪽으로 프린팅합니다.

완성된 스풀 두 개가 필요합니다.

프린트 세부 사항

필라멘트: PLA Silver Silk

레이어 높이: 0.1mm

채우기: 100%

빌드 접착: 스커트

후처리

스풀 바닥을 가볍게 샌딩한 후 IPA로 세척하고 건조합니다.

스풀 외주에 있는 절개부와 내부 톱니가 서로 정렬되었는지 확인합니다.

플라스틱 접착제를 바르고 건조합니다.

니들 파일을 사용하여 플레이어의 스프로킷 장착을 방해할 수 있는 이상 부분이 스풀 내부 표면에 없는지 확인합니다.




STEP 8. 센터링 프레임


센터링 프레임


센터링 프레임


센터링 프레임은 카세트와 플레이어 사이에서 테이프 헤드를 정렬하는 데 사용됩니다.

조립이 완료되면 테이프 헤드 위로 간단히 밀어 끼워 장착합니다.

치수

외부: 13.875(w) x 9.875(h) x 4(d) mm

내부: 12.5(w) x 5.5(h) x 4(d) mm

출력 세부 사항

필라멘트: PLA Orange

레이어 높이: 0.1mm

인필: 100%

출력물 접착 방식: Skirt

후처리

출력 베드와 접촉하는 표면의 내부 및 외부 가장자리에 립이 생길 수 있습니다.

니들 파일로 립을 제거하여 측면을 평평하게 만드십시오.




STEP 9. 카세트 개조


카세트 개조


카세트 개조


주요 부품 몇 가지를 장착하려면 카세트를 개조해야 합니다.

대상은 다음과 같습니다:

1: 리테이너.

2: USB C 소켓.

3: MP3 모듈 micro SD 카드 슬롯

4: 전원 스위치

5: 헤드폰 소켓

이 모든 부품을 장착하려면 카세트의 양쪽을 개조해야 합니다.

리테이너를 사용하여 부품을 제자리에 안착시키십시오.

부품의 외곽선을 가이드로 삼아 유성 잉크 펜으로 제거할 영역을 표시하십시오.

개조할 영역은 소형 전동 핸드 드릴 또는 플렉시블 드라이브 부착 장치가 있는 대형 드릴에 장착한 소형 로터리 버를 사용하여 가공할 수 있습니다.

그다음 니들 파일로 세부 조정을 할 수 있습니다.




STEP 10. 테이프 헤드


테이프 헤드


테이프 헤드


테이프 헤드


테이프 헤드는 멀티 카세트 어댑터에서 분리했습니다.

대안으로 오래된 테이프 기기의 헤드를 사용하거나 개별 헤드를 구입할 수 있습니다.

다른 카세트 어댑터를 사용하면 분리 방법이 달라지거나 고정 방식이 호환되지 않을 수 있습니다.

이 프로젝트의 주요 부품을 넣기 위해 이 카세트를 사용하는 것도 고려했습니다. 그러나 본체가 투명하지 않았습니다. 치명적인 문제는 아니지만, 채택한 방식과는 다른 접근이 필요했을 것입니다.

따라서 이 프로젝트에서는 사용하지 않았습니다.

테이프 헤드는 신호 제한용 1K 저항과 소형 PCB를 거쳐 리드선에 연결되어 있으며, 리드선 끝에는 3.5 mm 잭 플러그가 있습니다.

케이스에서 분리한 후 잭 플러그에 연결된 리드선 대부분을 잘라내고, 테이프 헤드 PCB에 연결된 짧은 길이만 남깁니다.

두 개의 스프링도 프로젝트에 사용합니다.

그러나 스프링이 하나 또는 여러 개 분실될 경우를 대비한 대체품은 준비물 목록에 기재되어 있습니다.

테이프 헤드의 분리는 간단합니다.

스프링 리테이너는 마찰 끼워맞춤 방식이므로 작은 플라이어로 잡아 당겨 간단히 제거할 수 있습니다. 이때 스프링을 잃어버리지 않도록 주의하십시오.

테이프 헤드 PCB의 납땜 연결부를 파일로 평평하게 다듬되, 구조적 무결성을 유지하면서 전기적 연결을 유지할 수 있도록 약 ~1mm 정도는 여전히 돌출되게 하십시오.




STEP 11. 스위치 커버


스위치 커버


스위치 커버


스위치 커버


스위치 커버


스위치 커버


버튼은 3D 프린트 커버에 장착되어 케이스 외부에 배치됩니다.

출력 세부 사항:

필라멘트: Black PLA

레이어 높이: 0.1mm

인필: 100%

출력물 접착 방식: Skirt

치수: 65(l) x 19(w) x 2.5(h) mm

후처리

필요한 경우 사포로 가장자리를 매끄럽게 다듬어 불규칙한 부분을 제거하십시오.

조립

플레이어를 제어하려면 택타일 스위치 5개가 필요합니다.

기능은 문자 및/또는 기호로 표시되어 있습니다.

1: V+ - 볼륨 증가

2: V- - 볼륨 감소

3: >= - 재생/정지

4: >> - 빨리 감기

5: << - 되감기

위에 나열된 순서대로 왼쪽에서 오른쪽으로 배치합니다.

스위치 커버에는 택타일 스위치를 끼워 넣는 포켓이 설계되어 있습니다.

에나멜 코팅 전선 하나 {ECW)가 다른 모든 스위치의 동일한 단자를 서로 연결하며, 이 전선이 공통 스위치 단자가 됩니다.

단선된 전선으로 나머지 터미널 스위치를 마이크로컨트롤러에 연결합니다.

모든 스위치를 배선하고 포켓에 맞춰 정렬한 후, 투명 테이프를 한 줄 붙여 스위치를 제자리에 고정하고 커버에 부착합니다.

스위치가 장착된 스위치 커버를 4 x M2 x 3mm 접시머리 나사로 카세트 본체 전면에 고정합니다.

스위치 커버의 단차가 카세트 본체의 단차와 맞닿도록 정렬한 뒤 테이프로 고정하고, 작은 드릴 비트나 송곳으로 리테이너의 양 끝과 중앙 두 곳에 총 4개의 구멍 위치를 표시합니다.

카세트 안쪽에 스위치에서 나오는 전선의 위치를 표시합니다.

2mm 드릴로 구멍 9개를 뚫고, 리테이너를 고정할 4개 구멍에 대해 카세트 본체의 안쪽 면을 카운터싱크 가공합니다.

각 스위치의 전선 하나씩 해당 구멍으로 통과시키고, 4 x M2 x 3mm 접시머리 기계 나사로 리테이너를 제자리에 고정합니다.

전선을 서로 평행하게, 단차와 일치하도록 배치한 뒤 테이프로 고정합니다.

스위치 커버의 기호 가독성을 높이려면 스위치 커버와 카세트 본체 사이의 틈 아래에 종이를 끼울 수 있습니다. 흰색이나 형광 노란색이 적합합니다.




STEP 12. 테이프 헤드 스위치


테이프 헤드 스위치


테이프 헤드 스위치


카세트 리테이너에 테이프 헤드 장착하기

테이프 헤드를 장착하기 전에 테이프 헤드 뒤쪽 포켓에 스위치를 장착해야 합니다.

스위치에 긴 전선 2개[6cm (0V) 및 3cm (GPIO 0)]를 납땜하되 납 사용량은 최소화하고, DMM으로 작동을 테스트합니다. 문제가 없으면 스위치 포켓 양쪽의 두 구멍으로 전선을 통과시킵니다.

납땜량이 지나치면 장착을 방해할 수 있으므로 포켓에 스위치가 맞는지 확인합니다.

스위치가 들어가도록 필요하면 남은 납을 제거합니다.




STEP 13. 테이프 헤드 재장착


테이프 헤드 재장착


분리했던 테이프 헤드를 14(L) x 1.5(직경) mm 황동 막대 2개와 스프링을 사용해 리테이너에 장착합니다.

막대는 쇠톱이나 튼튼한 와이어 커터를 사용해 긴 소재에서 잘라냅니다.

쉽게 삽입할 수 있도록 각 막대의 한쪽 끝 이상을 둥글게 다듬습니다.

막대를 리테이너 앞쪽의 두 구멍에 통과시키고, 테이프 헤드 PCB의 구멍과 스프링을 거쳐 서로 맞닿는 구멍 안으로 넣습니다.

테이프 헤드는 앞뒤 방향으로 4mm 수평 이동해야 하며, 이동 끝에서 스위치가 작동해야 합니다.

테이프 헤드에서 나온 짧은 전선 끝부분을 테이프 헤드 뒤쪽에서 평행하게 이어지는 채널로 통과시킵니다.

전선 끝부분을 이어폰 소켓에 연결합니다.

끝부분에 사용한 전선을 추가로 이어 이어폰 소켓에서 DFPlayer의 4번 핀(DACR), 5번 핀(DACL), 7번 핀(OV)까지 연결합니다.




STEP 14. 스위치 심


스위치 심


스위치 심


스위치 심


스위치 심은 테이프 헤드와 스위치 사이에 놓입니다.

카세트 플레이어의 헤드가 카세트테이프의 헤드에 닿을 때 스위치를 작동시키는 데 필요한 이동량을 조절합니다.

플레이어마다 이동량이 다를 수 있으므로 두께를 조정해야 할 수 있습니다.

필요하면 심을 사포로 더 얇게 만들거나, 얇은 테이프를 추가하거나 블리스터 포장에서 적절한 두께의 투명하고 평평한 PET를 덧대어 두께를 늘릴 수 있습니다.

카세트 본체의 단차 때문에 스위치 심의 중앙이 돌출되어 있습니다. 그렇지 않으면 균일한 심이 스위치 버튼에 닿지 않습니다.

치수: 15(l) x 7(w) x 1.75(h)




STEP 15. DFPlayer Mini


DFPlayer Mini


DFPlayer Mini


제공되는 DFPlayer Mini에는 헤더가 장착되어 있습니다.

하지만 이 헤더 때문에 DFPlayer를 카세트 안에 넣을 수 없습니다.

카세트 안에 장착하려면 핀을 잘라 헤더 핀을 짧게 만들어야 합니다.

대안으로 납땜을 제거할 수도 있지만, 트랙 단선으로 인한 단선이나 납땜 브리징 또는 국부적인 열로 인한 단락 가능성이 고려되었습니다. 따라서 핀을 자르고 사포질하는 방법이 손상이 적다고 판단했습니다.

DFPlayer 준비하기

이 과정에서 발생한 정전기로 장치가 손상될 수 있으므로 정전기 방지 조치를 준수합니다.

커터로 헤더 본체에 가깝게 핀을 자릅니다.

그다음 플라이어로 당겨 헤더 본체를 조심스럽게 제거합니다.

장치를 알루미늄 포일로 단단히 감싸고, 가능하면 사포를 ESD 매트 위에 놓고 ESD 손목 스트랩을 착용합니다. 어떤 경우든 정전기 축적을 줄이고 각 작업 사이에 정전기가 소산되도록 빠른 원형 동작보다는 느린 원형 동작으로 사포질해야 합니다.

사포 위에서 IC 표면과 수평이 되도록 헤더 핀 잔여물을 가볍게 사포질하되, IC의 글자가 지워지지 않도록 주의합니다.

포일을 조심스럽게 제거한 다음 에어 블로어 및/또는 정전기 방지 브러시로 먼지를 제거합니다.

이 방법을 사용한 결과 문제는 발견되지 않았습니다.




STEP 16. Micropython 설치


Micropython 설치


아직 설치되어 있지 않다면 사용하기 전에 ESP32_C3에 Micropython을 설치해야 합니다.

Thonny를 사용하여 Micropython 설치하기

Thonny에서 다음 항목을 선택합니다:

Tools > Options

Options 메뉴에서 Interpreter 탭을 선택합니다.

드롭다운에서 'Micropython (ESP32)'를 선택합니다.

Boot 버튼을 누른 상태에서 ESP32_C3를 USB 포트에 연결합니다.

'Port or WebREPL' 드롭다운에서 포트를 선택합니다.

'Install or update Micropython (esptool)'을 선택한 다음 OK를 누릅니다.

나타난 메뉴에서 예시 이미지에 따라 비어 있는 필드를 입력합니다.

Target port에는 할당된 USB 포트가 표시된다는 점에 유의합니다.

Install을 선택합니다.

설치가 완료되면 창을 닫습니다.

설치가 성공하면 Thonny Shell에 버전이 표시됩니다.

표시되지 않으면 Run > Stop/Restart backend를 선택하여 Shell을 새로 고칩니다.

이 경우 버전은 다음과 같습니다:

2026-04-06의 MicroPython v1.28.0; ESP32-C3FH4가 탑재된 LOLIN_C3_MINI




STEP 17. 애플리케이션 소프트웨어


애플리케이션 소프트웨어


부품들을 서로 연결하기 전에 마이크로컨트롤러에 소프트웨어를 업로드하십시오. 이렇게 하면 배선 작업에 방해가 덜 됩니다.

ESP32_C3에 lib라는 폴더를 만드십시오.

이 폴더에 다음 라이브러리들을 복사하십시오.

ss1306oled042b.py (OLED 디스플레이 드라이버)

dfplayer.py (DFPlayer mini 드라이버)

dfplay_espc3_6.py 파일을 ESP32_C3의 루트 디렉터리에 main.py라는 이름으로 저장하십시오.

이렇게 하면 전원이 켜질 때 애플리케이션이 자동으로 실행됩니다.


사용된 라이브러리(디스플레이 및 DFPlayer)의 출처에 대한 참조는 소프트웨어에 나열되어 있습니다.


GPIO 및 핀 할당은 다음과 같습니다.

GP21 [p05] TX UART0 DfPlayer (RX [p2])

GP20 [p04] RX UART0 DFPlayer (TX [p3])

GP05 [p11] SDA I2C0 OLED [내부 연결]

GP06 [p12] SCL I2C0 OLED [내부 연결]

GP10 [p16] Button1 재생/정지

GP09 [p15] Button2 되감기 (REW)

GP08 [p14] Button3 빨리 감기 (FF)

GP04 [p10] Button5 음량 +

GP03 [p09] Button6 음량 -

GP02 [p06] 배터리 모니터

GPO0 [p08] 테이프 헤드 스위치


라이브러리 파일은 text/py 파일로 업로드할 수 있었지만, 어떤 이유에서인지 역시 text/py 파일인 애플리케이션 파일은 그대로 업로드할 수 없었습니다. 따라서 업로드하기 전에 PDF로 변환해야 했습니다.




STEP 18. 배선


배선


리테이너에 일부 전선을 통과시킬 홈을 만들어 배선을 더 깔끔하고 평평하게 정리했으며, 전선이 겹치거나 뭉쳐 높은 부분이 생기는 것을 줄였습니다. 이러한 높은 부분은 카세트 본체를 닫는 데 방해가 됩니다.

전선에 색상 코드를 지정하면 배선의 일관성을 유지하고 고장을 찾는 데 도움이 됩니다.

배터리에 연결된 전선은 기본 제공 상태에서 너무 길므로 길이를 약 10mm로 줄여야 합니다.

슬라이드 스위치와 배터리를 각각의 포켓에 넣고, +Ve 선을 스위치에서 가장 가까운 단자에 납땜하십시오.

충전기/부스터를 해당 포켓에 장착하고, 배터리의 -Ve 단자를 충전기/부스터의 B- 패드에 납땜하십시오.

스위치를 꺼짐 위치에 둔 상태에서 스위치의 중앙 단자와 충전기/부스터의 B+ 패드 사이에 전선을 연결해 납땜하십시오.

충전기/부스터에 USB 케이블을 연결하여 배터리를 충전하십시오. 이미 충전된 경우에는 충전하지 않아도 됩니다.

DMM으로 충전기/부스터의 출력 패드 전압을 확인하면서 포텐셔미터를 조정하여 출력을 5V로 설정하십시오.

USB 케이블을 분리해 한쪽에 치워 두고, 나머지 회로를 조립하는 동안 보관하십시오.

테이프 헤드 스위치를 ESP23_C3의 GPIO0 및 0V에 배선하십시오.

DFPlayer의 0V와 ESP32_C3의 0V 사이에 전선 하나를 연결하고, ESP32_C3의 0V와 충전기/부스터의 -Ve 패드 사이에도 전선 하나를 연결하십시오.

테이프 헤드를 이어폰 소켓에 배선하십시오.

그런 다음 잭 플러그에서 잘라낸 차폐 케이블을 짧게 잘라, 이어폰 소켓을 DFPlayer의 DAC 출력 및 0V에 연결하십시오.

DFPlayer의 V+와 ESP32_C3의 3v3 사이에 전선을 연결하십시오.

ESP32_C3의 Rx와 DFPlayer의 TX 사이에 전선 하나를 연결하고, ESP32_C3의 TX와 DFPlayer의 RX 사이에도 전선 하나를 연결하십시오.

100k 저항과 43k 저항을 직렬로 연결하고, 두 저항이 만나는 접점에 전선 하나를 함께 납땜하십시오. 그런 다음 각 끝에 전선을 하나씩 납땜하십시오.

100k와 43k의 접점에 연결한 중앙 전선을 배터리 모니터용 GPIO2에 납땜하고, 100k에 연결된 전선은 스위치를 거쳐 배터리 +Ve에 연결하며, 43k에 연결된 전선은 배터리 -Ve에 연결하십시오.

제어 스위치를 ESP32_C3의 해당 패드에 배선하되, 전선은 가능한 한 짧게 유지하십시오. 이렇게 해야 필요한 부품에 쉽게 접근할 수 있도록 카세트 셸의 위쪽 절반을 분리할 수 있습니다.

전면 스위치에서 나오는 전선은 짧고 서로 평행하게 배치하여 가능한 한 평평하게 고정하십시오. 카세트의 두 절반이 평평하게 펼쳐질 수 있어야 하며, 이렇게 하면 두 절반을 닫을 때 전선이 최소한으로 뭉칩니다.

색상 코드가 적용된 배선을 사용할 수 없다면 유성 잉크 펜으로 전선에 간단한 줄 표시를 할 수 있습니다. 1=줄 1개, 2=줄 2개 등으로 표시합니다.

마지막으로 충전기/부스터의 +Ve 패드를 ESP32_C3의 5v 패드에 연결하십시오.

카세트가 가장자리를 따라 고르게 닫히는지 확인하십시오.

가능한 곳에서는 배선이 절개부를 따라가도록 하십시오.

카세트의 두 절반 사이 공간은 높이가 낮으므로, 전선을 모듈 위로 지나가게 하기보다는 모듈 측면으로 배선하십시오. 전선이 위로 솟은 부분을 만들면 카세트가 닫히지 않거나 접촉 지점에서 플라스틱에 압력이 가해질 수 있습니다. 또한 날카로운 끝이나 모서리가 전선의 절연을 뚫어 단락을 일으킬 수도 있습니다.

배선 과정에서 배선 위치와 높은 부분을 확인하기 위해 카세트의 두 절반을 닫아 보아야 할 수 있습니다.

카세트의 두 절반을 양쪽 측면과 상단에 마스킹 테이프를 붙여 임시로 고정하십시오. 이렇게 하면 나사 구멍이 반복적인 사용으로 마모되는 것을 방지할 수 있습니다.

발견된 높은 부분을 모두 수정하십시오.




STEP 19. 설정


설정


카세트 플레이어마다 기계적 메커니즘에 차이가 있으므로, 이러한 차이를 보정하기 위해 일부 조정이 필요할 수 있습니다.

스위치가 너무 앞쪽에 있어 카세트 헤드의 이동 거리가 부족하면 플레이어의 메커니즘이 제자리에 잠기지 않을 수 있습니다.

반대로 스위치가 너무 뒤쪽에 있으면 카세트 헤드가 스위치와 맞물리지 않을 수 있습니다.

1: 스위치.

스위치 뒤에 적절한 두께의 6(l) x 3.5(w) mm 스페이서를 추가하면 스위치를 앞으로 이동할 수 있습니다.

또한 포함된 스위치 심은 사포로 갈아 얇게 만들 수 있습니다.

카세트 헤드 PCB 뒷면의 납땜 부분을 갈아내면 스위치 심이 스위치 버튼에 수직으로 정확히 맞닿도록 할 수 있습니다.

카세트테이프 헤드를 눌렀을 때 스위치가 작동하는지 확인합니다.

2: 센터링 프레임.

플레이어 헤드와 카세트의 헤드를 정렬하도록 설계되었습니다.

그러나 플레이어 헤드는 서로 다른 구성을 가질 수 있으며, 이는 카세트 헤드와 맞물리는 방식에 영향을 줄 수 있습니다. 예를 들어 2~4개의 테이프 가이드가 있으며, 가이드가 곧거나 구부러져 있을 수 있습니다.

이 경우 걸림을 방지하기 위해 센터링 프레임을 일부 줄로 갈아내야 할 수 있습니다.

마스킹 테이프를 양쪽 측면과 상단을 따라 붙여 카세트의 두 반쪽을 임시로 고정합니다.

카세트테이프 헤드 주위에 프레임을 끼웁니다.

카세트테이프 헤드를 눌러 스위치를 작동시킬 수 있어야 하며, 헤드는 원래의 대기 위치로 돌아와야 합니다. 걸린다면 프레임 안쪽 표면을 갈아 개구부를 넓히십시오.

임시 테이프를 제거하고 나사로 고정합니다.




STEP 20. 음악 파일


음악 파일


DFPlayer는 최대 32Gb 용량의 MicroSD 카드에서 MP3, WAV 및 WMA 형식을 지원합니다.

사용하기 전에 MicroSD 카드를 FAT32로 포맷하십시오.

이 라이브러리를 사용하면 폴더를 최대 99개까지 만들 수 있으며, 폴더당 파일은 255개입니다.

각 폴더는 형식 NN을 사용하여 빈 번호 없이 순차적으로 번호를 지정합니다. 예: 01, 10

각 파일은 형식 NNN을 사용하여 빈 번호 없이 순차적으로 번호를 지정합니다. 예: 001.mp3, 010.mp3, 100.mp3.

안타깝게도 이 방식은 알아보기 쉬운 파일명을 숫자 파일명으로 변경해야 하므로 설명적인 의미를 잃게 됩니다.




STEP 21. 작동


작동


작동


작동


작동


작동


전원 스위치가 꺼진 상태에서는 USB로만 기기에 전원을 공급할 수 있고, 전원 스위치가 켜진 상태에서는 배터리로 전원을 공급할 수 있습니다.

충전은 기기에 USB 전원을 공급하고 전원 스위치를 켠 상태에서 이루어집니다.

충전 전류 소비량은 배터리 충전 상태에 따라 결정되며, 배터리가 완충 상태에 가까워질수록 감소합니다.

작동 시 전류 소비량은 약 50mA입니다.

작동 모드는 독립 실행 모드와 페어링 모드의 두 가지입니다.

어느 모드에서든 기기에는 필요한 폴더 구조와 명명 규칙에 맞게 포맷된 Micro SD 카드가 필요합니다.

왼쪽 상단에 있는 슬라이드 스위치를 사용하여 플레이어를 켭니다.

플레이어에 음악 트랙이 있으면 디스플레이에 디렉터리 수와 파일 수가 표시된 다음 다음과 같은 형식으로 정지합니다.

DNN FNN

STOP []

트랙이 없거나 SDcard가 없으면 다음과 같이 표시됩니다:

No_Trk

STOP {}

독립 실행 모드

이 작동 모드에서는 전면 패널 버튼으로 플레이어를 제어합니다.

헤드폰의 3.5 mm 플러그를 소켓에 꽂습니다.

필요한 경우 FF 또는 REW 버튼으로 시작 트랙을 조정한 후 재생을 누릅니다.

필요에 따라 볼륨을 조절합니다. 볼륨은 디스플레이에 VOL NN으로 표시됩니다(NN은 해당 값).

플레이어는 파일의 끝에 도달할 때까지 트랙을 차례로 재생한 후 정지합니다.

언제든지 재생/정지를 누르면 플레이어가 현재 트랙에서 정지합니다.

계속 재생하려면 재생/정지를 누릅니다.

배터리 충전량은 디스플레이에 다음 형식으로 표시됩니다: Bat NN%(NN은 해당 값).

페어링 모드

BLE 페어링과 혼동하지 마십시오. 이 모드에는 테이프 카세트 플레이어와 MP3 카세트라는 두 장치가 필요합니다.

카세트를 테이프 카세트 플레이어에 넣고 테이프 카세트 플레이어의 재생 버튼을 누릅니다.

플레이어는 파일의 끝에 도달할 때까지 트랙을 차례로 재생한 다음 처음부터 반복합니다.

플레이어를 정지하려면 테이프 카세트 플레이어에서 정지를 누릅니다.

테이프 카세트 플레이어의 도어 또는 플랩 때문에 제어 버튼을 사용할 수 없습니다.


어느 모드에서든 배터리 전원을 절약하려면 MP3 카세트의 전원을 끄는 것을 잊지 마십시오.


디스플레이 공백 처리

버튼을 누르지 않으면 픽셀 노화로 인한 디스플레이 손상을 줄이기 위해 일정 시간(60 sec)이 지난 후 디스플레이가 공백 처리됩니다. 디스플레이가 공백 처리되어도 전류 소비량은 크게 감소하지 않습니다.

버튼을 누르면 디스플레이가 다시 활성화되고 공백 처리 타이머가 초기화됩니다.




STEP 22. 추가 작업


추가 작업


1: 배선의 제약을 줄이고 제작의 일관성을 확보하기 위한 PCB. (현재 버전의 설계는 완료되었습니다.)

2: 두 스풀을 모두 포함할 수 있도록 DFPlayer를 모서리로 이동할 수 있는 맞춤형 카세트 케이스. 매우 투명한 출력물의 한계로 인해 중앙을 절개해야 하므로, 투명 케이스 대신 불투명 케이스를 사용합니다.

이 두 가지 변경 사항을 적용하려면 테이프 헤드와 스위치를 지지할 수 있도록 리테이너와 카세트를 일부 수정해야 합니다.

3: 스위치 패널을 맞춤형 카세트 본체의 단차에 통합합니다.




STEP 23. 마지막으로


현재 프로젝트는 완전히 작동하며 재사용과 오프 더 그리드라는 영역에 부합합니다.

재사용 - 새롭게 다시 사용할 수 있게 된, 그렇지 않았다면 쓸모없어졌을 카세트입니다. 또한 플레이어가 있다면 테이프가 엉키거나 늘어나거나 마모될 걱정 없이 재사용할 이유가 생깁니다.

오프 더 그리드 - 주머니에 들어가는 충전식 배터리 전원의 휴대용 음악 플레이어입니다.

여기까지 읽으셨기를 바라며, 읽어 주셔서 감사합니다.


원문: https://www.instructables.com/MP3-Player-Cassette/

좋아요 0
게시판

회사명 공방유니언 주소 각 공방 주소 참조
사업자 등록번호 0000 대표 공방유니언 전화 019-60105846 팩스 0000 이메일 gongbangunion@gmail.com
통신판매업신고번호 0000 개인정보관리책임자 공방유니언
Copyright © 2017 공방유니언. All Rights Reserved.