Count Room

by luiza_omena in Circuits > Arduino

130 Views, 0 Favorites, 0 Comments

Count Room

projeto Sd.png

Nosso projeto:

Nosso projeto denominado Countroom, é primeiramente um contador de pessoas que tem como objetivo permitir um maior controle dos espaços a fim de diminuir situações de lotação em um ambiente, sendo de suma importância em cenários como a pandemia mas também podendo ser usado em outras ocasiões com dentro da sala de aula para que o professor saiba quantas pessoas estão em aula para assim facilitar a chamada.

Objetivo/para que serve:

Ajuda no controle do fluxo de pessoas dentro dos ambientes, tendo objetivos mais específicos em alguns casos, como ajudar nas chamadas dentro da sala de aula.

Supplies

componentes sd.png
  1. Potenciômetro
  2. Resistor de 220
  3. LCD 16x2
  4. Sensor ultrassonic
  5. Bateria 3V do tipo moeda
  6. Arduino Uno R3
  7. Cabos jumpers
  8. Protoboard

Separação Dos Componentes

WhatsApp Image 2022-06-14 at 14.54.08.jpeg
Screenshot_158.png
Screenshot_157.png
Screenshot_156.png
Screenshot_155.png
ptt.jpg
certo.jpg

Baseado no tópico anterior, foram separados cada componente de acordo com suas quantidades, sendo estas:

1 potenciômetro;

1 resistor de 220;

1 LCD 16x2;

1 sensor ultrassonic;

1 bateria 3V do tipo moeda;

1 arduino Uno R3;

18 cabos jumpers;

1 protoboard;

Iniciando a Montagem Do Arduino

Screenshot_160.png

Inicialmente, colocamos os cabos JUMPERS nas portas do arduino (GRD,5V) para conectar a protoboard positivamente e negativamente. Após isso, conectamos as entradas Vcc,Trig,Echo e GND do sensor ultrassonic na protoboard, Sendo o Trig o correspondente da porta digital "8" e o Echo da porta digital "7".

Montando O Painel Lcd

Screenshot_161.png

Já na parte do Lcd, as portas digitais ~5 , 4 , ~3 , 2 foram conectadas respectivamente nas entradas do Lcd Db4,Db5,Db6,Db7, deixando sem uso as portas Db0 , Db1 , Db2 e Db3.

Vale ressaltar, também, que o Lcd esta diretamente conectado a uma porta Power GND, por meio da entrada RW.

As portas GND,VCC e V0 serão conectadas ao potenciômetro.

Por fim, utilizamos as duas entradas LED para conectar a uma pilha de 3V do tipo moeda, usando um resistor de 220 no terminal 2 da bateria.

Adicionando O Potenciômetro

Screenshot_162.png

Para concluir o circuto, falta adicionar o potenciometro. Assim, pegamos as 3 primeiras entradas do Lcd (GND,VCC e V0), a entrada GND vai na parte negativa da protoboard e a VCC na positiva.Logo após isso, utilizamos novamente essas entradas, só que dessa vez para conectar ao potenciômetro, o GND vai no terminal 1, o VCC no terminal 2 e o V0 no limpador.

O Código

c1.png
c2.png
c4.png

O código foi feito em duas partes. Primeiro foi testado com sensor ultrassonic (Como mostrado na primeira imagem anexada a esta etapa), imprimindo no Monitor Serial a distância medida radar, e depois foi elaborado o código do LCD 16 x 2 (Como mostrado na segunda imagem anexada a esta etapa), escrevendo apenas o número na placa, para que depois houvesse a junção das duas partes do código e a quantidade mostrada na tela fosse contabilizada através do radar.

Após as bibliotecas terem sido introduzidas, sendo a 'Ultrasonic.h' para o sensor e a LiquidCrystal_I2C.h para o Lcd, as portas da placa Lcd e do sensor ultrassonic são introduzidas e direcionadas. Logo depois, já entrando no void setup(), é iniciado o serial.begin e indicado o que estará escrito na placa, algo que nos leva ao void loop() que, ao ler a distância dos objetos com o ultrassonic, aumenta a quantidade de pessoas que estarão escritas na placa, como mostrado no código a seguir:


#include <Ultrasonic.h>

#include <LiquidCrystal_I2C.h>

#include <Wire.h>


int rs = 12,en = 11,d4 = 5,d5 = 4,d6 = 3,d7=2;

LiquidCrystal lcd(rs,en,d4,d5,d6,d7);

int distancia;

int pessoas = 0;

Ultrasonic sonar(12,13);


void setup() {

  Serial.begin(9600);

  lcd.begin(16,2);

  lcd.print("Pessoas na sala = " + pessoas);

 

void loop(){


 distancia = sonar.read();

 Serial.println("dist:");

 Serial.println(distancia);


 if (distancia < 100){

  pessoas = pessoas + 1;

 }

 lcd.setCursor(0,1);

 lcd.print(millis()/1000);

 

 delay(500);

}