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
Tags:
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por