- Componentes necessários:
- Engenharia reversa:
- Explicação de trabalho:
- Conexões de circuito:
- Programa Arduino:
- Usando o Processing para fazer o aplicativo Android:
Neste projeto usaremos um rádio FM existente que foi consertado há muito tempo, para convertê-lo em um Rádio FM Smart Wireless controlado por Phone, com a ajuda de Arduino e Processing.
Podemos converter qualquer dispositivo eletrônico operado manualmente em um dispositivo inteligente usando o mesmo procedimento. Todo dispositivo eletrônico opera com a ajuda de sinais. Esses sinais podem ser em termos de tensões ou correntes. Os sinais podem ser disparados manualmente com a ajuda da interação do usuário diretamente ou com a ajuda de um dispositivo sem fio.
No final deste projeto, seremos capazes de converter a maioria dos nossos dispositivos eletrônicos comuns, como um rádio que funciona em botões, em um dispositivo sem fio inteligente que pode ser controlado por telefone inteligente via Bluetooth. Para conseguir isso, teremos que fazer duas coisas principais.
1. Preveja como os sinais são gerados no sistema de botão mecânico existente.
2. Descubra uma maneira de acionar o mesmo sinal com a ajuda de um pequeno circuito adicional.
Então vamos começar…
Componentes necessários:
Para este projeto, um dispositivo eletrônico antigo ou não utilizado, como rádio, TV, CD player ou home theater, pode ser selecionado. Os componentes reais podem variar de acordo com o dispositivo selecionado. Mas para torná-lo sem fio precisaríamos de um microcontrolador que é um Arduino aqui e um meio sem fio que é um módulo Bluetooth HC-05.
Engenharia reversa:
Ok, agora selecionei um reprodutor de rádio FM antigo que parou de funcionar há muito tempo. E quando o abri, descobri que os botões dele pararam de funcionar. Este será um dispositivo perfeito para trabalharmos porque não precisaremos mais dos botões, pois vamos torná-lo totalmente sem fio. A imagem abaixo mostra o Rádio que abri.
Este foi o botão de configuração do meu rádio (foto acima). Como você pode ver, existem oito botões dos quais o rádio recebe entradas. Você também pode notar que existem oito resistores na placa. O que você pode concluir disso…? Sim, cada resistor está conectado a um switch. Agora vamos dar uma olhada na parte de trás do quadro:
Você pode rastrear a conexão com a ajuda das trilhas do PCB, mas se ainda estiver confuso, pode usar mais o seu milímetro na conectividade e descobrir o circuito. Esta placa possui três terminais (circulados em vermelho) que fornecem sinais para a placa principal do rádio FM. Esses pinos foram marcados como S1, S2 e 1.7V. Isso significa que a tensão constante de 1,7 Volts é enviada da placa principal para esta placa e, conforme o usuário pressiona qualquer botão, haverá uma queda de tensão no resistor correspondente e através dos pinos S1 e S2 uma tensão variável será enviada de volta. É assim que a maioria dos botões em nossos dispositivos eletrônicos funcionam. Agora que descobrimos como funcionava, vamos torná-lo sem fio.
Explicação de trabalho:
Portanto, agora para torná-lo sem fio, só temos que fornecer uma tensão entre 0 - 1,7 V no S1 e aterrar a placa principal. Existem algumas maneiras com as quais você pode imitar a configuração desses botões usando um microcontrolador.
Podemos usar um potenciômetro digital e fazer com que ele forneça a resistência na placa conforme programado e quando necessário. Mas isso tornará as coisas complicadas e caras, pois trabalhar com Digipot requer SPI e Digipots são caros.
Também podemos usar uma rede de resistores de transistor em que cada resistor de diferentes valores é ativado por um transistor que por sua vez é controlado pelo próprio microcontrolador. Mas, novamente, fazer isso com oito botões o circuito ficará complicado.
A maneira simples de fazer isso é gerar diretamente a tensão variável necessária do microcontrolador e alimentá-la aos pinos de sinal. Infelizmente, o Arduino tem apenas ADC e não tem um DAC. Mas, felizmente, temos PWM no Arduino. Este PWM pode ser feito para atuar como uma tensão variável com a ajuda de um filtro passa-baixo RC simples.
Um filtro passa-baixo é mostrado acima, o componente chave aqui é o capacitor que aterrará todo o sinal pulsante e uma CC pura é enviada como saída. Portanto, os sinais PWM do Arduino devem ser enviados por meio de um filtro passa-baixo e, em seguida, enviados para a placa de sinal do rádio FM.
O circuito é fácil de construir em um quadro de pontos, conforme mostrado acima. Aqui, o fio preto é para o aterramento e os fios azul e verde à esquerda serão enviados às nossas placas FM S1 (verde) e S2 (azul), e os fios à direita receberão sinais PWM dos pinos 9 e 10 do Arduino (veja a imagem acima) e passe para a placa FM através de um filtro passa-baixa. O módulo Bluetooth usa os pinos 11 e 12 como Rx e TX.
Agora podemos gerar sinais PWM de 0 volt a 1,7 volt e descobrir como nosso rádio se comporta para diferentes níveis de voltagem. A próxima etapa é tornar essa coisa sem fio.
Conexões de circuito:
Este esquema mostra toda a configuração do filtro passa-baixas e do módulo Bluetooth HC-05 conectado ao Arduino Mega para rádio FM controlado por Bluetooth.
Programa Arduino:
O programa para o Arduino é fornecido na seção Código abaixo. Você também pode testar a faixa de tensão variável para seu dispositivo eletrônico usando este programa aqui.
Antes de começarmos a construir nosso próprio aplicativo Android para nosso rádio, é aconselhável testar o recurso sem fio com a ajuda de um aplicativo Terminal Bluetooth Monitor, conforme mostrado no Vídeo abaixo. Verifique este artigo para configurar o aplicativo de terminal Bluetooth no Arduino. Assim que estivermos confiantes com seu funcionamento, podemos começar a fazer nosso próprio aplicativo Android.
Usando o Processing para fazer o aplicativo Android:
É legal tornar nosso dispositivo sem fio, mas também podemos adicionar um toque pessoal ao nosso dispositivo criando nosso próprio aplicativo Android. Podemos controlar o dispositivo em horários programados automáticos ou controlá-lo com base em seus alarmes de despertar. Você pode até fazer seu rádio tocar sua estação favorita quando chegar em casa. A imaginação é o seu limite aqui. Mas, por enquanto, vamos criar uma interface de usuário simples usando processamento, este aplicativo terá apenas alguns botões com os quais você pode controlar seu rádio FM.
Processing é um software de código aberto usado por artistas para design gráfico. Este software é usado para desenvolver software e aplicativos Android.
O código de processamento para o aplicativo Android para controlar este rádio FM sem fio é fornecido aqui:
- Código de processamento de aplicativo Android para controlar o rádio FM
Primeiro construímos este aplicativo no PC em modo JAVA, para testá-lo corretamente, aqui está o Código de Processamento do mesmo. Clique com o botão direito e clique em 'Salvar link como..' para baixar o arquivo de código. Em seguida, abra o arquivo no software 'Processando' e clique no botão 'Executar' para verificar como ficará no telefone. Você precisa instalar o software 'Processing' para abrir arquivos *.pde.
Depois de testar o aplicativo no modo JAVA, podemos convertê-lo facilmente no modo Android mudando para a guia Android no canto superior direito da janela de processamento. Para fazer nosso Android Phone ligar o Bluetooth e conectar-se ao nosso módulo HC-05 automaticamente, precisamos adicionar os seguintes códigos ao nosso programa Java existente para torná-lo um aplicativo Android. Já fornecemos o código Android completo no link acima, para que você possa usá-lo diretamente.
Abaixo estão alguns arquivos de cabeçalho para habilitar funções Bluetooth:
import android.content.Intent; import android.os.Bundle; import ketai.net.bluetooth. *; import ketai.ui. *; import ketai.net. *; import android.bluetooth.BluetoothAdapter; import android.view.KeyEvent;
As linhas abaixo se comunicam com nosso adaptador Bluetooth de telefones usando a biblioteca Ketai e chamamos nosso adaptador de bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Abaixo, parte do código irá acionar uma solicitação para o usuário, solicitando que ele ligue o Bluetooth na inicialização do aplicativo.
// Para iniciar o BT no início ********* void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = novo KetaiBluetooth (este); } void onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Aqui, instruímos nosso aplicativo Android a qual dispositivo Bluetooth devemos nos conectar. A linha bt.connectToDeviceByName (selection); espere um nome de dispositivo de nossa função de configuração. Uma vez que nosso dispositivo Bluetooth é nomeado como 'HC-05', a linha abaixo é adicionada na configuração. Este nome será diferente com base no nome dos seus módulos Bluetooth.
// Para selecionar o dispositivo bluetooth ********** void onKetaiListSelection (KetaiList klist) {String selection = klist.getSelection (); bt.connectToDeviceByName (seleção); // descarte a lista por enquanto klist = null; } // **********
bt.connectToDeviceByName ("HC-05");
Você pode fazer essas alterações no Código de processamento para PC (modo Java) ou pode usar diretamente nosso código de processamento Android fornecido no link acima. Em seguida, conecte diretamente o telefone ao laptop usando o cabo de dados e habilite a depuração USB no telefone. Agora clique no botão Play na janela de processamento do PC, o aplicativo será instalado diretamente no seu telefone Android e será iniciado automaticamente. É tão fácil, então vá em frente e experimente.
A imagem abaixo representa nossa IU do aplicativo Android junto com sua janela de codificação. Confira o vídeo para entender e executar o código no telefone Android, bem como no computador.
É isso que transformamos nosso antigo rádio FM em um moderno gadget sem fio que pode ser controlado por nosso aplicativo Android. Espero que isso ajude as pessoas a começarem a trabalhar, mas se você precisar de alguma orientação, como sempre, pode usar a seção de comentários e ficaremos felizes em ajudá-lo.