Considerações Iniciais
O esquema descrito no instructables apresenta, para mim, alguns inconvenientes:
- A necessidade de conexão de um PC
- Software do PC com instalação complexa e vários requisitos
- Sub aproveitamento do Arduino
Uma alternativa seria pré-processar o arquivo MIDI e carregar no Arduino os dados já mastigados. É uma alternativa interessante, mas também a descartei por enquanto.
A arquitetura que escolhi foi fazer o processamento do PC em um Raspberry Pi e usar um ATtiny no lugar do Arduino.
Hardware
O meu projeto vai utilizar três unidades de disquete, o que permite tocar até três notas simultaneamente. Supondo manter dois sinais por unidade, são necessárias seis saídas digitais. Se quiser usar o sinal que indica a trilha zero serão necessárias mais três entradas digitais. Isto pode ser obtido com um ATtiny2313 ou ATtiny44. A conexão do ATtiny ao Raspberry será serial; como só é usada a Rx no ATtiny, não deve existir problema em alimentar o ATtiny com 5V (o sinal Tx do Raspberry será no máximo 3.3V). Se este funcionamento não for adequado, é possível alimentar o ATtiny com 3.3V, porém aí o clock tem que ser limitado a 10MHz. O ideal é usar um cristal de 16MHz para termos temporizações equivalentes às do Arduino.
A alimentação será feita por uma fonte velha de PC.
Software
O software para o ATtiny será uma simplificação do código do Moppy para o Arduino. Pretendo manter o mesmo formato de mensagens, porém com uma implementação mais robusta e elegante. Como de costume, o código será em C para o avr-gcc.
O desenvolvimento mais pesado será no lado do Raspberry, onde pretendo desenvolver em C um programa de linha de comando para tocar um arquivo MIDI. Por cima dele pode ser criada, mais para frente, uma camada de interface com o operador.
Pontos Extra
Ainda não sei como isto irá soar, mas pretendo investigar o uso de um ou dois relês como "percussão", aproveitando o estalo que eles produzem quando são ativados ou desativados.
Nenhum comentário:
Postar um comentário