Projeto com Arduino

Started by designermx2, 09 de November de 2012, as 16:14:20

Previous topic - Next topic

designermx2

Guest
Logged
Pessoal, boa tarde...

Estou a um tempo matutando a idéia de criar um looper, o problema é que não quero um looper de 60 ou 120 segundos, mas um como o RC-2 da Boss, no entanto um pouco melhorado. Andei vendo várias coisas na net e vi um projeto que me interessou: http://arduino-guitarlooper.blogspot.com.br/2009/10/introduction-here-how-to-produce-small.html

Partindo daí, vi que era possível ter um audio bacana (e não um midi tosco) com o arduino e comecei a viajar na idéia:

Arduíno + SD + Tela =  super looper: http://www.ebay.com/itm/SainSmart-3-2-TFT-LCD-Module-Touch-Panel-PCB-adapter-SD-Reader-for-Arduino-2560-/251095556218?pt=LH_DefaultDomain_0&hash=item3a7676207a


Alguém tem conhecimento suficiente no arduino para me tirar umas dúvidas?

Quero que assim que ele acabar de gravar, ele coloque na tela o tempo da gravação, faixa e a bateria utilizada, quero que ele inicie imediatamente após acabar de gravar, mas não sei se ele vai conseguir, porque vi que a memória dele é bem limitada. Deixa eu explanar a idéia:

No SD eu teria 3 pastas inicialmente: Drums , libs e tracks

Com controles eu escolheria qual o arquivo de bateria ele iria reproduzir, qual o tempo de reprodução, se queria ativar metrônomo ou não (caso não queira bateria) e qual a faixa que eu utilizaria (pensei em deixar fixo em até 30 faixas).

Ele tocaria a bateria ou metrônomo na medida em que também gravava, ele suportaria isso?
Após pisar em Stop, ele iria gravar em um arquivo de textos as variáveis de quais as tracks estariam gravadas, quais eram os parâmetros de cada música como tempo , velocidade, metrônomo e coisas do tipo.
Assim que ele gravasse, ele iria reproduzir o som, permitindo alterar a velocidade, tipo de bateria, ativar ou desativar metrônomo, volume de bateria, volume da música (que já estaria sendo executada).


Acham que ele faria isso? Pergunto isso porque vi que existe agora um sistema operacional para ele, inclusive e virou até palm:

http://www.skewworks.com/pyxis/

Eles tem até plataforma de desenvolvimento e funciona com touch screen (que eu não iria usar tanto assim).



xformer

Administrator
******
DIY Freak
Posts: 6,393
e^(i x pi)+1=0
Logged
Acho que você precisaria usar um DSP (digital signal processor). Um arduino é apenas um microcontrolador AVR (ATMEGA) numa placa com o hardware mínimo pra funcionar e soquetes para I/O.  Não sei se a velocidade dele é suficiente pra processar sinais analógicos digitalizados e gravar os arquivos e depois reproduzi-los sem um conversor DA.  No projeto que você postou, eu entendi que ele apenas controla os outros equipamentos.

Pra aprender sobre o Arduino, seus diversos modelos e como usá-lo, um bom livro:  Arduino Internals - Dale Wheat.
O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.

designermx2

Guest
Logged
O que me fez pensar no projeto foi essa gravação que achei o som até aceitável (mesmo considerando que houve perda com microfone da câmera e etc).

http://www.youtube.com/watch?v=C5Pd2MAwsBI

CamiloM

Guest
Logged
Pelo que eu entendi lendo a página do projeto mostrado no video o pedal seria apenas um controlador, o som seria processado no computador.

hgamal

*****
Hand MasterMind
Posts: 3,986
Logged
Quote from: CamiloM on 11 de November de 2012, as 03:29:40
Pelo que eu entendi lendo a página do projeto mostrado no video o pedal seria apenas um controlador, o som seria processado no computador.

É o que eu entendi também!
Deus salva... e o Rock alivia! Ainda está em tempo do Rock 'n' Roll te salvar

Alex Frias

******
DIY Freak
Posts: 7,597
Flanelinhas, cuidado!!!
Logged
Também!!!
"TicoTicoCá, TicoTicoLá..."
Pagão e feliz!!

designermx2

Guest
Logged
Sim, mas a idéia seria utilizar o cartão de memória para armazenar os dados de áudio (inclusive bateria) e utilizar as bibliotecas de audio com o shield audio do arduino.

http://arduino.cc/blog/category/audio/


Shild:

http://hackedgadgets.com/wp-content/2/arduino_voice_shield.jpg


Alguém conhece bem o arduíno e saberia dizer se dava para fazer isso? Meu objetivo era fazer algo como o Looper da line6, onde você tem um cartão externo e apenas troca o cartão, arquiva as músicas, etc... nada tão preso como o RC-2 e afins.

Ou o arduino e seus módulos ainda assim não seriam capazes de fazer algo assim?

Dexter

Guest
Logged
Quote from: designermx2 on 12 de November de 2012, as 09:11:13
Ou o arduino e seus módulos ainda assim não seriam capazes de fazer algo assim?

Penso que você mesmo possa responder essa pergunta. Utilize um ADC do Arduino para uma entrada de sinal analógico amplificado e um conversor DAC em uma porta disponível (há métodos simples de conversores pela net). Faça um programa que converta o sinal analógico em digital e envia o dado para a saída da porta onde está o DAC, grave o sinal analógico que sai do DAC (veja a possibilidade de utilizar um atenuador) no Arduino e verifique a qualidade.

Com o Arduino é possível fazer a gravação em cartões SD.

PS.: Procure o Datasheet do Atmega328, ele informa as limitações do ADC.

felfoldi

Guest
Logged
Melhor do que os shields do arduino são os módulos de mp3, como por exemplo o TDR025, da Tenda Electronics ...
São 100% compatíveis com o Arduino, e dá pra fazer muita coisa, como gravar, reproduzir, e escolher a faixa desejada para a reprodução, tudo isso com comunicação serial entre atmega e módulo. Resta saber se a qualidade de gravação seria legal para nossa aplicação.

designermx2

Guest
Logged
Então Dexter, este que é o lance. Nunca nem peguei na placa do Arduino. Vi nas especificações que a memória dele é relativamente pequena se comparado aos programas que faço aqui, mas se tratando de c++, assembler, acho que dá pra fazer muita coisa com 240kb de espaço. Mas vi que tem memória interna pequena e outras limitações e o que eu gostaria mesmo era de comprar o que realmente desse para trabalhar. Já pensou eu comprar os módulos errados e investir $100,00 e não prestar para nada? Já eram as válvulas de um amp pequeno.


Felfoldi
Eu estava olhando essa placa, mas não manjo nada ainda de Arduino. Eu ia me aventurar um pouco com ele e estava olhando essa placa https://shop.ruggedcircuits.com/index.php?main_page=product_info&cPath=4&products_id=58

Serviria? Ou olhar agora essa TDR025.

Não precisaria ser qualidade de Studio (inicialmente), mas que agente tivesse um som compactado que também não soasse como um midi ou um telefone tocando algo, entende?

Algo que não te fizesse passar vergonha num ensaio mostrando: Olha o que eu gravei aqui...

Dexter

Guest
Logged
Com este shield a um processamento de áudio de 44,1 kHz dá pra fazer coisa "pra Caramba"! Se estiver na dúvida, procure aprender mais sobre o Arduino até se sentir seguro em adquirir o shield sugerido. O próprio fabricante sugere trechos de código para para programação de algumas funções.

[spoiler]http://ruggedcircuits.com/html/rugged_audio_shield.html[/spoiler]

designermx2

Guest
Logged
Quote from: Dexter on 12 de November de 2012, as 18:21:17
Com este shield a um processamento de áudio de 44,1 kHz dá pra fazer coisa "pra Caramba"! Se estiver na dúvida, procure aprender mais sobre o Arduino até se sentir seguro em adquirir o shield sugerido. O próprio fabricante sugere trechos de código para para programação de algumas funções.

[spoiler]http://ruggedcircuits.com/html/rugged_audio_shield.html[/spoiler]

Então existe a possibilidade de se fazer um looper com o arduíno e um shild desses com o cartão de memória, correto? Vou estudar! Pretendo construir um ou iniciar o projeto até o meu aniversário (julho do ano seguinte), sendo assim, quando eu pagar minhas dívidas (não todas porque senão não compro nunca _), vou comprar o arduíno e o módulo. Será que comprando eles no ebay fica retido? Sei que o melhor pedido de compras é em dezembro porque em dezembro e janeiro o pessoal daqui tá de férias e passa mais fácil, já que o volume é maior. Mas terei que esperar.

Se alguém que tiver o arduíno e os módulos quiser já conversar para agente seguir uma linha, posso ajudar com a programação, idéia, estruturação de agora. Só os testes que não dariam (a menos que haja um simulador. Existe?). Fala por PVT, ok?

Abraços e até daqui a um tempinho.

felfoldi

Guest
Logged
Tenho um módulo TDB380, foi justamente para fazer estes experimentos... Mas ele só reproduz, não grava. Mas é da mesma familia do outro TDB, é só mandar um código serial na porta dele que ele faz o que pede, não tem mistério; se pretende iniciar com o arduino, sugiro que comece com experimentos mais simples para evitar de queimar o módulo ou o próprio arduino. Outra dica é fazer seu próprio arduino , como no link abaixo :
http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3

A preocupação que tenho com esses módulos seria a qualidade de gravação e também a velocidade com que o audio começa a ser reproduzido... Como faz um tempinho que já brinquei com esse módulo, não me lembro se tinha um "delay" antes da reprodução

designermx2

Guest
Logged
#13
Estou começando a programar no simulador. Assim saberei se vou queimar ou não. _

Pretendo fazer ele ler e gravar e vou estudar mais um pouco, mas pelo que olhei, aquele módulo permite gravar (a biblioteca dele pelo menos tem a função write() ).

Meu medo é que o código fique tão grande que não dê para colocar dentro do arduino. Por isso que queria ajuda dos colegas. Vou utilizar no projeto desde o início a interface ADC -DAC , o cartão SD e o visor. Lógico que vou começar a passos curtos, mas quero já que no primeiro momento eu tenha como escolher o que fazer (no visor mostra opção de gravar ou apagar o que foi tocado), reduzir tempo do metrônomo ou bateria e tempo restante para gravação(este será bem depois). também quero ver se há possibilidade de mixar a reprodução, coisa que já acho que ele não seja capaz... mas se alguém souber.... A mixagem vai ser para tocar a bateria no tempo que foi configurado junto com o arquivo que foi gravado em mp3 ou wav da guitarra, baixo e afins...

-----

Só duas coisas que esqueci de perguntar...

1- O ATMega precisa ser gravado antes em PIC ou na hora que coloco ele no pc, a gravação é justamente o bootloader e o código que vou enviar?

2 - Outra coisa. Utilizo um notebook desses novos. Não tem mais porta serial e nem paralela. Será que com aqueles adaptadores USB/Serial ele funcionaria? Gostei dessa de fazer o arduino, mas acho que ele não vai aguentar tudo isso que foi colocado. Primeiro pela quantidades de pinos de entrada e saída. Como são dois shilds, acho que não vai dar... segundo pelo tamanho que o código vai ficar. Mas mesmo assim estou pensando em fazer e ir aprendendo natoralmente... _

De qualquer forma, estou com simuladores aqui.

felfoldi

Guest
Logged
Eu, particularmente, não utilizo o Arduíno em si, apenas uso a interface de programação dele.
Trabalho com projetos sempre com STAND-ALONE (seria o mínimo possivel, o Atmega, cristal,uns 3 ou 4 capacitores e o regulador 7805 ). Isso reduz o espaço físico na placa, reduz o custo (já que um arduino não é nada barato).
A única coisa que você precisa é de um GRAVADOR (já adianto que utilizando adaptadores de USB>SERIAL não funciona legal).Você pode comprar um , ou faze-lo. Eu fiz um versão serial, funciona 100% , quando eu achar o link eu posto aqui. Existem alguns q são USB também.
Ai, utilizo a interface do arduino e após a conclusão do projeto, retiro o arquivo .HEX , abro com o programa chamado Ponyprog, e gravo o arquivo no Atmega. Depois disso, está feito, é só correr pro abraço.

Com esse processo acima, você 'esquece' do chamado bootloader, já que você não gravará o código através da interface do arduino, e sim através do ponyprog .

A interface do arduino comporta o Atmega8 , Atmega168 e Atmega328, ai você escolhe de acordo com o tamanho do seu código fonte.
Quanto ao visor, a interface do arduino tem uma biblioteca muito facil de utilizar, tudo pronto para uso.

Se utilizar aqueles shields tipo os TDB , as unicas ligaçoes que fará no arduino (ou placa stand alone) será entre TX e RX, já que eles se comunicam via serial, já que até as funções "play, stop, rec" podem ser controladas por este metodo.

Estou quase pegando a causa para fazer  :D fiquei com vontade do projeto.