Índice:
- Suprimentos
- Etapa 1: Preparando o Mini Host Shield USB para acionar um dispositivo Midi 5V
- Etapa 2: conecte o mini escudo USB ao seu Arduino Nano
- Etapa 3: Chips Anyone? Adicionando SN76489 com Osc de 4MHz. e 595 Shift Register
- Etapa 4: Basta adicionar o código - adicionando as bibliotecas, compilando e enviando o código
- Etapa 5: conecte um amplificador e alto-falante, conecte seu teclado USB Midi e teste
- Etapa 6: complete o circuito com um regulador de tensão de 5 V, conector de 12 V, botão liga / desliga e LED de energia
- Etapa 7: coloque em uma caixa, pinte e aproveite seu novo sintetizador
Vídeo: Vamos construir um SN76489 USB MIDI Synth com Arduino Nano: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Sempre quis construir seu próprio sintetizador baseado em músicas antigas dos anos 80? Tocar melodias polifônicas simples que soam exatamente como esses antigos videogames Sega Master System e Megadrive soavam?
Eu comprei, então, encomendei alguns chips SN76489 do ebay e uma interface de host midi e tentei. Bem, não foi um passeio no parque para mim, mas, aproveitei cada momento.
Primeiro, aprendi como fazer a interface direta do SN76489 e fazer algum barulho com ele. Havia alguns elementos confusos nisso, mas, com a ajuda do The Oddbloke Geek Blog e alguns outros exemplos, junto com o documento de especificação do chip, fui capaz de desenvolver uma biblioteca arduino simples.
Em seguida, eu tive que aprender como fazer a interface de um teclado midi com um mini-host shield USB. Isso não foi tão difícil, pois há alguma documentação disponível e existem boas bibliotecas com exemplos claros.
Depois que eu entendi como controlar o chip e como fazer a interface com meu teclado USB midi, a única coisa que me restou fazer foi escrever um código que juntaria tudo isso e me permitiria usar o teclado para controlar o chip.
Ao longo do caminho, aprendi que sons com frequência menor do que aqueles que tentei gerar para notas midi 0x2f não soavam bem, então, decidi usar isso para permitir o envio de ruído para o gerador de ruído para quaisquer notas midi entre 0x28 e 0x2f e também permite tocar notas com um toque oriental árabe para qualquer coisa abaixo de midi 0x28.
Olhando para trás, foi muito divertido e interessante de construir.
Espero que você o ache tão divertido e interessante quanto eu e que, se você mesmo construir um, faça a gentileza de compartilhar algumas fotos.
Se você gostou deste projeto, vote nele abaixo para ajudar a ganhar o concurso do qual ele participa
Suprimentos
Eu adicionei links para materiais que você pode comprar para este projeto, no entanto, você pode encontrar muitos itens disponíveis que podem ser extraídos de aparelhos eletrônicos antigos.
Esses links são links de afiliados, portanto, se você comprar depois de clicar neles, recebo uma pequena parte (não uma fortuna) e você obtém um produto certo para este projeto. Não há nenhuma taxa ou custo extra para usá-los, no entanto, você pode encontrar quaisquer itens semelhantes que podem substituí-los facilmente.
ebay.us/svA4z4 | 1 x placa de desempenho
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x mini escudo USB
ebay.to/2QrHl1C | 1 x chip de som SN76489
ebay.us/aaaj8p | 1 x registrador de deslocamento 595
ebay.us/DSvTHO | 1 x oscilador de cristal de 4 MHz
ebay.us/XQeM0Q | 1 x regulador de tensão 5V 7805
ebay.us/6R6Fpf | 1 x dissipador de calor para o regulador de tensão
ebay.us/xkLbn4 | 3 x capacitores de 10uF
ebay.us/pnm2BH | fios
ebay.us/PMbUfY | 1 x LED vermelho para alimentação
ebay.us/zokHtc | 1 x resistor de 220 ohms para limitar o fluxo de corrente do LED
ebay.us/qjbesJ | 1 x conector de alimentação para fonte de alimentação 12v
ebay.us/cS0wwv | 1 x botão liga / desliga
uma caixa adequada (eu construí a minha com uma velha gaveta que estava guardada em meu armazenamento por anos)
Etapa 1: Preparando o Mini Host Shield USB para acionar um dispositivo Midi 5V
Como a blindagem do mini host USB opera em 3,3 V e os teclados midi USB que uso requerem 5 V, é necessário ajustar a tensão de saída da blindagem cortando a linha de 3,3 V que vai para a saída USB Vcc, para que possamos conectá-la posteriormente a 5V.
Existem muitos tutoriais sobre como fazer isso e acabou sendo bastante simples:
Basta cortar a linha entre o resistor 2k2 e a linha Vcc (veja a imagem anexa). Usei uma chave de fenda para riscar essa linha e testei se funcionava com um medidor de continuidade.
Etapa 2: conecte o mini escudo USB ao seu Arduino Nano
Felizmente, há muitas informações sobre como fazer isso, então, pesquisando por "Arduino Nano e mini USB host shield", acessei este tópico
Ele descreveu como conectar a blindagem USB mini v2.0 e depois de segui-lo fui direto testar alguns exemplos de midi USB.
Fiação:
Escudo Arduino Host
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V -------------- 1
3,3 V ------------ 9
GND ----------- 3
RST ------------ 4
Neste tópico, também foi mencionado que eles cortaram o cabo de 3,3 V para que o USB pudesse obter 5 V de VBUS.
Esta descrição e as imagens incluídas vieram deste tópico.
Aliás, há um erro na impressão desta placa, então isso foi um pouco confuso, no entanto, você pode ver meu feedback sobre isso (tyrkelko) e onde eu aprendi.
Etapa 3: Chips Anyone? Adicionando SN76489 com Osc de 4MHz. e 595 Shift Register
Agora era hora de adicionar o chip que faz esse som incrível.
Já desenvolvi uma biblioteca para fazer a interface do arduino com este chip e só tive que seguir minhas instruções.
A biblioteca é lançada no github sob GPLv3 (meu primeiro lançamento de código aberto).
github.com/tyrkelko/sn76489
A conexão de 76489 e 595 foi como na imagem incluída, que é capturada do arquivo readme.txt da biblioteca
O Write Enable on Low (NotWE) de 76489 foi conectado com o pino 3 do nano e pode ser alterado no código.
# define PIN_NotWE 3
O 595 foi conectado ao nano da seguinte maneira e também pode ser ajustado editando os números dos pinos:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
O oscilador que usei era um oscilador de cristal de 4 MHz com 4 pernas.
Ele foi configurado no código da seguinte forma e você pode ajustar seu valor para qualquer frequência do oscilador entre 500kHz e 4MHz:
#define FREQUENCY 4000000.0
Conectar o oscilador que usei foi o seguinte:
pino 1 - não conectado
pino 7 - terra
pino 8 - conectado a 76489 pino 14 - relógio osc
Etapa 4: Basta adicionar o código - adicionando as bibliotecas, compilando e enviando o código
As bibliotecas usadas neste projeto precisam ser adicionadas ao Arduino IDE da seguinte forma:
Abra o IDE do Arduino
Baixe as seguintes bibliotecas na pasta de bibliotecas do seu IDE (espero vê-las no menu "Gerenciar bibliotecas …" no menu "Ferramentas" do IDE em breve):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Use o código do seguinte projeto github:
github.com/tyrkelko/usb_midi_tone
Baixe usb_midi_tone.ino, compile e envie para o seu Arduino nano.
Etapa 5: conecte um amplificador e alto-falante, conecte seu teclado USB Midi e teste
Agora é hora de testar se tudo funciona.
Para fazer isso, precisamos:
1. Um amplificador e alto-falante
2. Um teclado midi USB
Conecte SN76489 pino 7, saída de áudio, à entrada de áudio do amplificador.
Ligue o amplificador e, em seguida, ligue o arduino nano. Agora você deve ouvir o som de teste de inicialização por uma fração de segundo.
Conecte o teclado USB midi e teste.
Se tudo funcionar corretamente, você deve ser capaz de tocar 3 tons simultaneamente, e também tocar 8 tipos de ruído e até mesmo um quarto de tom de 24 EDO-Scale.
Se não funcionar, repasse as etapas para ver o que pode ter dado errado.
Se você achar que isso resulta de instruções pouco claras, envie-me uma nota para que eu atualize as instruções para corrigi-lo.
Etapa 6: complete o circuito com um regulador de tensão de 5 V, conector de 12 V, botão liga / desliga e LED de energia
Nesta etapa, você deve ser capaz de encerrar o circuito após testá-lo para que esteja funcionando corretamente.
1. Adicione um regulador de potência com LM7805 e dois capacitores de 10uF e 0,1uF. Existem muitos tutoriais sobre isso, você pode usar o seguinte instrutível para fazer isso -
2. Adicione um conector de alimentação de 12 V com o Vcc passando por um botão liga / desliga
3. Adicione um LED com um resistor de limitação de corrente para indicar quando a alimentação está ligada.
Etapa 7: coloque em uma caixa, pinte e aproveite seu novo sintetizador
Uma vez que o circuito é testado e funciona ao seu gosto, não há muito o que fazer, exceto construir um belo gabinete, pinte-o com cores incríveis e toque um pouco de música.
Espero que você tenha gostado de ler este instrutível e que tenha inspirado você a construir seu próprio sintetizador ou prosseguir com outro projeto em que está trabalhando.
Por favor, comente abaixo com qualquer dúvida e se você construiu algo semelhante com base neste tutorial, seria ótimo se você compartilhasse o que você fez na seção "Eu fiz isso!" área ou na seção de feedback.
Recomendado:
Vamos corrigir um Fitbit Charge 2 juntos. Linhas na tela: 3 etapas
Vamos corrigir um Fitbit Charge 2 juntos. Linhas na tela: cerca de 13 montagens depois de comprar meu primeiro Fitbit, comecei a receber linhas que cruzavam a tela. Todos os dias, outro aparecia às vezes mais de um por dia. Cuidei muito bem do meu Fitbit pensei e não sabia por que começou. uma vez
Vamos construir (sintetizador analógico): 5 etapas
Vamos construir (sintetizador analógico): nesta série, vou mostrar como construir um sintetizador analógico modular básico usando componentes analógicos e digitais. Link para esquemático e componentes: https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Vamos fazer um circuito de interruptor de aplauso: 5 etapas
Vamos fazer um circuito clap switch: o circuito clap switch ou clapper (a versão comercial) é um interruptor ativado por som que liga e desliga uma lâmpada, batendo palmas ou estalando os dedos
Relógio com botão giratório - Vamos adivinhar o tempo: 5 etapas (com imagens)
Thumbwheel Clock - Vamos adivinhar as horas: Olá a todos, aqui está o meu primeiro Instructables, então espero que seja bom. Além disso, meu nível de inglês é muito fraco, então espero não cometer muitos erros! O objetivo deste projeto é reutilizar alguns " Rodas de dedo " resgatado de um antigo laboratório e
Vamos fazer uma bola de cristal mágica com feitiços mágicos! ~ Arduino ~: 9 etapas
Vamos fazer uma bola de cristal mágica com feitiços mágicos! ~ Arduino ~: Neste, vamos fazer uma bola mágica que usa um sensor de movimento e um scanner RFID para controlar as animações das luzes LED dentro