Controlando o Arduino por app no Android

Controlando o Arduino por app no Android 2

Em muitos projetos precisamos de uma interface para a comunicação com o Arduino. Utilizar um celular como modo de controle do projeto pode ser extremamente interessante considerando que já o levamos conosco o tempo todo. Contudo, realizar a integração do smartphone com o Arduino pode ser um pouco intimidador. Para facilitar essa tarefa, mostraremos neste post como utilizar a plataforma Blynk, assim você poderá sair controlando o Arduino por app no Android!

O que é o Blynk app?

O aplicativo Blynk tem como objetivo facilitar a criação de aplicativos de controle para dispositivos. Ele disponibiliza uma plataforma de Internet das Coisas que pode ser utilizada pelos makers para criação de projetos ou até mesmo por empresas para desenvolvimento de produtos e controle de produção. Além de possuir uma interface gráfica extremamente intuitiva para criação dos apps, o Blynk possui uma biblioteca para o Arduino extremamente simples de ser utilizada e exige pouco conhecimento de programação. O app pode ser facilmente utilizado para controlar Raspberry Pi, Arduinos e placas de desenvolvimento baseadas no ESP8266 e ESP32 através do Bluetooth ou Wifi.

Primeiros passos com o Blynk app

Neste post, veremos como controlar um LED RGB para exemplificar algumas das funcionalidades do aplicativo. 

O primeiro passo para utilização do Blynk é baixar o app na Google Play Store ou através deste link. Com o aplicativo em mãos, basta seguir os passos para criação de uma nova conta – que consiste apenas em fornecer seu email e definir uma senha. Feito isso, basta seguir os passos abaixo para criar um novo projeto.

1 – No menu inicial do aplicativo, clique em New Project para criar um projeto.

2 – Depois, dê um nome para o seu projeto. Nesta etapa definimos o tipo de dispositivo que iremos controlar e o método de conexão que utilizaremos para comunicação entre o dispositivo e o celular. Para o exemplo mostrado neste post, clique em Choose Device e selecione Arduino Nano. Depois, clique em Connection Type e escolha Bluetooth. Para finalizar a criação do projeto clique em Create. Nesse momento será enviado um email com um token único deste projeto.

Circuito: Arduino e Blynk App 

Para montar nosso circuito de teste utilizaremos os seguintes componentes:

 

 

As conexões necessárias estão detalhadas na tabela abaixo. O módulo Bluetooth exige um divisor de tensão na sua porta RX, utilizaremos as portas digitais 10 e 12 do Arduino como RX e TX respectivamente para comunicação Serial com o módulo. Os pinos vermelho, verde e azul do LED RGB são conectados às portas PWM 3, 5 e 6 do Arduino através de um resistor de 220Ω e o pino mais comprido (anodo) conectado ao 5V.

 

ArduinoHC-05LEDResistor 1Resistor 2Resistor 3Resistor 4Resistor 5
GNDGNDTerminal 1
5VVCCPositivo
D10TX
RXTerminal 2Terminal 2
D12Terminal 1
D3Terminal 1
D5Terminal 1
D6Terminal

1

RedTerminal 2
GreenTerminal 2
BlueTerminal 2

Código: Arduino e Blynk App

O código é extremamente simples e exige apenas a instalação da biblioteca Blynk através do Gerenciador de Bibliotecas da Arduino IDE ou do link. Antes de carregar o código é necessário adicionar o token do projeto recebido no seu email.

/*
#-------------------------#
|         RGB LED         |
|        BLUETOOTH        |
|      Ítalo  Coelho      |
#-------------------------#
*/
 
#include <SoftwareSerial.h>
#include <BlynkSimpleSerialBLE.h>
 
#define BLYNK_USE_DIRECT_CONNECT
#define auth "insira-aqui-o-token"
 
// Portas----------
#define RedPin 3
#define GreenPin 5
#define BluePin 6
 
// Variáveis de Controle
bool Estado = false;
 
SoftwareSerial Bluetooth( 10, 12); // RX, TX
 
// Funções de Controle------------------------------------------------------
BLYNK_WRITE(V0)   //Chamada quando o botão Liga/Desliga é pressionado
{
  Estado = param.asInt( );
}
 
// -------------------------------------------------------------------------
 
void setup()
{ 
  Bluetooth.begin( 9600);
  Blynk.begin( Bluetooth, auth);
}
 
void loop()
{
  Blynk.run();
  if(!Estado)  //Desligado
  {
    digitalWrite(RedPin, HIGH);
    digitalWrite(GreenPin, HIGH);
    digitalWrite(BluePin, HIGH);
  }
}

Um projeto no Blynk é composto de widgets que realizam funções específicas. Clicamos no símbolo de + no canto superior direito em um projeto para adicionar widgets. Para esse exemplo precisamos adicionar os widgets de botão, controle RGB e conectividade bluetooth que, no app, se chamam Button, zeRGBa e Bluetooth e estão destacados na imagem abaixo.

Configurando widgets para o projeto Controlando o Arduino por app no android

Os widgets podem ser programados para controlar diretamente portas digital e analógicas do Arduino ou controlar portas virtuais, que chamam uma função definida pelo usuário no código quando o estado muda. Utilizaremos uma porta virtual para o botão liga/desliga e controlaremos os pinos digitais PWM diretamente no seletor de cores.

Para configurar os Widgets basta clicar neles e selecionar os pinos que deseja controlar. 

1 – No botão liga/desliga selecionaremos o pino virtual 0

2 – No seletor de cores definiremos os pinos digitais D3, D5 e D6 para as cores Vermelho, Verde e Azul respectivamente e definiremos os valores mínimos como 255 e máximos como 0 (já que estamos usando um LED ânodo comum).

Ajustando o zeRGBa para o projeto Controlando o Arduino por app no android

Agora para usar o projeto, basta clicar no símbolo de play e, em seguida, clicar no símbolo de Bluetooth selecionando o módulo HC-05.

Controlando o Arduino por app no android

Você pode usar o Blynk para criar alguns projetos já mostrados no blog:

Gostou de aprender a como ir controlando o Arduino por app no Android? Deixe um comentário contando o que achou!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 Comentários

  1. Ítalo, gostaria de perguntar sobre um projeto específico. Como podemos falar?

    1. Moyses, entra na nossa comunidade do Facebook e faz um post com a sua dúvida. Segue o link: https://www.filipeflop.com/blog/comunidade-maker-no-facebook/