Controle para indicar quantidades de vagas livres e ocupadas

Boa tarde!

alguém teria um código para mostrar no LCD a quantidade de vagas ocupadas e livres, seria 12 vagas estou usando o Arduíno uno, o sensor pode ser infra vermelho, reed switch, se tiver também o esquema de ligação agradeço!

Obrigado!

Exibições: 1265

As respostas para este tópico estão encerradas.

Respostas a este tópico

amigo, o que vc já tem em termos de equipamentos?

O que vc já sabe fazer em termos de código (sketch)?

Oi, GEBB, boa tarde.

Se este projeto seu é para apresentar escola, veja que a sua necessidade não foi claramente definida,

e seu professor não deve saber que especificou deste modo, se não a nota não vai ser boa.

Você quer um código para arduino, mas não disse qual arduino;

Você quer um código para indicar quantidade de vagas, mas não disse de que? Alunos na sala, bicicletas

      no bicicletário, cadeiras no cinema, no teatro, no estádio, vagas de empregos, barcos em uma marina?

Você quer um esquema de ligações, mas para ligar onde, na escola, no aeroporto, submersa........?

Se não souber pedir, não saberá o que vai receber.

Rui

Seria um estacionamento para carros e o arduino usado será o uno, seria só para mostrar o numero de vagas ocupadas e vagas livres, e o esquema e para ligar os sensores   

tipo esse!

#include <SPI.h>
#include <LiquidCrystal.h> //Inclui a biblioteca do LCD
#define Luz_Fundo 7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCDint LDR; //declara variavel
int Threshold = 500; // Controle do limite de luz
int LDR0, LDR1, LDR2, LDR3, LDR4, LDR5, LDR6, LDR7, LDR8, LDR9, LDR10, LDR11; // Valor lido nos LDR's
int Vaga0, Vaga1, Vaga2, Vaga3, Vaga4, Vaga5, Vaga6, Vaga7, Vaga8, Vaga9, Vaga10, Vaga11; // Indicação do estado da vaga
int VagasT = 0; // Total de vagas ocupadas
//-------------------------------------------
void setup()
{
lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
pinMode(Luz_Fundo,OUTPUT); //define o pino como saída
digitalWrite(Luz_Fundo,HIGH); // Liga a luz do display.
}
//------------------------------------
void loop()
{
LDR0 = analogRead(A0); // Le LDR0
delay(1); // Delay de leitura analoga
if (LDR0 >Threshold) Vaga0 = 1;else Vaga0 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR1 = analogRead(A1); // Le LDR1
delay(1); // Delay de leitura analoga
if (LDR1 >Threshold) Vaga1 = 1;else Vaga1 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR2 = analogRead(A2); // Le LDR2
delay(1); // Delay de leitura analoga
if (LDR2 >Threshold) Vaga2 = 1;else Vaga2 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR3 = analogRead(A3); // Le LDR3
delay(1); // Delay de leitura analoga
if (LDR3 >Threshold) Vaga3 = 1;else Vaga3 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR4 = analogRead(A4); // Le LDR4
delay(1); // Delay de leitura analoga
if (LDR4 >Threshold) Vaga4 = 1;else Vaga4 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR5 = analogRead(A5); // Le LDR5
delay(1); // Delay de leitura analoga
if (LDR5 >Threshold) Vaga5 = 1;else Vaga5 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR6 = analogRead(A6); // Le LDR6
delay(1); // Delay de leitura analoga
if (LDR6 >Threshold) Vaga6 = 1;else Vaga6 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR7 = analogRead(A7); // Le LDR7
delay(1); // Delay de leitura analoga
if (LDR7 >Threshold) Vaga7 = 1;else Vaga7 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR8 = analogRead(A8); // Le LDR8
delay(1); // Delay de leitura analoga
if (LDR8 >Threshold) Vaga8 = 1;else Vaga8 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR9 = analogRead(A9); // Le LDR9
delay(1); // Delay de leitura analoga
if (LDR9 >Threshold) Vaga9 = 1;else Vaga9 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR10 = analogRead(A10); // Le LDR10
delay(1); // Delay de leitura analoga
if (LDR10 >Threshold) Vaga10 = 1;else Vaga10 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1
LDR11 = analogRead(A11); // Le LDR11
delay(1); // Delay de leitura analoga
if (LDR11 >Threshold) Vaga11 = 1;else Vaga11 = 0; // Se LDR Coberto Vaga ocupada = 0 ou Vaga vazia = 1

VagasT = Vaga11 + Vaga10 + Vaga9 + Vaga8 + Vaga7 + Vaga6 + Vaga5 + Vaga4 + Vaga3 + Vaga2 + + Vaga1 + Vaga0 ; // Soma vagas vazias
lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD
lcd.print("ESTACIONAMENTO"); //Escreve no LCD
lcd.setCursor(0,1 ); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print("Num de Vagas "); //Escreve no LCD
if (VagasT<10)
{
lcd.setCursor(14, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print(" "); //Escreve no LCD
lcd.setCursor(15, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print(VagasT); //Escreve no LCD
}
else
lcd.setCursor(14, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print(VagasT); //Escreve no LCD
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço