Professional Documents
Culture Documents
PROYECTO
OBLIGATORIO
ARDUINO
SISTEMA DE CONTROL DE NIVEL DE AGUA
DE UN DEPSITO
LVARO ALBALADEJO GALINDO
1xPantalla LCD 16X2. Este dispositivo es uno de los que mayor trabajo han llevado a la hora de
su conexin, para aclarar el asunto adjunto una imagen de mi modelo y sus conexiones:
Voy a explicar las conexiones puesto que verlas en una foto es un caos, en especial
para mi proyecto, hice las siguientes conexiones LCD-ARDUINO:
Conexin: fila GND (fila -) de la breadboard --> pin 1 de la LCD (VSS)
Conexin: fila 5V (fila +) de la breadboard--> pin 2 de la LCD (VDD)
Conexin: fila 5V (fila +) de la breadboard--> pin 15 de la LCD (A)
Conexin: fila GND (fila -) de la breadboard --> pin 16 de la LCD (K)
Conexin: primer pin del potencimetro---> GND de la breadboard (fila -)
Conexin: pin de en medio potencimetro --> pin 3 de la pantalla LCD (VO)
Conexin: tercer pin del potencimetro---> 5V de la breadboard (fila +)
Conexin: pin 4 de la LCD (RS) ---> pin 7 del arduino (salida digital, PWM)
Conexin: pin 5 de la LCD (RW) --> GND de la breadboard (fila -)
Conexin: pin 6 de la LCD (E) --> pin 8 de la placa Arduino UNO (PWM)
Conexin: pin 11 de la LCD (D4) --> pin 9 de la placa Arduino UNO (PWM)
Conexin: pin 12 de la LCD (D5) --> pin 10 de la placa Arduino UNO (PWM)
Conexin: pin 13 de la LCD (D6) --> pin 11 de la placa Arduino UNO(PWM)
Conexin: pin 14 de la LCD (D7) --> pin 12 de la placa Arduino UNO (PWM)
Caja estanca con hueco para LCD + 3 agujeros para salida de los Leds
IV Esquemtico:
Las conexiones quedan explicadas en el apartado anterior, del LCD y del sensor
ultrasnico individualmente, he desarrollado en Fritzing el esquema final
combinando ambos y quedara as:
En el esquema faltan los 3 leds + Resistencias con su salida PWM cada uno y
conexin a tierra puesto que fue una idea a posteriori.
2-Alimentacin
/*Emitimos ultrasonidos*/
/*tiempo de espera*/
/*Paramos la emisin*/
/*Lo que tarda en recibir el eco*/
/*
/27 es porque mi depsito mide 27cm de altura, as sacaremos el porcentaje
*100. Despus, se lo restamos al 100% puesto que al medir desde arriba estamos
midiendo la distancia en la cual no hay agua */
/*Para las 3 situaciones he usado un if, else if, else*/
if (capacidad > 93){ /*Situacin de peligro*/
lcd.begin(16, 2);
lcd.setCursor(0,0); /*Primera lnea*/
lcd.write("PELIGRO DE ");
lcd.setCursor(0,1); /Segunda lnea/
lcd.write("DESBORDAMIENTO");
digitalWrite(led3,LOW); /*Led verde1 nivel BAJO*/
digitalWrite(led2,LOW); /*Led verde2 nivel BAJO*/
digitalWrite(led1ybuzzer,HIGH); /*Led rojo + buzzer nivel ALTO*/
}
else if(capacidad > 50) {
digitalWrite(led2,HIGH); /*Led verde1 nivel ALTO*/
digitalWrite(led3,HIGH); /*Led verde2 nivel ALTO*/
digitalWrite(led1ybuzzer,LOW); /*Led rojo+buzzer nivel BAJO*/
/*Mostramos el nivel por el LCD*/
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("CAPACIDAD ACTUAL:");
lcd.setCursor(0,1);
lcd.print(capacidad);
lcd.setCursor(2,1);
lcd.print("%");
}
else {
digitalWrite(led2,HIGH); /*Led verde1 nivel ALTO*/
digitalWrite(led3,LOW); /*Led verde2 nivel BAJO*/
digitalWrite(led1ybuzzer,LOW); /*Led rojo+buzzer nivel BAJO*/
/*Mostramos el nivel por el LCD*/
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("CAPACIDAD ACTUAL:");
lcd.setCursor(0,1);
lcd.print(capacidad);
lcd.setCursor(2,1);
lcd.print("%");
}
delay(1000); /*La medicin del nivel de agua se hace cada segundo*/
}
http://youtu.be/kHufLb4hH0Y
D. OTRAS CONSIDERACIONES