Código de aquisição de dados para Excel utilizando Arduino

Este post faz parte da série Aquisição de dados para o Excel utilizando Arduino. Leia também os outros posts da série:

Qual é o objetivo deste artigo?

 

No artigo anterior, demonstrou-se como obter e utilizar uma ferramenta bastante simples para realizar a aquisição de dados provenientes do Arduino UNO pelo Microsoft Excel. Sendo assim, este artigo visa cumprir a tarefa de explicar de maneira bastante breve o código e propor algumas alterações no mesmo para ampliar a sua funcionalidade.

 

 

Alteração do código

 

O primeiro passo para realizar as alterações descritas anteriormente consiste em entender o que o código anterior fazia e o que esta sendo proposto neste. No primeiro artigo desta série é possível notar que o autor realiza a aquisição de duas informações provenientes do Arduino UNO, de modo que, a primeira consiste na leitura do pino de entrada analógica A0 e a segunda consiste na leitura de um valor "aleatório" que utiliza um dos pinos de entrada analógica como fonte. Neste conteúdo, o código será modificado para realizar a leitura das 6 portas de entradas analógicas existentes no Arduino UNO.

 

Ao abrir o código disponibilizado pelo desenvolvedor, o leitor pode perceber a declaração de duas variáveis, responsáveis por conter os valores das leituras mencionadas.

 

 

A primeira modificação a ser realizada é a substituição destas duas variáveis por outras que possuem o papel de conter os valores das leituras das 6 entradas analógicas.

 

 

Em seguida, já dentro da função loop(), percebe-se que o desenvolvedor utilizou as funções adequadas para a obtenção das informações desejadas.

 

 

Para utilizar este código da maneira proposta neste artigo, torna-se necessário remover estas duas linhas e inserir as funções necessárias para obter o funcionamento desejado.

 

 

Para prosseguir, o leitor deve abrir o arquivo do Microsoft Excel cedido pelo desenvolvedor (citada no artigo anterior, chamada Arduino_Excel_21.xls) e criar uma nova planilha (aqui, esta chama-se Embarcados), conforme a figura a seguir.

 

Criação de uma nova planilha
Figura 1 - Criação de uma nova planilha

 

 

Construção da planilha e organização dos dados

 

Neste momento, será ensinado para o leitor como deve-se proceder para obter uma planilha de aquisição de dados semelhante a apresentada na figura 2.

 

aquisição de dados para Excel - Planilha de aquisição de dados.
Figura 2 - Planilha de aquisição de dados.

 

O primeiro item a ser elaborado será a tabela contendo os valores atuais das entradas analógicas, conforme a figura a seguir.

 

Dados atuais.
Figura 3 - Dados atuais.

 

Para criar este elemento, deve-se apenas utilizar os dados obtidos através das leituras das entradas analógicas e alocar os mesmos nas células desejadas no Microsoft Excel. A realização deste procedimento é dada pela função write("nome_da_planilha", "Célula", "dado", "Número_de_casas_decimais").

 

 

O próximo passo consiste em criar um gráfico e relaciona-lo a esta tabela recém-criada, para isto, basta selecionar as duas colunas da tabela, clicar em Inserir e, em seguida, na opção de gráfico desejada (aqui foi utilizado um gráfico de colunas).

 

Criação de um gráfico.
Figura 4 - Criação de um gráfico.

 

Após algumas configurações, como por exemplo, a escolha de cores, tamanho das barras e nomeação dos eixos, é possível obter um gráfico semelhante a este:

 

Gráfico dos valores atuais,
Figura 5 - Gráfico dos valores atuais,

 

O último elemento da planilha de aquisição de dados proposta consiste em uma tabela onde, ao longo do tempo, são registrados os valores das informações obtidas por meio das entradas analógicas.

 

Histórico de valores.
Figura 6 - Histórico de valores.

 

A função responsável por fazer este tipo de registro é a writeIndexed("Nome_da_planilha", "linha", "Coluna", "dado", "casas_decimais" (quando necessário)). A utilização desta função é mais adequada para preencher as células, quando existe um certo dinamismo necessário para o registro das informações. Repare que a variável idx é a responsável por determinar a linha em que os dados obtidos em um determinado instante serão registrados, bem como para identificar numericamente a linha em questão.

 

Os elementos %date% e %time% contém as informações relativas à data e ao horário em que determinado dado foi registrado e as variáveis ent_analog0/1/2/3/4/5 guardam justamente os valores obtidos através das entradas analógicas.

 

 

Note que para esta tabela ser preenchida automaticamente, torna-se necessário que a variável idx seja incrementada, fazendo assim com que as linhas sejam preenchidas sucessivamente de cima para baixo.

 

 

Para que esta tabela fosse preenchida com um número finito de linhas, optou-se por limpar a mesma (através da função Clear("Nome_da_Planilha", "Intervalo" (este intervalo corresponde à área que deve ser apagada, o primeiro valor corresponde à primeira célula enquanto o último, esta relacionado com a última célula)) após o preenchimento de suas 30 linhas (aqui o leitor pode decidir por aumentar ou reduzir o número de linhas e até mesmo retirar esta limitação, tendo em mente que cada planilha do Microsoft Excel possui uma quantidade determinada de linhas).

 

 

Esperamos que você tenha gostado deste conteúdo, sinta-se à vontade para nos dar sugestões, críticas ou elogios. Caso queira reproduzir este conteúdo, confira o código na íntegra, apresentado abaixo.

 

 

Outros artigos da série

<< Aquisição de dados para o Excel utilizando Arduino
Este post faz da série Aquisição de dados para o Excel utilizando Arduino. Leia também os outros posts da série:
Sou engenheiro eletricista graduado com ênfase em Controle e Automação pela Universidade Federal do Espírito Santo - UFES e Técnico em Eletrotécnica pelo Instituto Federal do Espírito Santo - IFES. Me interesso por todas as vertentes existentes dentro da Engenharia Elétrica, no entanto, as áreas relacionadas à automação e instrumentação industrial possuem um significado especial para mim, assim como a Engenharia de Manutenção que na minha opinião é um setor fascinante.