Contador de objetos com Arduino

Contador-de-objetos-com-Arduino
Font Size

Olá, em mais um artigo mostrando as infinitas aplicações do Arduino, vamos abordar um projeto completo de um contador de objetos com Arduino. Utilizaremos o conceito de reset de contagem e também o sensor óptico reflexivo TCRT5000. Então, vamos lá?

Contador de objetos é a ponta do Iceberg.

Claro que um projeto voltado para a contagem de objetos acaba se tornando algo simples. Entretanto, o detalhe principal são os conceitos por trás do conjunto da obra.

Assim, o projeto de hoje é passível de diversos upgrades mais potentes. Voltados para o controle de pessoas em uma portaria, de carros em um estacionamento, ou até, a contagem de linha de produção inteira e de larga escala.

Portanto, entenda que as possibilidades de criação vem da sua imaginação. Contudo, se atente a compreender completamente os conceitos. Entender como o sistema funciona e como as partes se completam para então fazer ele ganhar proporções ainda maiores.

Conhecendo os protagonistas de hoje.

Assim, como em toda obra de arte, temos os elementos principais, e em nosso projeto de hoje não seria diferente. Além disso, o conhecimento a respeito de suas funcionalidades se torna ainda mais importante.

Assim, confira abaixo os artigos de nosso blog explicando cada um deles:

Os componentes listados acima são os protagonistas, contudo, sem os componentes da nossa loja listado abaixo também não seria possível este projeto:

Construindo o cenário.

Portanto, logo após separar todos os componentes listados, chegou o momento de organizar todos eles em sua protoboard (nosso palco!). Para isso, siga o esquema de ligação da imagem abaixo:

Por fim, para finalizar a construção do cenário basta realizar aquela última verificada nas ligações (vai que né!) e vamos agora para a construção da programação (ou das “falas” de nossos protagonistas!)

Escrevendo o roteiro da obra.

Então, depois de montarmos todo o esquemático da apresentação, chegou o momento de organizar todos os papéis dos nossos componentes no projeto.

Por isso, segue abaixo o código desenvolvido (leia ele com atenção!) e caso apareça erros, comente abaixo!

// Chamando a biblioteca do nosso display LCD
#include <LiquidCrystal.h>

// Quais os pinos utilizados? Usamos esses!
LiquidCrystal lcd(12,11,5,4,3,2);

// As nossas variaveis globais 
int contador = 0;
int pinosensor = 6; 
int pino_botao_reset = A0;

int valor_sensor; // Armazena o valor lido pelo sensor optico
bool s_high;
int estadobotao = 0; 

void setup() 
{ 
  // Qual a config do nosso display? O nosso é 16x2
  lcd.begin(16,2);
  
  // Define o pino do sensor optico como entrada 
  pinMode(pinosensor, INPUT);  
  // Define o pino do botao reset como entrada
  pinMode(pino_botao_reset, INPUT);
  
  // O display inicia com este texto!
  lcd.print("Ja contei: 0");
}  
   
void loop() 
{  
  // Verificando se o botao reset foi pressionado
  estadobotao = digitalRead(pino_botao_reset);
  
  if (estadobotao != 1) // Como ele é pull-up então colocamos (1)
  {
    contador = 0;
    
    //Apaga o valor anterior
    lcd.setCursor(11,0);
    lcd.print("   ");
    
    //Mostra o valor zerado
    lcd.setCursor(11,0);
    lcd.print(contador);
  }

  // Vamos ler o estado do nosso sensor
  valor_sensor = digitalRead(pinosensor);
  
  if (valor_sensor == 1){ // Algum objeto passou por ele
    delay (250);
    s_high = 1;
  }

  // Quando o sensor passar por ele conta +1
  if (!valor_sensor && s_high)
  {  
    s_high = 0;
    
    // Incrementa o valor do contador
    contador += 1;
    
    lcd.setCursor(11,0);
    lcd.print("   ");
    
    // Mostra o valor do contador
    lcd.setCursor(11,0);
    lcd.print(contador);
  }   
}

Após o upload do código para o seu Arduino, você deverá estar vendo uma mensagem no seu display LCD e com toda a certeza já foi testar a contagem (espero que tenha dado certo!).

Então, para não deixar você sozinho nessa, confira abaixo o meu vídeo lá do nosso canal de como este projeto!

Agradecemos a sua presença.

Portanto, hoje vimos um projeto onde podemos aplicá-lo a diversos exemplos do cotidiano como já conversamos. Além disso, o que você deve levar daqui é o conceito por trás de todo o conjunto. Qual a importância de cada componente no sistema geral.

Por fim, espero que tenha aprendido bastante e significaria o mundo para mim se você compartilhasse com o seu colega ou que avaliasse logo abaixo!

Um grande abraço e até a próxima apresentação!

Posts relacionados

Utilizando Módulo Bluetooth no Arduino

por Danilo Nogueira
5 anos ago

Utilizando o sensor de presença com Arduino

por autocore
8 anos ago

Entendendo o Funcionamento de Uma Porta Analógica

por Danilo Nogueira
4 anos ago
Sair da versão mobile