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.
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.
Este é o circuito desenvolvido.
⚠ 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.
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 :)
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.
|
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!