Tutoriais

Controlando uma Placa Arduino pelo Excel

Eletrogate 22 de agosto de 2023

Introdução

O Microsoft Excel é uma ferramenta poderosa e versátil para análise de dados, cálculos complexos e criação de gráficos. Já exploramos um pouco desses recursos aqui. Hoje, iremos dar continuidade às aplicações dentro do Excel e enviar dados do Excel para controlar uma placa Arduino. Para isso, será usado o Streaming de dados e, caso você não tenha familiaridade com ele, basta acessar nosso post anterior sobre Excel e Arduino para compreender, com facilidade, este projeto.


Começando pelo Excel

Com o Streaming de dados ativo, iremos desenvolver esta tabela:

Quando for digitado “1”, o relé será ligado e, quando for digitado “0”, o relé será desligado. Todas as tabela criadas se encontram aqui, caso queira conferir, alterar ou incrementar.

Agora, usaremos a aba chamada Saída de dados:

Aqui, o design se mantém o original, como exibido ao conectar o Streaming de dados. Porém, a célula abaixo do “CH1” tem a seguinte fórmula:

='Excel e Arduino'!D4

Esta fórmula tem a função de pegar o valor contido na coluna D e na linha 4 da tabela Excel e Arduino.


Materiais Necessários para o Projeto Controlando uma Placa Arduino pelo Excel


Ligando o Arduino

Circuito:

Este é o circuito desenvolvido.

Fritzing

⚠ Cuidado, parte do circuito está ligada em alta tensão, que pode causar choques e ferimentos!

O LED será aceso quando o relé for acionado 5 vezes.

Código

Seguindo a lógica apresentada no Excel, usaremos os valores 0 e 1. Porém, estes valores são passados pelo Excel seguindo a tabela ASCII. Por isso, usaremos: 0 → 48 e 1 → 49. A planilha transmite dados apenas quando o valor da célula de envio é alterado.

/*---------------------------------------------------------------------------------------------------------
                            - Controlando o Arduino pelo Excel  -
  @Autor:Abraão da Silva
  @Blog: Eletrogate
  @versão: 1.0 
-----------------------------------------------------------------------------------------------------------*/
// Variáveis
int dadoExcel = 0; // Dado recebido do excel
int led = 4; //pino digital do LED
int rele = 6; // pino digital do RELÉ
int contadorLed = 0; //variável de contagem

void setup() {
  pinMode(led,OUTPUT); //Definindo o pino do LED como saída
  pinMode(rele,OUTPUT);//Definindo o pino do RELÉ como saída
  Serial.begin(9600);  //Iniciando a comunicação serial
}

void loop() {

  dadoExcel = Serial.read(); //Atribuindo o valor recebido pela Serial a variável

  //Se o valor recebido for igual a 49  o RELÉ é acionado
  if(dadoExcel == 49){
   digitalWrite(rele,LOW);
   contadorLed ++; //Incrementa o contador do led
}

  //Se o valor recebido for igual a 48 o RELÉ é desligado
  else if(dadoExcel == 48){ digitalWrite(rele,HIGH);}

 //Se o relé for ligado 5 vezes o LED é ligado
  if(contadorLed == 5){digitalWrite(led,HIGH);}
  delay(150);//intervalo de execução
}// fim :)

Conclusão

Desenvolvemos um projeto para controlar uma placa Arduino pelo Excel de forma simplificada. Imagine como incrementar esse sistema com diversas funcionalidades, sensores e códigos que realizam funções de controle e automação para diversos cenários.


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

22 de agosto 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ô

Cadastre-se e fique por
dentro de novidades!