Índice:

Chip de som retro com um Arduino - o SAA1099: 16 etapas (com imagens)
Chip de som retro com um Arduino - o SAA1099: 16 etapas (com imagens)

Vídeo: Chip de som retro com um Arduino - o SAA1099: 16 etapas (com imagens)

Vídeo: Chip de som retro com um Arduino - o SAA1099: 16 etapas (com imagens)
Vídeo: SAA1099 & Arduino - How to DIY 2024, Novembro
Anonim
Image
Image
Fiação - SAA1099
Fiação - SAA1099

Neste instrutível, mostrarei como usar um Arduino Uno com um chip de síntese de som vintage, para reproduzir arquivos midi em forma quadrada e ondulada!

Se você deseja apenas uma rápida visão geral do que este projeto faz, assista ao vídeo acima. Caso contrário, continue!

Etapa 1: Vídeo

Image
Image

Se você preferir todas as suas instruções em vídeos claros e concisos, nós o ajudamos!

Para o resto de nós, você pode continuar, para um pouco mais de detalhes e instruções por escrito.

Etapa 2: peças e materiais

Para isso, você precisará destas coisas:

(Os links são para itens do eBay)

  • Um Arduino (Uno, Nano, Leonardo, todos devem funcionar)
  • Pelo menos uma placa de ensaio de tamanho médio
  • O chip gerador de som estéreo SAA1099
  • Fios de jumper da placa de ensaio (como alternativa, eu gosto de usar jumpers duplo fêmea para fêmea, com pinos de 20 mm inseridos em cada extremidade - muito mais resistente)
  • Oscilador TTL de 8 MHz (link do AliExpress fornecido por zweigelt)
  • Entrada de áudio estéreo (ou mono)
  • 2 x resistores de 1K (lote de 100)
  • 1 x resistor de 10K (lote de 50)
  • 2 x 100pF capacitores
  • (Opcional) Alguns LEDs, pelo menos 1 (qualquer cor, aqui estão 100 cores sortidas por um dólar!)

Usando os links fornecidos, o custo total é de $ 23,25, incluindo frete. Claro, a maior parte vem do outro lado do mundo, então o envio geralmente leva cerca de um mês. Se você quiser um frete mais rápido, provavelmente terá que pagar um pouco mais.

Etapa 3: Fiação - SAA1099

Fiação - SAA1099
Fiação - SAA1099
Fiação - SAA1099
Fiação - SAA1099

Se esquemas são sua coisa, aqui está! O resto de nós pode seguir o passo a passo ou assistir ao vídeo.

  • Coloque o SAA1099 na extremidade da placa de ensaio, com o entalhe no chip voltado para a extremidade.
  • Agora, força. O VDD (pino 18) no SAA1099 vai para a alimentação e, em seguida, o pino VSS (pino 9) para o aterramento.
  • Em seguida, coloque um fio entre CS (pino 2) e aterramento, para mantê-lo puxado para baixo

Também recomendo dar uma olhada na folha de dados, que anexei.

Etapa 4: Fiação - Oscilador TTL

Fiação - Oscilador TTL
Fiação - Oscilador TTL
Fiação - Oscilador TTL
Fiação - Oscilador TTL
  • Colocaremos o oscilador TTL na placa de ensaio ao lado da placa de ensaio, de modo que o pino de saída do relógio esteja mais próximo da entrada do relógio no SAA1099 (pino 8)
  • Você pode ir em frente e conectar a alimentação e o aterramento ao oscilador TTL. (Eu esperei até mais tarde no meu vídeo, então não tenho uma foto). A imagem acima mostra quais pinos são quais.

Etapa 5: Fiação - Interface Iref e Chip

Fiação - Interface Iref e Chip
Fiação - Interface Iref e Chip
Fiação - Interface Iref e Chip
Fiação - Interface Iref e Chip
  • Conecte o resistor de 10K entre Iref (pino 6) e 5V.
  • Conecte o pino digital 8 ao WR (pino 1) no SAA1099.
  • Conecte o pino digital 9 ao A0 (pino 3) no SAA1099.

Etapa 6: Fiação - Componentes de som

Fiação - Componentes de som
Fiação - Componentes de som
Fiação - Componentes de som
Fiação - Componentes de som
Fiação - Componentes de som
Fiação - Componentes de som
  • Conecte um capacitor 100pF entre OUTR (pino 4) e GND
  • Conecte um resistor de 1K entre OUTR (pino 4) e 5V
  • Faremos a mesma coisa para OUTL (pino 5)
  • Conecte um capacitor 100pF entre OUTL (pino 5) e GND
  • Conecte um resistor de 1K entre OUTL (pino 5) e 5V

Observação! Certifique-se de que nenhum dos fios dos resistores / capacitores esteja se tocando, caso contrário, as coisas não funcionarão e podem (provisoriamente) explodir na sua cara.

Etapa 7: Fiação - Entrada de áudio

Fiação - Entrada de áudio
Fiação - Entrada de áudio
Fiação - Entrada de áudio
Fiação - Entrada de áudio
Fiação - Entrada de áudio
Fiação - Entrada de áudio
  • Conecte um pequeno fio de jumper entre 5 V e uma fileira vazia na placa de ensaio.
  • Coloque o seu conector de áudio, de forma que o jumper de 5V se conecte ao pino "manga" no conector de áudio
  • Conecte os pinos L e R (ou áudio, se você tiver um conector Mono) aos pinos OUTL (pino 5) e OUTR (pino 4) no SAA1099, respectivamente.

Observação! Nos conectores de áudio Mono, realmente não importa o que seja, contanto que um pino se conecte a 5V e outro a OUTL ou OUTR. Vai soar muito bem. A menos que isso não aconteça, nesse caso você pode querer verificar sua fiação novamente.

Etapa 8: Fiação - Alimentação para a placa de ensaio

Fiação - Alimentação para placa de ensaio
Fiação - Alimentação para placa de ensaio
Fiação - Alimentação para placa de ensaio
Fiação - Alimentação para placa de ensaio
  • Conecte os dois lados do barramento de força da placa de ensaio um ao outro, usando fios de jumper.
  • Conecte um lado aos pinos 5V e GND no Arduino, certificando-se de não misturar os fios em lugar nenhum. Se você fez isso, a fumaça mágica pode escapar.

Etapa 9: Fiação - Linhas de dados

Fiação - Linhas de Dados
Fiação - Linhas de Dados

Conecte D0 a D7 no Arduino a D0 (pino 10) a D7 (pino 17) no SAA1099, na ordem

Eu descobri que os fios jumper fêmea-fêmea da DuPont, com pinos de 15-20 MM em cada extremidade, funcionam muito melhor do que os fios duplos macho-macho. Além disso, você também pode usá-los como feminino-feminino ou masculino-feminino. Ambos são facilmente encontrados no eBay em grandes quantidades, para pequenas quantias de troco. Um bom presente de Natal para o aspirante a viciado em Arduino!

Etapa 10: LED (s) opcional (is)

LED (s) opcional (is)
LED (s) opcional (is)
LED (s) opcional (is)
LED (s) opcional (is)

Não vou explicar passo a passo como construir tudo aqui, mas existem vários bons lugares para adicionar LEDs. Primeiramente, conectei um LED vermelho de 3mm entre o WR (pino 1) e o GND, para mostrar toda vez que o Arduino envia um comando para o SAA1099.

Eu também conectei LEDs às linhas de dados antes, o que permite que você veja os dados binários reais em cada linha. Usei essa configuração no meu vídeo "Arduino e SAA1099 - Fireflies", bem como mais 6 LEDs e alguns códigos extras para acender cada LED para cada canal que estava ativo.

Quanto mais LEDs, mais legal fica!

Etapa 11: Código

Código!
Código!
Código!
Código!

Agora que você construiu o circuito, verifique as conexões! Você não quer explodir seu arduino caro e Soundchip! (Se você fizer isso, bem. Isso não é da minha conta)

Supondo que você esteja são e tenha verificado tudo, podemos começar a programar.

  • A biblioteca está em
  • Você vai querer o arquivo SAATunes.zip, então vá em frente e baixe-o.
  • Agora, abra o IDE do Arduino.
  • Em "Sketch", "Incluir biblioteca", clique em "Adicionar biblioteca.zip"
  • Navegue para onde quer que você baixou a biblioteca SAATunes. (Não me importo se foi a sua área de trabalho, downloads ou pasta (insira algo embaraçoso) - Basta localizá-lo)
  • Selecione-o e clique em "Abrir"
  • Deve informar que foi adicionado às suas bibliotecas.

Etapa 12: Teste

Teste-o!
Teste-o!
Teste-o!
Teste-o!
  • Abra o programa SAATunes de exemplo, em "Arquivo", "Exemplos", "SAATunes", "SAATunes-Uno".
  • Conecte seu Arduino ao computador e a um alto-falante de algum tipo.
  • Faça upload do programa para o Arduino.

Você deve ouvir um acorde, depois a Fúria de Beethoven sobre uma moeda perdida. Se o clássico não é sua praia, não tenha medo, pois em breve aprenderemos como usar arquivos MIDI de nossa escolha com ele.

Se você não ouvir nada, verifique algumas coisas: Primeiro, seu alto-falante está ligado? Aumente totalmente. Então, o arduino está realmente ligado? O programa foi carregado corretamente? Verifique toda a fiação com o esquemático e a folha de dados e tente novamente.

Etapa 13: Usando seus próprios arquivos MIDI - Programa de conversão

Usando Seus Próprios Arquivos MIDI - Programa de Conversão
Usando Seus Próprios Arquivos MIDI - Programa de Conversão

Pronto para tentar algo diferente de Beethoven? Muito bem, aqui está.

Para converter arquivos MIDI em C ++ Bytestreams, precisaremos de um programa de Len Shustek. Ele é o criador da biblioteca na qual baseei meu código, e minha biblioteca usa o mesmo formato de bytestream que ele usa.

  • Você pode encontrar o programa em
  • O programa que você deseja é "miditones.exe". Vá em frente e baixe isso.

Etapa 14: Convertendo Arquivos MIDI

Conversão de arquivos MIDI
Conversão de arquivos MIDI
Conversão de arquivos MIDI
Conversão de arquivos MIDI
Conversão de arquivos MIDI
Conversão de arquivos MIDI

Aviso! Aqui há dragões ascii! Você pode achar mais fácil assistir ao vídeo, onde você pode ver exatamente do que estou falando. Se tiver coragem de entrar, continue!

Para usar o programa de conversão de MIDI em Bytestream, você precisará abrir uma janela de prompt de comando. Desculpe, usuários de Mac e Linux, talvez seja necessário encontrar uma solução alternativa.

  • Abra o menu iniciar, digite "CMD" e pressione Enter.
  • Vamos aprender um pouco da magia do MS-DOS agora. Usando o comando "CD", navegue até onde você baixou o arquivo "miditones.exe". Na maioria dos casos, os comandos serão "downloads de cd".
  • Execute o programa "miditones.exe" digitando "miditones". Deve mostrar uma lista de ajuda mostrando os comandos mais comuns.

Agora, precisamos de um arquivo MIDI para converter. Encontre um em algum lugar nas interwebs, de preferência sem percussão ou quaisquer efeitos especiais além de instrumentos / velocidade. (Se você não sabe o que são, não se preocupe, você ficará bem)

  • Baixe seu arquivo MIDI para o mesmo lugar onde você tem o programa "miditones".
  • Agora, usando a janela do prompt de comando, digite "miditones -d -v [nome do arquivo]" (substitua [nome do arquivo] pelo nome do seu arquivo MIDI).
  • miditones irá gerar um arquivo. C com o bytestream C ++ na mesma pasta, com o mesmo nome do arquivo MIDI.

Etapa 15: Usando seu arquivo MIDI convertido

Usando seu arquivo MIDI convertido
Usando seu arquivo MIDI convertido
Usando seu arquivo MIDI convertido
Usando seu arquivo MIDI convertido
Usando seu arquivo MIDI convertido
Usando seu arquivo MIDI convertido

Agora que você converteu seu arquivo MIDI, vamos alimentá-lo em pequenos bytes para o arduino!

  • Supondo que você já tenha o exemplo do SAATunes-Uno aberto, vamos prosseguir e "salvar como" outra coisa, para que possamos editá-la.
  • Depois de salvá-lo, clique no pequeno ícone de "seta para baixo" no canto superior direito.
  • Clique em "nova guia" e nomeie-a como "[nome].h" (substitua [nome] pelo nome de sua música MIDI ou o que você quiser)
  • Agora, abra o arquivo. C criado anteriormente pelos miditones. Você pode usar o bloco de notas para abri-lo.
  • Use CNTRL / A para selecionar tudo e copie-o.
  • Cole-o em sua nova guia "[nome].h" no editor do Arduino.

Tudo está bem aqui, então vamos voltar ao programa.

  • Encontre onde diz "#include" RagePenny.h "" e copie / cole em uma nova linha abaixo.
  • Altere o "RagePenny.h" para o nome que você nomeou seu novo arquivo.
  • Agora, comente o "#include" RagePenny.h "", adicionando duas barras (//) na frente dele.
  • Faça upload do programa!

Se tudo correr bem, ele deve estar reproduzindo seu próprio arquivo MIDI. Caso contrário, verifique novamente para ter certeza de que os nomes da nova guia e o nome que você alterou em "#include" RagePenny.h "" são os mesmos. Verifique as outras etapas e certifique-se de que fez tudo certo. Alguns arquivos MIDI simplesmente não funcionam, mas são raros.

Etapa 16: Fin

Fin!
Fin!

Esperançosamente, tudo correu bem com você, e você está migrando para arquivos MIDI em uma peça de tecnologia antiga que ganhou vida nova!

No entanto, se você não for, não desista! Envie um comentário do meu jeito, e ficarei feliz em ajudar. Claro, fique à vontade para me dar sugestões nos comentários.

Feliz chiptunes!

Recomendado: