Sensor De Detectação De Entrada E Saída De Pessoas

by amandajaniski in Circuits > Arduino

180 Views, 0 Favorites, 0 Comments

Sensor De Detectação De Entrada E Saída De Pessoas

WhatsApp Image 2021-10-01 at 20.49.40 (1).jpeg

Com o intuito de auxiliar o motorista de um ônibus, foi realizado um protótipo programado de um sensor de presença, onde nos permite realizar a contagem de pessoas que entram e saem de um determinado local. O protótipo tem a seguinte proposta: quando há passagem de uma pessoa na frente deste sensor, da direita para esquerda, ele nos aponta a entrada desta no local e quando há a passagem de uma pessoa da esquerda para direita ele aponta a saída.

Materiais Utilizados

resistores.jpg
pilha.jpg
chave.jpg
modulo.png
ldr.jpg
proto.jpg
jum.jpg

Os materiais utilizados para construção do projeto foram:

  • 2 Resistores;
  • 2 Pilhas AA 1,5V;
  • 1 Chave interruptora;
  • 2 Módulos laser;
  • 2 LDR;
  • Protoboard e jumpers para conexão e teste do protótipo.

Código De Programação

WhatsApp Image 2021-10-12 at 19.46.46.jpeg

#include //Biblioteca para usar o diplay LCD
#include //Biblioteca para usar o diplay LCD

int sensor1 = A0; //Cria uma variável chamada sensor1 com o valor A0 (pino onde o sensor 1 está conectado)

int sensor2 = A1; //Cria uma variável chamada sensor2 com o valor A1 (pino onde o sensor 2 está conectado)

int estado1 = 0; //Cria uma variável chamada estado1 com o valor inicial 0 para salvar o estado do sensor 1

int estado2 = 0; //Cria uma variável chamada estado2 com o valor inicial 0 para salvar o estado do sensor 2

int limite = 900; //Cria uma variável chamada "limite" para definir o limite de leitura do LDR para diferenciar os 2 estados do sensor (ativo/não ativo)

int contagem = 0; //Cria uma variável chamada "contagem" para armazenar o valor da contagem de pessoas

LiquidCrystal_I2C lcd(0x27,16,2); //Configura o display LCD

void setup() {

lcd.init(); //Inicializa o display LCD

lcd.setBacklight(HIGH); //Ilumina o display LCD

lcd.setCursor(0,0);

lcd.print("CATRACA DIGITAL ");

lcd.setCursor(0,1);

lcd.print("CONTAGEM: ");

lcd.setCursor(10,1);

lcd.print(contagem);

Serial.begin(9600); }

void loop() { //Imprime no Monitor Serial os valores dos LDRs, para fins de ajustes do limite

Serial.print("Sensor 1: ");

Serial.println(analogRead(sensor1));

Serial.print("Sensor 2: ");

Serial.println(analogRead(sensor2));

/*Existem 6 situações possíveis: * Sensor 1 foi ativado E Sensor 2 não foi ativado E estado do sensor 2 é 0 (não foi ativado) - Neste caso altera o estado do sensor 1 para 1

* Sensor 1 foi ativado E Sensor 2 não foi ativado E e estado do sensor 2 é 1 (foi ativado) - Neste caso uma pessoa entrou, então aumenta a contagem em 1 e altera estado1 e estado2 para 0 (reinicia/zera)

* Sensor 2 foi ativado E Sensor 1 não foi ativado E e estado do sensor 2 é 0 (não foi ativado) - Neste caso altera o estado do sensor 2 para 1

* Sensor 2 foi ativado E Sensor 1 não foi ativado E e estado do sensor 2 é 1 (foi ativado) - Neste caso uma pessoa saiu, então diminui a contagem em 1 e altera estado1 e estado2 para 0 (reinicia/zera)

* Existem mais dois casos onde os 2 sensores estão ambos ativados ou ambos inativados. Nestes casos nada é feito.

*/

Teste Do Protótipo

WhatsApp Image 2021-10-01 at 20.49.39.jpeg
WhatsApp Image 2021-10-01 at 20.49.39 (2).jpeg
WhatsApp Image 2021-10-01 at 20.49.40.jpeg
WhatsApp Image 2021-10-01 at 20.49.37.jpeg

Após realizar o código da programação, logo executamos as conexões dos materiais.

Resultados Obtidos