Neste post, veremos como criar um aplicativo customizado para os nossos projetos com Arduino, que pode ser instalado em qualquer dispositivo Android. Para isso, utilizaremos a plataforma MIT App Inventor 2 para criar um app que altera o estado do LED de um Arduino.
O que é o MIT App Inventor?
É uma plataforma de código aberto, desenvolvida pela Google e mantida pelo MIT. Permite a criação de aplicativos para o sistema operacional Android utilizando uma linguagem de programação gráfica. Pode ser facilmente utilizado por pessoas com pouco conhecimento de programação possuindo ampla documentação e diversos tutoriais disponíveis online.
Material necessário
Para seguir o passo a passo apresentado nesse post, serão necessários os seguintes componentes:
Primeiros Passos com o App Inventor
1.Acesse este link e entre com sua conta Google.
2. Clique em Start a Blank Project para criar o seu primeiro projeto.
3. Dê um nome para o seu projeto e clique em OK.
4. Agora vamos adicionar um seletor de dispositivos Bluetooth e um botão ao nosso projeto para alterar o estado do LED no nosso Arduino. Em User Interface, se encontram os meios de interação do usuário com o aplicativo. Nessa aba, arraste ListPicker e Button para a simulação de tela de celular.

5. Na aba Connectivity, estão os meios de comunicação do App com outros dispositivos e aplicações. Arraste BluetoothClient para tela de celular para habilitar a comunicação com o módulo Bluetooth conectado ao Arduino.
6. Clique em Blocks, no canto superior direito da tela para iniciar a programação do Aplicativo.
7. Agora, vamos adicionar os dispositivos Bluetooth encontrados pelo celular à lista de dispositivos. Para isso, selecionamos ListPicker1 e arrastamos o bloco BeforePicking – nele estarão contidas as ações que serão executadas logo quando o App for executado – e AfterPicking – nele estão as ações a serem executadas após o usuário selecionar um item da lista.
8. Dentro de BeforePicking arrastamos o bloco Set ListPicker1 .Elements.
9. Agora, dentro do componente BluetoothClient, arrastamos o bloco AddressesAndNames ao lado Elements conforme mostrado na imagem para definir os elementos da lista como o nome dos dispositivos Bluetooth.
10. Adicionaremos um bloco if de Control dentro de After Picking.
11. Adicionaremos o bloco Connect address de BluetoothClient ao bloco if para conectar a um dispositivo Bluetooth.
12. Agora, adicionamos o bloco Selection de ListPicker para informar ao componente Bluetooth qual dispositivo conectar.
13. Adicionamos o bloco SendText de BluetoothClient para enviar o texto para o módulo Bluetooth conectado ao Arduino.
14. Arrastamos o bloco de text para definir o texto que desejamos enviar para o módulo. Esse texto vai depender da lógica implementada no código do Arduino. Para esse exemplo, enviaremos o comando “12345”.
15. Adicionamos o bloco Click do componente Button1 e, dentro dele, colocamos os blocos para enviar o comando por Bluetooth novamente assim como fizemos nos passos 13 e 14.
16. Está finalizada a programação do aplicativo! Basta clicar em Build na barra superior e selecionar App (provide QR code for .apk). Assim que o QR code aparecer na tela, escaneie o código com seu celular e instale o App.
Montagem do circuito
Para montagem desse circuito, basta conectar os pinos do Módulo Bluetooth da seguinte forma:
- VCC → 5V do Arudino
- GND → GND do Arduno
- TXD → Pino D10 do Arduino
- RXD → Conectado a dois resistores que, por sua vez, estão conectados um ao GND e outro ao Pino D12 do Arduino
Precisamos conectar um divisor de tensão ao pino RX do módulo bluetooth, pois esse trabalha com níveis lógicos de 3,3V, enquanto o Arduino tem níveis de 5V. O último passo é opcional, somente necessário em projetos onde desejamos enviar dados do Arduino para outro dispositivo.
Código
O módulo Bluetooth HC-05 envia os dados recebidos por ele ao Arduino como texto via comunicação Serial. Utilizaremos a biblioteca SoftwareSerial para usar os pinos D10 e D12, respectivamente, como RX e TX da comunicação serial com o módulo. Essa biblioteca permite que o módulo permaneça conectado durante a gravação de um novo sketch no Arduino.
No código abaixo, basta definir o comando esperado e o seu tamanho. Nesse caso, o comando é “12345” e o tamanho é 5.
/* #------------------------# | Bluetoth APP | | | | Ítalo Coelho | #------------------------# */ #include <SoftwareSerial.h> //Parâmetros de Configuração---------------------- #define Command_1 "12345" //Comando Esperado #define Command_Size 5 //Tamanho do Comando SoftwareSerial bluetooth( 10, 12); // RX, TX void setup() { //Define o pino do LED interno como saída pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); //Inicializa a comunicação com o módulo HC-05 bluetooth.begin(9600); //Inicializa a comunicação serial padrão Serial.begin(9600); } void loop() { static bool state = false; static String command = ""; if(bluetooth.available()) //Módulo recebeu dados { command += char(bluetooth.read()); delay(50); } if(command.length() == Command_Size) { Serial.println(command); if(command == Command_1) //Comando recebido é igual ao comando esperado { state = !state; digitalWrite(LED_BUILTIN, state); //Muda o estado do LED interno } command = ""; } }
Conclusão
Com o circuito montado e o código carregado no Arduino, basta abrir o App e clicar no botão de cima para selecionar o módulo Bluetooth na lista de dispositivos e, depois, clicar no botão de baixo para alterar o estado do LED do Arduino.
A partir de agora, as possibilidades de customização são infinitas. Você pode adicionar mais botões, imagens, caixas de textos e muitos outros componentes já disponíveis no MIT App Inventor, simplesmente arrastando eles para a tela do celular e implementando a lógica de funcionamento na aba design.
Gostou de aprender a fazer um aplicativo para o seu projeto com Arduino?
Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.