Módulo de som de motor diesel para automodelismo RC

Olá pessoal, sou um apaixonado pelo mundo do automodelismo radio controlado (RC). Desde que entrei nesse mundo, vira e mexe, eu me esbarrei no arduino como uma forma de completar funções dos carrinhos. Sendo assim meu interesse nessa plataforma nasceu quando percebi que poderia fazer muitas coisas com o arduino para tornar o RC mais apaixonante. Contudo, sou médico, e minha formação acadêmica não tem nada a ver com tecnologia. Apesar disso, tenho me esforçado para aprender a mexer no arduino, mas ainda não entendo muita coisa. Por isso venho pedir a vocês alguma ajuda com um projeto.

Os carrinhos que controlo são elétricos e do tipo Escala, ou seja, eles tentam ao máximo representar carros de verdade. Uma das coisas legais que dá para colocar nos carrinhos é um módulo de som que imita o som do motor. Isso traz muito realismo para os carrinhos e deixa a brincadeira mais divertida. Vejam como fica legal isso:

No mercado internacional já existem algumas opções, não em arduino, de módulos de som que imitam motores, alguns até possuem embutido módulos para controle de LEDs e de sistema de fumaça, mas eles são extremamente caras para nós brasileiros, como sempre, né?!?!. Confiram algumas delas:
http://benedini.de/ (Para mim este é o melhor. Possui um som muito bom, sendo totalmente customizável por software, e comporta um controlador de fumaça a parte, mas é caro).
http://www.beier-electronic.de/ (Muito bom também, mas muito caro).
http://www.modelsoundsinc.com/ (Mesma coisa do de cima).
https://www.tamiyausa.com/product/item.php?product-id=56511 (Não é tão bom, pois não é customizável, apresenta embutido um controlador de LEDs, mas é extremamente caro. Muito caro mesmo!).
http://www.technobotsonline.com/light-and-sound-effects/model-engine-sound-effects.html (Até que é baratinho, mas o som não é bom o suficiente).
http://www.ramrcandramtrack.com/ (Bem barato, mas o som é uma porcaria).

Como podem perceber, nós brazukas ficamos presos a soluções internacionais muito caras, muitas vezes até inviáveis. Por isso peço a ajuda de vocês na construção de um módulo de som com base no arduino para simular motores para o mundo do RC Escala. Inclusive, ainda com a ajuda vocês, pretendo construir um bom tutorial, mostrando passo a passo, como construir tal módulo, para que todos nós brazukas consigamos ter de maneira acessível esse complemento para o RC Escala. Inclusive pretendo comprar todas as peças na dealextreme, já que lá é barato e muita gente já sabe como comprar...

Pesquisando na internet se já havia tal módulo de som em arduino, encontrei alguém já havia feito algo parecido. Confiram:

Contudo o cara não quer compartilhar como fez isso com o arduino. Pra variar, né?
Tudo o que consegui obter do projeto dele é o que está na descrição do vídeo, ou seja, que ele usou o arduino nano com um AD converter e um amplificador. Mas, como não conheço muito o arduino, não imagino como posso dar seguimento a partir daqui...

Portanto espero a ajuda da comunidade de arduino brasileira para que consigamos efetivar esse projeto.

Desde já muito grato!

Renato.

Não ouvi o barulho, logo não sei se ele terá usado um módulo MP3 para repetir um som, ou se fez uma modulação num pino e varia o "som" consoante o comando que é enviado.

Muito legal! O som varia conforme a velocidade.

Você encontrou os arquivos mp3 com o áudio dos motores? Será que é um mp3 pra cada rotação ou é o mesmo acelerado?

E os comandos de seta, luzes e fumaça são enviados pelo controle remoto? No receptor, dá prá ligar o Arduino ou vai usar um módulo RF pra acioná-lo diretamente? Qual é a frequencia que usa e existe um módulo RF pronto pra arduino na mesma frequencia?

Quantos volts carro usa?

bubulindo:
Não ouvi o barulho, logo não sei se ele terá usado um módulo MP3 para repetir um som, ou se fez uma modulação num pino e varia o "som" consoante o comando que é enviado.

Rapaz, acho que te entendi e pela descrição do cara ele não usou mp3 ou wave para originar o som. Pelo que eu entendi ele fez tudo por programação/linha de comando. Confira:
The sound module is much more than just a sound generator - it is a real-time V8 engine simulator. It does not use engine samples, as commercially available sound modules do, but it simulates every cylinder and its corresponding sound. The sound is also mixed with a ventilator sound, that is so characteristic for air-cooled Tatra vehicles. This gives me the opportunity to create realistic sound for almost any situation of the real vehicle - any revolutions, any amount of throttle, engine braking, even realistic downshift with throttle.
Hardware: Arduino Nano with an AD converter and an amplifier
Software: completely developed by me - a real-time simulator of Tatra 108 air cooled V8 engine + virtual gearbox with 5+1 gears.
A única coisa que o cara fala sobre o assunto é isso daí acima, não achei mais nada em nenhum lugar...
Será que é possível? To considerando a hipótese de que o cara deu um miguézão, pois fazer isso de uma maneira tão completa assim, simulando cilindro por cilindro do motor, engrenagens, etc. parece ser muito perfeito pra ser verdade...

Lago:
Muito legal! O som varia conforme a velocidade.

Você encontrou os arquivos mp3 com o áudio dos motores? Será que é um mp3 pra cada rotação ou é o mesmo acelerado?

E os comandos de seta, luzes e fumaça são enviados pelo controle remoto? No receptor, dá prá ligar o Arduino ou vai usar um módulo RF pra acioná-lo diretamente? Qual é a frequencia que usa e existe um módulo RF pronto pra arduino na mesma frequencia?

Quantos volts carro usa?

Olá, segundo falei acima, o cara relatou que não usa mp3 ou wave para gerar os sons, portanto deve ser tudo por linha de comando. Então, no RC os módulos disponíveis a venda usam o switch do rádio de aceleração/desaceleração/ré para aumentar/diminuir a frequência, fazendo o motor acelerar, desacelerar e/ou dar ré. Os leds dos faróis você pode configurar para acenderem com um switch próprio no controle. Os piscas são relacionados ao switch de virar a roda do carrinho. Dê uma conferida nesse módulo somente de controle de leds para RC:
http://www.rc-mushroom.com/dsc/attached/image/20121206/20121206125022_70050.jpg
Eu acredito que teria que ligar o arduino no receptor do rádio do carrinho, fazendo algo do tipo com que o módulo do benedini faz: http://benedini.de/Home_E/Products_E/TBSMini_7_E.pdf
Os receptores geralmente trabalham a 6V. Mas daria para usar uma bateria própria para o arduino se necessitasse, não?

EDIT: tradução da página do cara: The domain name TatraPortal.com is for sale | Dan.com

Olá!

No ano passado eu estava brincando com o arduino e tanques que que "batalham" pro infravermelho, esses tanques emitem som de tiro e do funcionamento do motor. Procurando pela net encontrei este tópico do Paulware: IR Battle Tanks - Robotics - Arduino Forum

Ele criou um site no atmega com muitas coisas, lá tem os fontes que ele usou pra o tank (que parece reproduzir os sons). Dentro dos fontes encontrei referências para os sons usando a lib Tone.

Vá ao link IR Battle Tanks - Robotics - Arduino Forum, procure por "IR Battle Tank Project" baixe o arquivo nRF24L01RelayIR.zip e veja no IR_RFa.cpp o método sendSound.

Pode ser uma boa trocar ideias com o Paulware, ele é gente boa! :wink:

Não cheguei a testar nada, pois tenho tido um sério problema com a falta de tempo, mas esse pode ser um ponto de partida.

Até mais!

Mortis:
Olá!

No ano passado eu estava brincando com o arduino e tanques que que "batalham" pro infravermelho, esses tanques emitem som de tiro e do funcionamento do motor. Procurando pela net encontrei este tópico do Paulware: IR Battle Tanks - Robotics - Arduino Forum

Ele criou um site no atmega com muitas coisas, lá tem os fontes que ele usou pra o tank (que parece reproduzir os sons). Dentro dos fontes encontrei referências para os sons usando a lib Tone.

Vá ao link IR Battle Tanks - Robotics - Arduino Forum, procure por "IR Battle Tank Project" baixe o arquivo nRF24L01RelayIR.zip e veja no IR_RFa.cpp o método sendSound.

Pode ser uma boa trocar ideias com o Paulware, ele é gente boa! :wink:

Não cheguei a testar nada, pois tenho tido um sério problema com a falta de tempo, mas esse pode ser um ponto de partida.

Até mais!

Olá amigo, valeu pela dica, mas se não me engano esse módulo de som já vem com o tanque. Acredito que ele simplesmente fez a parte de IR mesmo... Em todo caso muito obrigado pelo interesse e colaboração!

EDIT: pessoal, achei o tópico onde o cara descreve o desenvolvimento do carrinho dele. Ele não conta muita coisa sobre o módulo de som, pois pelo que eu entendi ele está querendo fazer para vender... Mais um módulo caro no mercado!! hahahahaha Em todo caso, pode nos guiar a achar alguma solução parecida:
http://translate.google.com.br/translate?hl=pt-BR&sl=cs&tl=en&u=http%3A%2F%2Fforum.rctrucktrial.cz%2Fviewtopic.php%3Ff%3D28%26t%3D377%26sid%3D2122a921df4d787b71ce733fd598d710%26start%3D140
http://tatraportal.com/drracer/t130/20130314_233923.jpg
http://tatraportal.com/drracer/t130/20130314_233946.jpg
http://tatraportal.com/drracer/t130/P4270690.jpg
http://tatraportal.com/drracer/t130/P4250187.jpg
http://tatraportal.com/drracer/t130/P4250181.jpg
Ah, ele fala que a som é mesmo inteiramente simulado por software, não tendo nenhuma base mp3/wave e que ele usou um tal de PWN:
From a technical point of view this is a very simple hardware - Arduino Nano with AD converter and amplifier - at today's level of integrated circuits very simple. Hardware I bought apospojoval. So far it Tatra riding the back of the box, the target solution will be much greater than Arduino Nano itself.
After the software is much more interesting, but the implementation details I will leave as a trade secret, but you should know that from the first idea to the realization of this prototype passed a year and a half and it completely on my work (all I had conceived, programmed and odladil) only with the use of library functions to control servos from the Arduino .. Do speaker goes 16bit 11kHz audio created in real-time software simulator engine. The input is a PWM (pulse width modulation) "gas" and "shift" from the receiver. The output of the PWM controller to the engine and the sound of the speaker, that's all.

Ele lê a velocidade pela tensão aplicada no motor, pelo que eu entendi e produz o som usando PWM:

http://playground.arduino.cc/Code/PCMAudio

A treta é criar o som de motor!!

Veja isto:

isso poderá não ser assim tão complexo....

8 cilindros que batem a uma dada frequência, darão uma frequência 8 vezes maior. alguém quer tenatr fdazer algo que pareça com um renbentamento de gasolina no pistão?

Lago:
Ele lê a velocidade pela tensão aplicada no motor, pelo que eu entendi e produz o som usando PWM:
http://www.arduino.cc/en/Tutorial/PlayMelody
Arduino Playground - PCMAudio

A treta é criar o som de motor!!

Veja isto:
http://www.best-microcontroller-projects.com/diesel-engine-sound-simulation-for-model-train.html
PIC sound player (PCM to PWM converter) | Enide!

Hum... Acho que entendi agora esse lance de PWM. Lago, talvez ele leia a variação da tensão do canal de aceleração do receptor, fazendo um caminho assim: o cara acelera no controle, o comando passa para o receptor, vai para o arduino, sai do arduino, vai para o ESC (controlador do motor), sai do ESC vai para o motor...

Pois é. Deve ser complicado criar esse som dessa maneira. Continuo abaixo...

bubulindo:
isso poderá não ser assim tão complexo....

8 cilindros que batem a uma dada frequência, darão uma frequência 8 vezes maior. alguém quer tenatr fdazer algo que pareça com um renbentamento de gasolina no pistão?

bubulindo, se eu entendi certo o que você quis dizer, na verdade a frequência dos pistões numa dada "aceleração" é a mesma, a diferença é o tempo em que cada cilindro trabalha um em relação ao outro, o que produz o som característico trec-trec-trec... A frequência só mudaria se existir aceleração ou desaceleração. Confira:

Esse PWM pode emitir mais de uma leitura consecutiva de comandos?
Tipo assim, estou imaginando que o cara fez uma linha/arquivo (.h ?) com especificações para o som do motor, outra para o turbo, outra das engrenagens da transmissão e quem sabe até outra para o freio. Daí, ele sincroniza todas as linhas/arquivos e faz os mesmos variarem a frequência com a aceleração/desaceleração. Correto? Falei besteira? Cara, preciso aprender C!!!! hahahahah

Alguém consegue fazer um teste aí? Desafiador esse projeto, hein!