Índice:

PAB: uma caixa de áudio pessoal: 5 etapas
PAB: uma caixa de áudio pessoal: 5 etapas

Vídeo: PAB: uma caixa de áudio pessoal: 5 etapas

Vídeo: PAB: uma caixa de áudio pessoal: 5 etapas
Vídeo: BURLANDO SELFIE SUMUP 2024, Julho
Anonim
PAB: uma caixa de áudio pessoal
PAB: uma caixa de áudio pessoal

A ideia deste projeto nasceu da necessidade de raspar os três grandes componentes do sistema HiFi, que já haviam chegado ao fim de sua vida útil. Além disso, precisava de mais espaço na estante para outros objetos, então aproveitei para começar a estudar em uma Caixa de Áudio Pessoal para substituir todas as funções dos três "gigantes" vintage.

Um Raspberry Pi3B + parecia ser a melhor escolha por estes motivos:

  • Fator de forma pequeno e baixo consumo de energia;
  • Uma saída de áudio PCM com qualidade aceitável;
  • Disponibilidade do mopidy, um servidor de música extensível que implementa o protocolo mpd;
  • Alta integração de fontes: música local, CDROM, streams de rádio, Spotify, Tunein, etc.

Integrando-o com alguns outros componentes, fui capaz de criar um sistema completo e sem headless, capaz de tocar música de CDs, arquivos locais, rádio online, playlists do Spotify, podcasts. E através do uso de um frontend, agora posso gerenciar todo o seu funcionamento a partir de qualquer dispositivo conectado à LAN (smartphone, computador, tablet).

Suprimentos

  • Framboesa PI3B +
  • Uma velha capa de DVD
  • Leitor de CDROM
  • Fonte de alimentação 5v-5A
  • Supercapacitores
  • Vários componentes (transistores, LED, relé, Op-Amp): ver detalhes do projeto

Etapa 1: Caixa e Layout dos Componentes

Caixa e layout de componentes
Caixa e layout de componentes
Caixa e Layout de Componentes
Caixa e Layout de Componentes
Caixa e layout de componentes
Caixa e layout de componentes
Caixa e layout de componentes
Caixa e layout de componentes

O primeiro problema que enfrentei foi selecionar e encontrar um caso adequado. Não encontrando nada em casa, encontrei este reprodutor de DVD barato na Amazon por alguns dólares, mas qualquer coisa semelhante será bom o suficiente. A caixa tem as seguintes dimensões: 27 cm x 20 cm x 3,5 cm.

Removi completamente todo o conteúdo, mantendo apenas a pequena placa para gerenciar o LED frontal, o botão liga / desliga e a entrada USB. Em seguida, planejei o layout interno dos novos componentes (veja a imagem).

Etapa 2: a chave de detecção de estéreo de áudio

O interruptor de detecção de estéreo de áudio
O interruptor de detecção de estéreo de áudio
O interruptor de detecção de áudio estéreo
O interruptor de detecção de áudio estéreo
O interruptor de detecção de estéreo de áudio
O interruptor de detecção de estéreo de áudio

Por que uma troca automática de áudio? A necessidade surge do fato de que costumo ouvir TV através do amplificador HiFi, mas não queria selecionar o botão de fonte do amplificador todas as vezes. Com este circuito, a entrada do amplificador é sempre a mesma, e a fonte é selecionada automaticamente pela chave de detecção de estéreo de áudio.

O esquema é direto. Quando o PAB não está tocando, a fonte de áudio do HiFi está vindo da TV. Se o PAB tocar, o relé seleciona o áudio do Raspberry.

Etapa 3: A caixa dos supercapacitores

A caixa dos supercapacitores
A caixa dos supercapacitores
A caixa dos supercapacitores
A caixa dos supercapacitores

Como se sabe, uma interrupção repentina do fornecimento de energia ao Raspberry provoca o desligamento imediato sem a execução do procedimento de desligamento, podendo comprometer o sistema operacional e, portanto, sua funcionalidade total. Um supercapacitor difere de um capacitor tradicional em duas características essenciais: na verdade, suas placas possuem uma área maior e a distância entre elas é muito menor, pois o isolador interposto funciona de forma diferente de um dielétrico convencional. Com essas técnicas, capacitores de altíssima capacidade (na ordem de várias dezenas de Farads) podem ser feitos, mantendo-se pequenas dimensões. A ideia é, portanto, criar um "buffer" de 5v via supercapacitores e ativar o desligamento quando for detectada a ausência da tensão de alimentação. Desta forma, não será mais necessário intervir manualmente para iniciar o desligamento, mas simplesmente remover o plugue (ou ativar um interruptor) para garantir um desligamento seguro.

Referindo-se ao esquema, a fonte de alimentação é aplicada ao terminal esquerdo e o diodo Schottky impede qualquer retorno de corrente para a fonte de alimentação. Os dois resistores de potência de 1,2Ω 5 W em paralelo limitam a corrente de carga dos supercapacitores, para proteger a fonte de alimentação. Sem esses resistores, a corrente de pico exigida pelos dois supercapacitores descarregados quase certamente seria capaz de danificar a fonte de alimentação. O diodo de potência deve ser necessariamente do tipo Schottky para inserir uma queda de tensão mínima em série com a barra de 5 V.

Os dois supercapacitores são conectados em série para garantir uma tensão máxima de 5,4 volts em suas extremidades (cada supercapacitor é 10F, 2,7V) e os dois resistores em paralelo às capacitâncias equilibram as correntes de carga e garantem uma descarga lenta quando o Framboesa é girado desligado. Os dois resistores de 1KΩ paralelos à entrada dividem os 5V da fonte de alimentação pela metade para obter o sinal necessário para detectar falha de energia (conectado ao Raspberry GPIO 7). Ao contrário das células modernas de lítio, os supercapacitores garantem um número quase infinito de ciclos de carga e descarga, sem perder nenhuma característica.

O circuito será, portanto, capaz de manter o Raspberry alimentado e funcionando pelo tempo necessário para realizar um desligamento regular. O início do processo de desligamento será detectado por um programa em execução no Raspberry que monitorará o status do GPIO 7, ao qual o nível de energia está conectado. Quando a energia é desconectada, o pino 7 do GPIO passa em um nível baixo e aciona o desligamento. Este é o código:

#! / usr / bin / env python

importar RPi. GPIO como GPIO importar subprocesso GPIO.setmode (GPIO. BCM) # usar numeração GPIO GPIO.setwarnings (False) INT = 7 # monitores de 26 pinos Fonte de alimentação # usar um pull_up fraco para criar um GPIO.setup alto (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): enquanto True: # define uma interrupção em uma borda descendente e espera que aconteça GPIO.wait_for_edge (INT, GPIO. FALLING) # verifique o nível do pino novamente se GPIO.input (INT) == 0: # ainda baixo, desligar Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': a Principal()

O programa deve ser salvo em / usr / local / bin /.py e configurado para ser executado quando o Raspberry iniciar. Pelos testes realizados, as capacidades dos dois supercapacitores se mostraram suficientes para garantir o tempo de desligamento do Framboesa. Se for necessário mais tempo, será suficiente introduzir dois outros supercondensadores em paralelo aos existentes, ou substituí-los por dois de maior capacidade.

Etapa 4: montagem e uso de portas USB

Montagem e uso de portas USB
Montagem e uso de portas USB

O esquema de blocos mostra como conectar os diversos dispositivos para PAB no barramento principal 3 (+ 5v, USB e áudio estéreo).

Observe que a fonte de alimentação do leitor de CD foi conectada diretamente à fonte de alimentação principal por meio de um cabo "Y", enquanto a entrada de áudio vai para o Raspberry. As quatro portas USB Raspberry foram usadas para:

  • Leitor de CD;
  • um pendrive de 250GB para armazenar arquivos de música local (mp3, m4a, wma, flac, etc.);
  • um cartão micro SD de 16GB (com adaptador USB) para armazenar o backup completo do SD Raspi principal (veja abaixo);
  • uma conexão com a porta USB externa no caso.

A porta USB externa pode ser usada para reproduzir música externa ou para alimentar dispositivos externos. No meu caso, estou ligando um transmissor Bluetooth externo porque descartei o interno do Raspi devido ao baixo alcance e à instabilidade. Com o bluetooth externo, estou dirigindo 2 alto-falantes estéreo diferentes em casa.

O cartão micro SD de 16 GB (com adaptador USB) mantém um backup completo do Raspberry. Estou usando o rpi-clone, que se revelou um projeto muito bom que permite fazer um backup completo do Raspberry sem a necessidade de remover o SD interno. Já troquei várias vezes este SD pelo interno, sem problemas. Portanto, configurei um cronjob para o usuário root:

#Backup on sda - todas as quartas-feiras à noite

15 2 * * 3 / usr / sbin / rpi-clone sda -u | mail -s "Backup PAB em SD - concluído"

Em seguida, reutilizei o botão liga / desliga original no gabinete para desligar e reiniciar o Raspberry, seguindo este guia:

Etapa 5: software e sistema operacional

Software e Sistema Operacional
Software e Sistema Operacional
Software e Sistema Operacional
Software e Sistema Operacional
Software e Sistema Operacional
Software e Sistema Operacional

O principal sistema operacional do PAB é um Raspbian minimal (Debian Buster) com várias adições específicas:

  • rpi-clone para backup principal;
  • ssmtp, um MTA simples para retirar e-mails do sistema;
  • udevil, para permitir a montagem automática de drives USB;
  • abcde, para pegar minha coleção de CDs e compactá-la em qualquer formato de áudio;
  • mopidy, um Music Player Daemon completo com um monte de plug-ins.

Em seguida, escrevi um aplicativo de servidor PAB Scheduler completo usando python3 e tornado, cujo código está fora do escopo deste artigo, mas posso fornecer instruções mediante solicitação. Com o Scheduler você pode configurar playlists para qualquer hora do dia, diferenciando os dias da semana dos finais de semana.

O principal software que executa o PAB é mopidy. Para instalação e configuração do mopidy (bastante extenso), consulte sua documentação aqui:

Estes são os plug-ins instalados:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Mopidy-Iris
  • Mopidy-Local-Images
  • Mopidy-TuneIn

Para obter o controle total do PAB, escolhi a extensão do frontend Iris (ver fotos). Este é um aplicativo da web muito poderoso com os seguintes recursos:

  • Controles de interface totalmente baseados na web para Mopidy
  • Suporte aprimorado para bibliotecas locais (desenvolvido por Mopidy-Local-Sqlite)
  • Navegue e gerencie playlists e faixas
  • Descubra músicas novas, populares e relacionadas (com tecnologia Spotify)
  • Hospedado gratuitamente
  • Integração com:

    • Spotify
    • Last FM
    • Gênio
    • Snapcast
    • Icecast

Desta forma, estou livre para controlar minha música de quase qualquer lugar (computador, tablet, smartphone).

Recomendado: