Boa tarde, eu preciso fazer uma contagem que será decrementada quando o sensor estiver em 1 e incrementada quando o sensor estiver em 0 e este número seria jogado em um display LCD, sendo mais especifico esse circuito será utilizado para realizar a contagem de vagas de um estacionamento tendo como valor máximo o , só que não sei como fazer isso na programação alguém poderia me auxiliar.

Obrigado, Alexandre

Exibições: 486

Responder esta

Respostas a este tópico

Eu não como será a sua montagem, mas aqui vai um código, se ele não servir, talvez te ajudará um pouco:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int vagas = 0;

void setup() {
lcd.begin(16,2);
pinMode(13, INPUT_PULLUP);
}

void loop() {

int optico = digitalRead(13);

if(optico = 1){

vagas++;
}
lcd.setCursor(0, 0);
lcd.print(vagas);
delay(1000);
}

By Murilo

Murilo, acho que o que ele quer é que seja incrementada quando tiver em 0 e decrementada em 1. Ai teria que alterar o código para:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int vagas = 0;

void setup() {
lcd.begin(16,2);
pinMode(13, INPUT_PULLUP);
}

void loop() {

int optico = digitalRead(13);

if(optico = 0){

vagas++;
}

else {

vagas--;

}


lcd.setCursor(0, 0);
lcd.print(vagas);
delay(1000);

lcd.clear(); 

}

Fico grato Murilo era exatamente isso que eu estava querendo, porém vou usar 5 sensores um pra cada vaga e escrevi o seguinte código, só que eu não estou conseguindo compilá-lo porque o arduíno me retorna o seguinte erro  expected unqualified - id before '{' before token, se você puder me ajudar e dar uma olhada no codigo abaixo pra ver se eu não fiz nenhum besteira agradeço

#include <LiquidCrystal.h> // declara a utilização da biblioteca LiquidCrystal
//cria um objeto tipo LiquidCrystal que chamei de "lcd" nos pinos citados:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#define Luz_Fundo 13

// Define os pinos onde serão ligados os sensores

int sensor1 = 6;
int sensor2 = 7;
int sensor3 = 8;
int sensor4 = 9;
int sensor5 = 10;

void setup ();
{

lcd.begin (16, 2);
pinMode(Luz_Fundo, OUTPUT); //define o pino como saída
digitalWrite(Luz_Fundo, HIGH); // Liga a luz do display

pinMode (sensor 1, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor 2, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor 3, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor 4, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor 5, INPUT_PULLUP);//define o pino como entrada de dados

Serial.begin (9600);)
}

void loop ();
(
int vagas ocupadas = 0;
if (digitalRead sensor1 == 'HIGH') vagas ocupadas++;


if (digitalRead sensor2 == 'HIGH')vagas ocupadas++;


if (digitalRead sensor3 == 'HIGH')vagas ocupadas++;


if (digitalRead sensor4 == 'HIGH')vagas ocupadas++;

if (digitalRead sensor5 == 'HIGH')vagas ocupadas++;

/* Se o SENSOR ler um o valor de vagas ocupadas incrementa */

int vagas = vagas ocupadas - 5;


/* vagas indica quantas vagas ainda estão disponíveis*/

lcd.setCursor(0,0); // seta o cursor para: (coluna = 0, linha = 0)
lcd.print(" VAGAS LIVRES ");

lcd.setCursor(0,1); // seta para linha 1, ou seja, a linha de baixo

lcd. print (vagas);

delay (5000);

)

kra, o codigo tah cheio de erros como ( no lugar de {, variaveis com espaço nome, dah uma revisada linha por linha... e de imediato, tira o ; do fim da linha setup() e do loop()

Alexandre, testa este código, veja se funcionou:

#include <LiquidCrystal.h> // declara a utilização da biblioteca LiquidCrystal
//cria um objeto tipo LiquidCrystal que chamei de "lcd" nos pinos citados:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define Luz_Fundo 13
// Define os pinos onde serão ligados os sensores
int sensor1 = 6;
int sensor2 = 7;
int sensor3 = 8;
int sensor4 = 9;
int sensor5 = 10;
int ocupadas = 0;

void setup ()
{
lcd.begin (16, 2);
pinMode(Luz_Fundo, OUTPUT); //define o pino como saída
digitalWrite(Luz_Fundo, HIGH); // Liga a luz do display
pinMode (sensor1, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor2, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor3, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor4, INPUT_PULLUP);//define o pino como entrada de dados
pinMode (sensor5, INPUT_PULLUP);//define o pino como entrada de dados
Serial.begin (9600);
}
void loop ()
{
int vaga1 = digitalRead(13);
int vaga2 = digitalRead(13);
int vaga3 = digitalRead(13);
int vaga4 = digitalRead(13);
int vaga5 = digitalRead(13);

if (vaga1 == 1){
ocupadas++;
}

if (vaga2 == 1){
ocupadas++;
}


if (vaga3 == 1){
ocupadas++;
}

if (vaga4 == 1){
ocupadas++;
}

if(vaga5 == 'HIGH'){
ocupadas++;
}

/* Se o SENSOR ler um o valor de vagas ocupadas incrementa */

int vagas = ocupadas - 5;


/* vagas indica quantas vagas ainda estão disponíveis*/

lcd.setCursor(0,0); // seta o cursor para: (coluna = 0, linha = 0)
lcd.print(" VAGAS LIVRES ");
lcd.setCursor(0,1); // seta para linha 1, ou seja, a linha de baixo
lcd. print (vagas);

delay (5000);
}

Se não funcionar, me da um alo

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço