Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement