Gerar pulso negativo com base em determinada impedância

Ola pessoal! Sou novo aqui e queria primeiramente agradecer por poder fazer parte deste forum.

Faço alguns trabalhos de eletrônica, dentre eles a modernização de auto rádios antigos, adicionando funções de usb e bluetooth.

Venho aqui pedir a ajuda de vocês para aprimorar o projeto dessa modernização, no que se refere a fazer comandos de volante funcionarem nas funções adaptadas nos rádios. Resumindo, adapto um dispositivo receptor Bluetooth e decodificador mp3 dentro do radio, porém só consigo executar funções de troca de musicas e etc pelas teclas do radio. Quando tem comando de volante, este nao funciona no dispositivo.

O que preciso é de um circuito que reconheça uma impedancia de entrada (cada função gera uma impedância diferente ao pressionar os botões) e, de acordo com essa impedância, o circuito gerar um pulso negativo. Seriam 4 impedancias diferentes de entrada, que teriam que gerar 4 pulsos em saidas diferentes (um para cada impedância), sendo esse pulso direcionado ao botão da determinada função no dispositivo adaptado. Seria como pressionar o botao de aumentar a frequência do fm (que vai gerar uma impedancia) e a saida do circuito que gerar o pulso negativo correspondente ser ligada ao botao de troca de musica no dispositivo mp3. É isso que preciso e não sei como executar.

Alguem pode ajudar?

Cara, eu não entendi direito a forma de funcionamento do controle no volante, poderia me explicar melhor?

Impedância é o mesmo que resistência num sinal de corrente alternada, ou seja, se existe um sinal de corrente alternada constante e passando ele por um resistor a queda de tensão (alternada) muda então a impedância mudou, é isso mesmo que acontece? Faria mais sentido se a amplitude da onda mudasse, e faria ainda mais sentido se a corrente fosse contínua, e não alternada.

Quando ao gerar um pulso negativo, eu acho que o que você quer na verdade é aterrar 4 vias diferentes, ou seja, os 4 botões do mp3 player são naturalmente altas (tem um resistor pullup nelas), e você precisa que elas caiam por um dado momento pra terra, mas não pra uma tensão negativa, estou certo? Se for assim, é fácil, vamos primeiro focar na minha primeira dúvida…

Talvez eu nao tenha me explicado bem… estamos falando somente de corrente contínua… esse é um ponto.

O comando do volante funciona assim. São dois fios. Um terra e o outro é o sinal. Em cada tecla tem um resistor. Ao pressionar a tecla volume, por exemplo, o sinal recebe uma resistência de 1k.

Essa resistência um microcontrolador no radio interpreta e executa a função.

No mp3 player o funcionamento é o mesmo, ou seja, quando aperta um botao gera uma determinada resistência para o microcontrolador, que vai executar a função. No botão do mp3, obviamente sao dois terminais, sendo um deles terra. Ao pressionar, fecha o terra no outro terminal.

Eu quero fazer algo que reconheça as resistencias geradas pelo comando do volante, e que gere um terra no terminal correspondente do mp3. Por exemplo, se gerar 2k de resistencia, da um terra no botão play, 3k aterra o botão proxima musica, e assim por diante…

Ok, agora eu entendi haha
Você tem preferência de fazer isso estritamente em eletrônica ou podemos usar um microcontrolador pra fazer isso?

Se você souber mexer com microcontroladores (pode ser um arduino) será bem mais fácil, se formos fazer por eletrônica envolverá alguns CIs e um pouco de gambi pra não ter que usar um monte de CIs. :wink:

Pode ser por qualquer meio… o que for mais simples e, claro, que eu
consiga por dentro do rádio, kk! Desde ja agradeço a atenção!

Maravilha, então vai no método arduino/microcontrolador que é o mais fácil:

Pra ler a entrada você precisa de um resistor e um conversor analógico/digital (conversor AD).
Você precisa colocar um resistor pull down com uma resistência compatível à do sinal do volante, por exemplo, se o volante emitir um sinal com resistência entre 1000 e 5000ohm um resistor de 1k ou 2.2k ohm está ótimo. Isso vai criar um divisor-de-tensão aonde um lado da resistência é conhecida (nosso pull up de 1kohm), assim toda vez que se aperta um botão no volante ele insere uma resistência de (por ex.) 1kohm a tensão do sinal cairá pela metade. Aconselho você testar esse divisor de tensão com um multimetro e assegurar que em nenhuma hipótese o resultado dele extrapole a tensão do microcontrolador, que provavelmente será 5 ou 3.3v. Supondo 5v, se a resistência oferecida for de 2.2kohm ao invés de 1kohm então a tensão será de aproximadamente 1.56v, se for de 3.3kohm será 1.16v e assim por diante. Quanto mais variada for a tensão resultante desse divisor, melhor!

Feito isso você pode usar o conversor AD do microcontrolador pra ler a tensão do divisor, apenas cuidado que o valor da tensão lida não será constante e bonitinho, ele deve variar uns 5% naturalmente e às vezes a leitura dará um valor totalmente fora da média, como ler 1.2v 7 vezes, mas ler 0.01 uma vez e 4.98vv noutra,

Descoberto como ler os comandos do volante, você pode acionar os botões do mp3 player de forma bem simples: Coloque 4 pinos distintos como alta impedância ( https://www.arduino.cc/en/Tutorial/DigitalPins ), sempre que você quiser acionar algum deles você reconfigura o botão como saída e define o nível como GND/0, voilà!

Agora, pra evitar um potencial curto circuito caso alguém ligue isso de forma errada eu recomendaria colocar um resistor de 100ohm em série entre o pino do microcontrolador e o do botão falso que estamos emulando.