Projetos

Arduino & Excel

Eletrogate 13 de abril de 2023

Introdução

O Excel é uma ferramenta de planilha eletrônica amplamente utilizada por empresas e indivíduos para armazenar, analisar e visualizar dados. Com suas poderosas ferramentas de gráficos e tabelas dinâmicas, o Excel permite que os usuários criem visualizações de dados personalizadas e percepções valiosos a partir de grandes conjuntos de dados. Ao integrar o Excel com o Arduino, é possível transmitir dados em tempo real diretamente para planilhas do Excel, permitindo que os usuários visualizem e analisem os dados de forma eficiente. Essa integração pode ser útil para projetos que envolvem coleta de dados em tempo real, como sistemas de monitoramento ou controle, oferecendo uma maneira simples e eficaz de visualizar e analisar os dados coletados pelo Arduino. Neste post, vamos explorar como usar o streaming de dados para conectar o Arduino ao Excel e montar uma planilha com os dados fornecidos.


O que Faremos?

Para este projeto, vamos utilizar o sensor DHT11 para medir a temperatura. O DHT11 é um sensor digital de umidade e temperatura que pode ser facilmente conectado ao Arduino. Ele possui um chip de sensor embutido que lê a temperatura e a umidade do ambiente e envia esses dados em formato digital para o microcontrolador do Arduino. Com a integração do Excel e do Arduino, poderemos transmitir esses dados diretamente para as planilhas do Excel e criar gráficos e tabelas para visualizar e analisar as informações coletadas pelo sensor. Se quiser saber mais sobre o DHT11, veja este post.

 


Circuito

Segue o circuito utilizado:

A ligação é bem simples. Observe que o resistor do circuito faz o papel de pull-up garantindo o envio de dados do sensor sem interferências. Se quiser saber mais sobre está técnica consulte aqui.


Código

Para receber os valores no Excel precisamos enviá-los via serial. Então usamos a biblioteca do DHT11 para usar o sensor e enviar os dados.

Segue o código:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/***********************************************************************************************************************
-DHT11-
@blog: Eletrogate
@autor: Abraão da Silva
@versão:1.0
@descrição: Exemplo simples de uso do sensor DHT11 para interpretação via excel.
***********************************************************************************************************************/
//Biblioteca do DTH
#include "DHT.h"
//armazena o valor flutuante de temperatura
float temperatura;
//porta usada e o tipo de sensor
DHT dht(3, DHT11);
void setup() {
Serial.begin(9600);// inicializando o monitor serial
dht.begin();// Inicializando o sensor
}
void loop() {
delay(2000);// Aguarda dois segundos entre as leituras
temperatura = dht.readTemperature();//Lê o valor da temperatura em C°
//Verificando se existe erro na leitura da temperatura
if (isnan(temperatura)) { Serial.println("ERRO NO SENSOR!");}
//Se tudo funcionar envia a temperatura para a serial
else {Serial.println(temperatura); /*em C°*/}
}
/*fim do código :)*/
/*********************************************************************************************************************** -DHT11- @blog: Eletrogate @autor: Abraão da Silva @versão:1.0 @descrição: Exemplo simples de uso do sensor DHT11 para interpretação via excel. ***********************************************************************************************************************/ //Biblioteca do DTH #include "DHT.h" //armazena o valor flutuante de temperatura float temperatura; //porta usada e o tipo de sensor DHT dht(3, DHT11); void setup() { Serial.begin(9600);// inicializando o monitor serial dht.begin();// Inicializando o sensor } void loop() { delay(2000);// Aguarda dois segundos entre as leituras temperatura = dht.readTemperature();//Lê o valor da temperatura em C° //Verificando se existe erro na leitura da temperatura if (isnan(temperatura)) { Serial.println("ERRO NO SENSOR!");} //Se tudo funcionar envia a temperatura para a serial else {Serial.println(temperatura); /*em C°*/} } /*fim do código :)*/
/***********************************************************************************************************************
                                                    -DHT11-
 @blog: Eletrogate
 @autor: Abraão da Silva
 @versão:1.0
 @descrição: Exemplo simples de uso do sensor DHT11 para interpretação via excel.
***********************************************************************************************************************/

//Biblioteca do DTH
#include "DHT.h" 
//armazena o valor flutuante de temperatura
float temperatura; 
//porta usada e o tipo de sensor
DHT dht(3, DHT11); 

void setup() {
  Serial.begin(9600);// inicializando o monitor serial
  dht.begin();// Inicializando o sensor
}

void loop() {
  delay(2000);// Aguarda dois segundos entre as leituras
  temperatura = dht.readTemperature();//Lê o valor da temperatura em C°
  
//Verificando se existe erro na leitura da temperatura
  if (isnan(temperatura)) { Serial.println("ERRO NO SENSOR!");}
//Se tudo funcionar envia a temperatura para a serial
  else {Serial.println(temperatura); /*em C°*/}
  }
/*fim do código :)*/

Agora, o Arduino imprime o valor da temperatura a cada 2 segundos.


Vamos ao Excel

Primeiramente, precisamos habilitar o streamer de dados dentro do Excel.

Siga estes passos:

fonte: MicroSoft

Com o streamer habilitado, você verá está aba:

Com o Arduino conectado ao seu computador, clique nela e em seguida em conectar um dispositivo.

Agora, basta selecionar a porta do seu dispositivo conectado.

No meu caso foi a COM 10.

Agora, a sua transmissão de dados pode iniciar automaticamente em uma tabela automática feita pelo Excel.

Caso não inicie, você deve clicar aqui:

E, para parar os dados:

Ficou assim:

Agora você pode fazer diferentes configurações dentro do Excel para trabalhar com seus dados.

Olha só:

Montamos uma tabela que converte a temperatura para escalas diferentes de forma dinâmica, um gráfico da variação de temperatura em tempo real, temperatura média e temperaturas máxima e mínima registradas. Caso você não tenha tanta experiência com o Excel, o arquivo desenvolvido está aqui para você usar, modificar e melhorar. Se surgir alguma dúvida, deixe nos comentários.


Finalizando

O uso do streamer de dados do Excel com Arduino oferece uma infinidade de possibilidades para coletar, analisar e visualizar dados de sensores em tempo real. A capacidade de integrar facilmente o Excel com o Arduino permite que qualquer pessoa com conhecimentos básicos de programação possa criar soluções personalizadas para diversas aplicações. A possibilidade de adicionar diferentes sensores e configurações permite que os usuários possam monitorar e automatizar processos em diversos setores, como agricultura, automação industrial, saúde e muito mais. Portanto, se você deseja criar soluções de monitoramento de dados personalizadas, o streamer de dados do Excel com Arduino é uma ótima opção para começar.


Sobre o Autor


Abraão da Silva

Estudante de Engenharia da Computação, especializado em curiosidades aparentemente aleatórias e desenvolvimento de software. Se eu não estiver pedalando agora estou estudando ou tentando aproveitar a energia dos raios.


Eletrogate

13 de abril de 2023

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Eletrogate Robô

Assine nossa newsletter e
receba  10% OFF  na sua
primeira compra!