MPY v4 Walkman, reprodutor MP3 maneiro no formato de fita cassete para montar, reprodutor de MP3 legal com Raspberry Pi RP2040, VS1053 e display colorido AXP2101. Design nostálgico, circuito alimentado por bateria, inclui código-fonte e case 3D.
Quando eu era criança, meu irmão mais velho tinha um reprodutor de cassete Sony Walkman que eu sempre invejei. Sempre tive nostalgia por reprodutores de cassete em meu coração. O design mecânico requintado e a aparência legal do Walkman de cassete naquela época deixaram uma profunda impressão em mim. Agora estou tentando fazer um eu mesmo com base na aparência de um reprodutor de cassete!
Este projeto foi migrado da edição padrão e está participando do Programa Spark 2024. A diferença entre V3 e V4 é que o V4 usa uma tecla A56, que terá uma textura melhor. As carcaças V3 e V4 não são intercambiáveis.
Quanto à seleção de hardware para o projeto, o MCU usa um Raspberry Pi PICO e é necessária uma tela colorida para recriar o efeito da janela de fita transparente giratória. Foi escolhida uma tela ST7789 de 1,14 polegadas. Devido às limitações de desempenho do Micropython, é necessário um chip de decodificação de música, então o VS1053 foi escolhido por suas funções poderosas e pela disponibilidade de bibliotecas Micropython existentes online. Os outros componentes de hardware é padrão, incluindo 4 botões e um slot para cartão TF. Para implementar elegantemente a função de ligar/desligar, o projeto introduz o novo chip de gerenciamento de energia AXP2101, que outros especialistas também estão usando.

Ideias principais da escrita de código Como um projeto chinês, é claro que ele deve ter suporte para o chinês. Este projeto adicionou suporte para a biblioteca completa de fontes dos 6500 caracteres chineses mais usados, e utilizou a biblioteca de aprimoramento fb do wangshujun https://github.com/wangshujun-tj/mpy-Framebuf-boost. Para obter o efeito de rotação suave da fita, este projeto utiliza uma tela colorida st7789 de 240×135 píxeis, dirigindo-a diretamente com Python afetaria muito a eficiência, então aqui o autor utilizou o driver fastc de Russ Hughes https://github.com/russhughes/st7789_mpy.
Suporte para driver VS1053, utilizando a biblioteca de Peter Hinch https://github.com/peterhinch/micropython-vs1053. No entanto, esta biblioteca suporta apenas os métodos mais básicos de reprodução, então consultei o manual do VS1053 eu mesmo e adicionei alguns métodos mais avançados. Boa interface de usuário, como perfeccionista, a interface deve ser aceitável para mim, então usei o Photoshop com cuidado para criar os materiais um por um… também é um trabalho árduo tentar replicar a lógica de um tocador de fita o máximo possível.
Esquema MPY v4 Walkman reprodutor MP3 formato fita cassete
O autor mergulhou no formato de codificação MP3 e no VS1053 e utilizou a capa do álbum a partir das informações do ID3 do mp3, mas a processou de forma especial para que, ao reproduzir MP3s, se houver informações de capa, elas sejam exibidas na tela, dando a sensação de que uma fita real foi inserida. Por fim, trata-se de integração, pensando que é simples, mas, na verdade, criar um sistema completo requer algum esforço. Muitos dos métodos mencionados anteriormente exigem a modificação do código-fonte do micropython, portanto, o firmware final é autocompilado, incluindo algumas bibliotecas avançadas, e depois usado em conjunto. O código-fonte, as instruções, os arquivos de shell e os scripts de ferramenta são enviados para o GitHub, é claro, um projeto completo precisa de um shell. O autor começou a aprender engenharia de software este ano e continua em um nível iniciante.

Implementação de produção PCB, integração perfeita com o design do PCB, relativamente conveniente. O chip VS1053 usado aqui é comprado no site oficial, bastante caro. Ainda há muito espaço para redução de preço se enviado. Atualmente fazendo 10 SMTs, com um preço médio de cerca de 100 yuan cada. A carcaça é modelada e impressa com a impressora Tuozhu A1 mini. Para maior precisão, pode-se escolher entre várias plataformas de impressão 3D para obter carcaças de melhor precisão. Os arquivos STL podem ser obtidos do repositório. Outros componentes a serem comprados incluem: bateria recarregável de 600mAh, tela plug-in ST7789 de 240×135, parafusos de cabeça chata M2.5×8, botões de tecla A56.
Copia a música através da transmissão do cartão TF, use a interface USB para atualização de programa e carregamento, a taxa de bits do MP3 não deve exceder 256k. É recomendado usar 128k ou 192k, atualmente só suporta MP3.
Último vídeo de demonstração da aparência do V3
Lista de material para montar
Nome | Valor | Descrição | Quantidade |
Resistores | |||
R1,R12 | 510 Ω | R0402 — Resistor SMD | 2 |
R2,R3,R18,R19,R44,R45 | 0 Ω | R0402 — Resistor SMD | 6 |
R4,R5,R36,R37 | 22 Ω | R0402 — Resistor SMD | 4 |
R8,R10 | 1 kΩ | R0402 — Resistor SMD | 2 |
R9,R11,R14,R15,R17,R30,R31,R32,R39,R40,R41,R42,R43 | 10 kΩ | R0402 — Resistor SMD | 13 |
R13 | 3.3 kΩ | R0402 — Resistor SMD | 1 |
R16,R22 | 5.1 kΩ | R0402 — Resistor SMD | 2 |
R21 | 2.2 kΩ | R0402 — Resistor SMD | 1 |
R23,R24,R25,R26,R27,R28,R29,R35 | 100 kΩ | R0402 — Resistor SMD | 8 |
R33,R38 | 10 Ω | R0402 — Resistor SMD | 2 |
R34 | 1 MΩ | R0402 — Resistor SMD | 1 |
Capacitores | |||
C1,C18,C19,C20,C25,C37,C41,C42 | 1uF | C0402 — capacitor SMD | 8 |
C2,C15 | 10uF | C0603 — capacitor SMD | 2 |
C3,C6,C10,C13,C14,C33,C34,C35,C36 | 100nF | C0402 — capacitor SMD | 9 |
C4,C5 | 15pF | C0402 — capacitor SMD | 2 |
C7,C8,C9,C11 | 2.2uF | C0402 — capacitor SMD | 4 |
C12 | 1nF | C0402 — capacitor SMD | 1 |
C16,C17,C26 | 22uF | C0603 — capacitor SMD | 3 |
C21,C22,C23,C24 | 4.7uF | C0402 — capacitor SMD | 4 |
C38,C39 | 10nF | C0402 — capacitor SMD | 2 |
C40 | 47nF | C0603 — capacitor SMD | 1 |
C43,C44 | 12pF | C0402 — capacitor SMD | 2 |
C45,C46,C47 | 10uF | C0402 — capacitor SMD | 3 |
Semicondutores | |||
LED1 | 19–217/GHC-YR1S2/3T | LED0603 — LED verde | 1 |
LED2 | KT-0603R | LED0603 — LED vermelho | 1 |
Q1 | AO3401A | SOT-23 MOSFET canal P | 1 |
U1 | W25Q128JVSIQTR | 128Mbit SOIC-8-208mil NOR FLASH | 1 |
U2 | 1.14-IPS-135 × 240-ST7789V | 1.14-IPS display | 1 |
U4 | RP2040 | 264 KB 30 ARM-MSeries 133MHz LQFN-56(7×7) Microcontrolador Units (MCUs/MPUs/SOCs) | 1 |
U5 | VS1053B | LQFP-48(7 × 7) Audio Interface ICs | 1 |
U6 | AP7312-1833W6-7 | 150mA positivo 6V, 1,8V SOT-26-6 Regulador de tensão linear | 1 |
U7 | AXP2101 | QFN-40 Single Cell NVDC PMU with E-gauge | 1 |
LED4 | 19–217/BHC-ZL1M2RY/3T | LED0603 — LED azul | 1 |
PAD5,PAD6,PAD7,PAD8,PAD9,PAD10 | ROUND_PAD_1.2MM | ROUND_PAD_1.2MM | 6 |
Diversos | |||
SW1 | TS-1187A-B-A-B | 5.1 mm 1,5 mm Round Button Brick nogging SPST SMD chave de toque | 1 |
SW2,SW3,SW4,SW5,SW6 | TC-1102DE-C-G | 6 mm 7 mm Round Button Lying SPST chave de toque | 5 |
T1,T2,T3,T4 | Screw hole m2.5×6 | M2.5 parafuso | 4 |
USB1 | KH-TYPE-C-16P | Conector USB SMD 16 pinos | 1 |
CARD2 | TF-101A-P3 | Conector para Cartão de memória SMD | 1 |
FPC1 | FPC-05FB-8PH20 | Right Angle 8P SMD, P=0.5 mm, Surface Mount Right Angle conector FFC/FPC | 1 |
H1 | MH200V-11-02-1000 | P=2 mm Pin Headers 2 pinos | 1 |
JP1,JP2 | JUMPER-SPARKFUN | JUMPER-SPARKFUN | 2 |
L1,L2 | 1uH | 0806 Indutor | 2 |
L4,L5 | 600 Ω @100MHz 0603 Ferrite Bead | L0603 — Indutor SMD | 2 |
AUDIO1 | PJ-3420-A-SMT | 3,5 mm jack de fone de ouvidos 235℃ 30V 500mA SMD conector de áudio | 1 |
X1 | 12.288MHz | 12pF ±10ppm ±30ppm SMD3225-4P Cristal | 1 |
X2 | 12MHz | 20pF ±10ppm ±30ppm SMD3225-4P Cristal | 1 |
Download dos arquivos, links, e notas

Download PCB em Gerber e PDF
- Comprar CI RP2040
- Comprar CI VS1053B
- Comprar CI AXP2101
- Use document WIKI
- Repositório contendo código-fonte do shell e ferramentas relacionadas
- Loja
- Arquivos de origem do painel, bem-vindos para modificar você mesmo
- PDF datasheet Raspberry Pi RP2040
- PDF datasheet VS1053B
- PDF datasheet AXP2101
- PDF datasheet W25Q128JVSIQTR
- PDF datasheet AP7312-1833W
Fonte: https://oshwhub.com/jd3096/mpy-cassette-player-v4
Comentar via Facebook