11 Comentários

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
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Arduino » Código de aquisição de dados para Excel utilizando Arduino
Comentários:
Notificações
Notificar
guest
11 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Eduardo Silva
Eduardo Silva
13/05/2020 11:21

Bom dia tudo bem?
Gostaria de saber onde consigo baixar a biblioteca rExcel.h?
Desde já obrigado!

Heros Ferreira
Heros Ferreira
15/06/2019 09:00

Olá Daniel
Fiz uma aplicação em Delphi, para receber os dados do Arduino, por uma célula de carga. Mas, prefiro o excel para tratar os dados. Como poderia colocar essas variáveis?

wesley
wesley
18/04/2019 13:13

Olá amigo, gostaria de saber se dentro dessa interface desenvolvida, consigo manipular o código para eu também possa enviar comandos para o arduino pela planilha? (alem de receber dados do arduino também possa envia-los) Obrigado!

Lucas Peruzzo
Lucas Peruzzo
16/07/2018 15:32

a0 = (float)analogRead(0) / 1023.0 * 5.0;
rnd = (float)random(0, 1000) / 1023.0 * 5.0;

também fiquei na dúvida no código acima

Outra dúvida é que no meu TCC vou utilizar entradas digitais e quero escrever uma nova linha no excel sempre que uma entrada mudar de valor e não com um tempo determinado, há alguma maneira de fazer isso?

EDELSON MARTINS
EDELSON MARTINS
05/06/2018 15:16

Olá Daniel! Parabéns pelo post. Já tenho familiaridade com o VBA Excel, mas estou iniciando no Arduino. Tenho uma dúvida quanto à biblioteca rExcel.h utilizada no código. De onde ela foi extraída?

Raphael
Raphael
Reply to  EDELSON MARTINS
16/12/2019 17:24

Também tenho essa dúvida

Gulherme
Gulherme
Reply to  EDELSON MARTINS
24/04/2020 20:40

Exatamente o que gostaria de saber também!

Luciano Andre Barbosa Da Silva
13/04/2018 11:19

a0 = (float)analogRead(0) / 1023.0 * 5.0;
por qual motivo o 1023 é multiplicado por 5 qual significado

Adriano França
Adriano França
05/05/2017 13:09

Olá, gostei do projeto, mas o que seria o (“Embarcados”,”B14:J43″)?

Oceam
Oceam
24/04/2017 07:07

Magnífico desarrollo. Enhorabuena!

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 
BlueNRG-LP – Bluetooth 5.2 de longo alcance para aplicações industriais

Data: 05/11 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link