Count Room

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

- Potenciômetro
- Resistor de 220
- LCD 16x2
- Sensor ultrassonic
- Bateria 3V do tipo moeda
- Arduino Uno R3
- Cabos jumpers
- Protoboard
Separação Dos Componentes







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

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

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

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



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);
}