Índice:
- Etapa 1: Vídeo
- Etapa 2: peças e materiais
- Etapa 3: Fiação - SAA1099
- Etapa 4: Fiação - Oscilador TTL
- Etapa 5: Fiação - Interface Iref e Chip
- Etapa 6: Fiação - Componentes de som
- Etapa 7: Fiação - Entrada de áudio
- Etapa 8: Fiação - Alimentação para a placa de ensaio
- Etapa 9: Fiação - Linhas de dados
- Etapa 10: LED (s) opcional (is)
- Etapa 11: Código
- Etapa 12: Teste
- Etapa 13: Usando seus próprios arquivos MIDI - Programa de conversão
- Etapa 14: Convertendo Arquivos MIDI
- Etapa 15: Usando seu arquivo MIDI convertido
- Etapa 16: Fin
Vídeo: Chip de som retro com um Arduino - o SAA1099: 16 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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
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
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
- 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
- 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
- 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
- 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
- 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
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)
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
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
- 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
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
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
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
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:
Medidor de som - Arduino: 10 etapas (com imagens)
Medidor de som - Arduino: Neste Instructable irei mostrar como fazer um medidor de som usando um Arduino e mais alguns componentes. Este é um projeto escolar que fiz recentemente e que me levou um ano para ser concluído, é baseado na construção de um Medidor de som que registra o nível de som
Lâmpada Arduino de garrafa de refrigerante - Sensível ao som: 3 etapas (com imagens)
Lâmpada Arduino de garrafa de refrigerante - Sensível ao som: Eu tinha alguns LEDs endereçáveis individualmente que sobraram de outro projeto e queria criar outro desafio bastante fácil, mas divertido, para minhas aulas de design de produto de nível 10 (13-15 anos). Este projeto usa uma garrafa de refrigerante vazia (ou refrigerante se você
Fone de ouvido Bluetooth DIY (Chip BK8000L) Impresso em 3D: 6 etapas (com imagens)
Fone de ouvido Bluetooth DIY (Chip BK8000L) 3D impresso: Olá! Aqui, eu gostaria de mostrar a você como fazer seu próprio fone de ouvido bluetooth sem fio. Minha motivação para fazer este projeto é o fato de que há muitos fones de ouvido bluetooth ruins que comprei recentemente, então, fazendo meu próprio, posso ajustar e desenvolver
Tales From the Chip: LM1875 Amplificador de áudio: 8 etapas (com imagens)
Tales From the Chip: LM1875 Amplificador de áudio: Eu adoro alguns amplificadores de chip - pacotes minúsculos de pura potência de áudio. Com apenas alguns componentes externos, uma fonte de alimentação limpa e algum dissipador de calor robusto, você pode obter um som de qualidade verdadeiramente hi-fi que rivaliza com projetos de transistores complexos e discretos
Chip Arduino / ATMega autônomo na placa de ensaio: 8 etapas (com imagens)
Chip Arduino / ATMega autônomo na placa de ensaio: se você for como eu, depois que comprei meu Arduino e executei uma programação final em meu primeiro chip, queria retirá-lo de meu Arduino Duemilanove e colocá-lo em meu próprio circuito. Isso também liberaria meu Arduino para projetos futuros. O problema