#include <LiquidCrystal.h> // includes the LiquidCrystal Library
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
int trig = 10;
int eco = 9;
int ledR = 11;
int ledA = 12;
int ledV = 13;
int MOT = 8;
int duracion;
int distancia;
void Setup (){
pinMode (trig,OUTPUT);
pinMode (ledR,OUTPUT);
pinMode (ledV,OUTPUT);
pinMode (ledA,OUTPUT);
pinMode (MOT,OUTPUT);
pinMode (eco,INPUT);
lcd.begin (16,2);
digitalWrite(MOT,LOW);
}
void loop(){
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
duracion = pulseIn(eco,HIGH);
distancia = duracion/58.2 ;
delay(200);
if(distancia <=104){
//NIVEL DE AGUA POR DEBAJO DEL 30% NECESARIO PARA OPERAR
digitalWrite(ledR, 1);
digitalWrite(ledV, 0);
digitalWrite(ledA, 0);
digitalWrite(MOT, HIGH);
lcd.clear();
lcd.setCursor(0,1);
lcd.print(distancia*100/337);
lcd.print("% LLenando");
lcd.setCursor(0,0);
lcd.print("Tanque Vacio");
{
if(distancia < 167 && distancia > 104){
//nivel de agua por encima del 30% necesario para operar
digitalWrite(ledR, 1);
digitalWrite(ledV, 0);
digitalWrite(ledA, 0);
digitalWrite(MOT, HIGH);
lcd.clear();
lcd.setCursor(0,1);
lcd.print(distancia*100/337);
lcd.print("%");
lcd.setCursor(0,0);
lcd.print("por vaciarse");
{
if(distancia == 167){
//nivel a la mitad del tanque
digitalWrite(ledR, 0);
digitalWrite(ledV, 0);
digitalWrite(ledA, 1);
digitalWrite(MOT, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tanque a la mitad");
lcd.setCursor(0,1);
lcd.print(distancia*100/337);
lcd.print("%");
{
if(distancia < 306 && distancia > 167){
//nivel de agua por debajo del 90% necesario para operar
digitalWrite(ledR, 0);
digitalWrite(ledV, 0);
digitalWrite(ledA, 1);
digitalWrite(MOT,HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Mas de la mitad");
lcd.setCursor(0,1);
lcd.print(distancia*100/338);
lcd.print("%");
{
if(distancia >= 306){
//nivel de agua por debajo del 90% necesario para operar
digitalWrite(ledR, 0);
digitalWrite(ledV, 0);
digitalWrite(ledA, 1);
digitalWrite(MOT, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Mas de la mitad");
lcd.setCursor(0,0);
lcd.print(distancia*100/338);
lcd.print("%");
}
¿ Y si en lugar de poner una llave de apertura "{" antes de cada if() pones la de cierre "}" (que le corresponde al if() anterior)?
Además falta una llave que cierre loop() al final del código, o sea una de estas "}"
Aunque @anon90500195 ya te dijo como resolverlo, un consejo:
Usa Autoformato en el IDE con Ctrl+T
Si lo hubieras hecho, la forma en la que te muestra cada if te hubiera ido alertando de que algo no estaba bien, porque a cada if lo va poniendo con una sangría (identación) mayor, alejándose del margen izquierdo.
En cambio si usas la } que te dijo @anon90500195 al final de cada if irías viendo como se corrige y tu mismo encontrías los errores.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.