0

Pinos virtuais Blynk

A aplicação “Blynk” dispõem de 3 tipos diferentes de pinos. Todos conhecemos os pinos físicos GPIO (analógicos e digitais), mas o aplicativo oferece mais um tipo de pinos e hoje vamos aprender quando e como os devemos usar.

Diferença entre pinos digitais, analógicos e virtuais na aplicação

Geralmente, a grande maioria dos projetos utiliza apenas entradas e saídas analógicas ou digitais, mas quando falamos no controlo de um projeto via internet através da app “Blynk”, surge um novo tipo de entradas, as entradas virtuais.

Estas entradas distinguem-se das restantes dentro do aplicativo pois permitem ao utilizador realizar um tratamento de dados dentro do programa antes de os reproduzir no aplicativo, vejamos um exemplo:

Para registar os valores da luminosidade dentro de uma sala via arduino, recorremos a um LDR que utiliza um intervalo que varia entre 0-1023.

Para apresentar estes valores no aplicativo através de um gráfico, torna-se mais "aceitável" transformar o intervalo de 0-1023 para um intervalo que varia entre 0-100%.

Para resolver o seguinte exemplo vamos seguir os seguintes passos:

Esquema de ligações:

 

Código de programação:

/************Definição das librarias responsáveis pela comunicação com a app************/
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

/*******Definição do TOKEN do projeto*******/
char auth[] = "AUTH TOKEN";

/************ Credênciais WIFI ************/

//Em caso de redes abertas deixar ""
char ssid[] = "Rede WIFI";
char pass[] = "PASSWORD";


// definição da baud do ESP8266 como 9600
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

BlynkTimer timerLDR; // Criação do Timer do LDR

void lerLDR() // Função para ler o parâmetro do LDR
{

  int valorLDR = analogRead(A0);
  valorLDR = map(valorLDR, 0, 1023, 0, 100); // Função que permite a conversão do intervalo de 0-1023 para 0-100
  Blynk.virtualWrite(V6, valorLDR); // Escreve no pino virtual V6 do Blynk o valor de luminosidade lido pelo LDR

}

void setup()
{
  
  Serial.begin(9600);

  //Inicialização do ESP8266
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
  timerLDR.setInterval(100L, lerLDR); // Define o intervalo de tempo da leitura do LDR para 100 milissegundos

}

void loop()
{

  Blynk.run();
  timerLDR.run();

}

Configuração da aplicação:

Continuando com o esquema do ultimo artigo, vamos alterar apenas o “Gauge” do LDR.












Resultado Final:

Lista de Material:

Todos os produtos foram adquiridos na loja de eletrónica e robótica ElectroFun: www.electrofun.pt.

 

Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.

Não se esqueçam de fazer like na nossa Página no Facebook.

Podem ainda colocar as vossas dúvidas no nosso Forum da Comunidade Arduino em Portugal ou no nosso Grupo no Facebook Arduino Portugal – Qual o teu projeto?

Comments

Comentários

ArduinoPortugal.pt

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

To use BrandCaptcha you must get an API Key