O projeto de Balança com Célula de Carga e Arduino Leonardo que gera uma aplicação para o projeto já desenvolvido anteriormente, como hoje já desmistificamos toda a problemática que envolve o desenvolvimento de uma balança e já temos um projeto que nos auxilia no procedimento de pesagem com Arduino, só nos basta melhorar nossos conhecimentos.
Visando melhorar ainda mais a experiência de uso junto à balança, agora estão incluídos no projeto também um Arduino Leonardo e um botão, que tornam capaz a impressão de valores diretamente em documentos de textos, planilhas e afins junto ao computador.
Com isto, torna-se possível realizar o registro das pesagens de forma automática, possibilitando também a aplicação de formulas junto ao Excel e calculando, por exemplo, o valor de envio de um determinado produto via transportadora ou outro meio qualquer.
Também torna possível o armazenamento de dados para análises e formação de tabelas, médias, medianas e demais informações estatísticas. As aplicações que envolvem o cadastro de dados diretamente ao computador são diversas, temos apenas que explorá-las.
Microsoft Excel – Planilha para Dados
O Microsoft Excel é um editor de planilhas desenvolvido pela empresa Microsoft para equipamentos que utilizam o seu sistema operacional, o Microsoft Windows, assim como outros equipamentos mobile compatíveis com o aplicativo.
Os recursos desta ferramenta incluem sua capacidade de cálculo, construção de tabelas, desenvolvimento de gráficos e análise de dados. Possibilita transformar os seus dados em informações organizadas e auxilia na melhor compreensão dos mesmos, as possibilidades de uso desta ferramenta limitam-se apenas ao conhecimento que temos sobre a mesma.
Dentre as principais funcionalidades desta ferramenta, podemos destacar a capacidade de associação entre dados, uma vez que ela possibilita a análise conjunta de informações através de cálculos entre células, por exemplo, realizando a multiplicação entre os dois primeiros valores da primeira linha.
Os dados impressos no Excel estão diretamente associados a uma célula, a célula por sua vez está diretamente relacionada a uma coordenada fixa que se relaciona através de suas linhas numeradas e colunas nomeadas através das letras do alfabeto.
Como vemos, a coluna A em conjunto com a linha 1 forma a coordenada A1, enquanto que com a linha 2 forma a coordenada A2 e assim por diante com as demais colunas e linhas também.
Arduino Leonardo
Existem diversos modelos de Arduino disponíveis para venda atualmente, cada qual com suas características, funções e atribuições, o Arduino Leonardo em especial possui uma função única, compartilhada apenas com o modelo Arduino Micro, que possui o mesmo controlador.
Este modelo de Arduino, quando em conjunto com a Biblioteca Keyboard possibilita a conexão direta junto ao computador e através do mesmo consegue realizar comandos atribuídos ao teclado e ao mouse. Em tese, consegue imprimir caracteres, executar atalhos, e movimentar o cursor do computador como se fosse um periférico de entrada padrão.
A placa Arduino Leonardo tem como base de funcionamento o microcontrolador ATmega32u4 que possui um sistema de comunicação USB embutido e dispensa a utilização de demais circuitos presentes em modelos como o Aduino UNO, porém a diferença entre estes modelos fica nisto, sendo que as demais especificações de ambos são extremamente semelhantes.
Produtos Utilizados no Projeto
– Arduino Leonardo R3 + Cabo USB;
– Balança para Arduino 0 a 5Kg em MDF 6mm;
– Módulo Conversor Amplificador HX711;
– Push Button / Chave táctil 12x12x4;
– Protoboard 170 Pontos para Montagem de Projetos;
– Jumpers Macho-Macho e Macho Fêmea.
Esquema de Ligação da Balança com Arduino Leonardo
O esquema de ligação do projeto para verificação de dados através do Arduino Leonardo e impressão no Excel é bastante simples, diferente do proejto anterior no qual utilizamos o Arduino UNO, agora incluímos também um pushbutton e demais componentes necessários para sua utilização.
O Resistor utilizado foi um de 330 Ohms e a alimentação do pushboton foi feita através do pino de 3,3V, o que não interferiu no funcionamento do projeto e possibilitou a ligação sem alimentarmos a protoboard. Para quem deseja verificar o esquema de ligação dos pinos da célula de carga acesse o nosso outro artigo sobre balança:
Além do esquema de ligação temos os que preferem também realizar a visualização do projeto através do seu esquema elétrico, para agradar a todos, segue imagem com o esquema elétrico de ligação dos componentes:
A ligação é desenvolvida sem grandes segredos, possui uma conexão simples, porém os fios da célula de carga, assim como no artigo anterior, recomendamos que sejam soldados de acordo com o esquema elétrico citado anteriormente.
Código de funcionamento da Balança com Arduino Leonardo
O código de funcionamento para utilizarmos a balança com o Arduino Leonardo é extremamente simples e conta com a inclusão de apenas duas bibliotecas, uma delas, a biblioteca HX711.h que já vimos anteriormente e a outra a biblioteca Keyboard.h, que já vem instalada dentre as bibliotecas padrões do software Arduino.
Biblioteca HX711: Download Aqui!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#include "HX711.h" // Bilbioteca disponível para Downloar junto ao Projeto #include "Keyboard.h" // Biblioteca padrão já instalado do Arduino const int pinoBotao = 4; // Declara o pino 4 como pinoBotao int estadoAnteriorBotao = HIGH; // Fixa estadoAnteriorBotao como HIGH HX711 scale; // Inicia a variável scale da biblioteca HX711 float peso = 0; // Inicia a variável peso em 0 void setup() { pinMode(pinoBotao, INPUT); // Declara pinoBotao como entrada Keyboard.begin(); // Inicia função Keyboard // Realiza a verificação e as conversões do peso: scale.begin (A1, A0); Serial.println(scale.read()); scale.set_scale(397930.55); scale.tare(20); } void loop() { int estadoBotao = digitalRead(pinoBotao); // estadoBotao igual ao sinal do pinoBotao if ((estadoBotao != estadoAnteriorBotao)// Se o estadoBotao diferente do estadoAnteriorBotao && (estadoBotao == HIGH)) { // E estadoBotao em nível alto executa: // Converte o peso para uma variável de 3 casas decimais e altera . para , peso = scale.get_units(20); String peso_string; peso_string = String(peso, 3); peso_string.replace(".", ","); Keyboard.println(peso_string); // Imprime o peso no Excel } estadoAnteriorBotao = estadoBotao; // Define o estadoAnteriorBotao como igual ao estadoBotao } |
O código está totalmente conectado e não possui muitos segredos quanto o seu funcionamento, vale lembrar porém que antes da utilização deste projeto é necessário realizar os passos descritos anteriormente em “BALANÇA ARDUINO COM CÉLULA DE CARGA E HX711”.
Aplicação e Funcionamento
Para aproveitarmos ainda mais o projeto e o código, vamos trabalhar uma aplicação direta da Balança através do Excel, para isto, vamos simular o valor de envio de um produto x, sendo que o preço por kg para o seu envio é de R$3,60.
As células utilizadas para impressão dos valores da balança serão relacionadas com a coluna A, ou seja, A1, A2, A3, A4 e assim consequentemente. As células relacionadas com a coluna B terão o valor fixo de 3,60 e para calcularmos o valor de envio da mercadoria iremos multiplicar A1 por B1, A2 por B2, A3 por B3, …, e os valores serão impressos na coluna C.
Para possibilitar este cálculo, iremos inserir nas células da coluna C1 a operação da seguinte forma: “=A1*B1”, na coluna C2 “=A2*B2” e da mesma forma repetiremos o procedimento nas demais colunas que desejarmos realizar esta função.
Existem métodos de replicarmos automaticamente os valores entre colunas e linhas, porém não é o objetivo do presente artigo. Veja abaixo uma simulação do resultado que encontramos ao realizar a referente aplicação:
Desta maneira, ao selecionarmos a célula A1 e pressionarmos o botão do nosso projeto, iremos imprimir o respectivo valor referente ao peso presente na balança, e automaticamente este irá para célula logo abaixo. Tornando possível a impressão continuada de valores sem o ajuste manual.
Conclusão
Sabemos o quanto é desafiador desenvolver uma balança com célula de carga como esta, porém por mais que pareça complicado realizar a impressão automática dos valores em um documento de Excel, por exemplo, este procedimento é mais simples do que imagina-se.
Além do Excel, qualquer outro arquivo de texto pode ser utilizado para realizar a impressão dos valores, seja Word, Bloco de Notas, até mesmo o próprio Power Point, porém devido a possibilidade de aplicações, que comumente este procedimento está diretamente relacionado com o editor de planilhas que utilizamos.
Diversos projetos podem ser desenvolvidos desta maneira, a possibilidade de aplicação estende-se ainda mais quando desejamos interagir dois equipamentos como o Arduino e o Computador.
Desenvolva o seu projeto, melhore suas aplicações, seja um maker diferenciado e não esqueça de compartilhar as suas experiências através dos comentários, cite as suas melhorias e auxilie os demais que desejam fazer algo semelhante também.
PROBLEMA NA LINHA Keyboard.println(peso_string); // Imprime o peso no Excel
mens. teclado não encontrado
Boa Tarde Carlos! Ao que parece, o projeto não reconheceu um elemento para impressão de valores, a conexão da célula de carga e HX711 estão todas corretas? Os pinos da célula de carga estão soldados no módulo e obedecendo o padrão do projeto anterior? Verifique estas informações.