Control de nivel

Dependencies:   mbed

Committer:
rxavi
Date:
Sat Feb 15 19:19:36 2020 +0000
Revision:
1:cc6233e787ea
Parent:
0:4193f27fd712
control de nivel

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rxavi 1:cc6233e787ea 1 #include "mbed.h" // llamado a la libreria mbed
rxavi 1:cc6233e787ea 2
rxavi 1:cc6233e787ea 3 //Entradas digitales
rxavi 1:cc6233e787ea 4 DigitalIn Pulsador(PA_0);
rxavi 0:4193f27fd712 5
rxavi 1:cc6233e787ea 6 //Salidas digitales
rxavi 1:cc6233e787ea 7 DigitalOut led_naranja(PD_13);
rxavi 1:cc6233e787ea 8 DigitalOut led_verde(PD_12);
rxavi 1:cc6233e787ea 9 DigitalOut led_rojo(PD_14);
rxavi 1:cc6233e787ea 10 DigitalOut led_azul(PD_15);
rxavi 1:cc6233e787ea 11
rxavi 1:cc6233e787ea 12 //Entradas analogicas
rxavi 1:cc6233e787ea 13 AnalogIn ain1(PC_1);
rxavi 1:cc6233e787ea 14
rxavi 1:cc6233e787ea 15 //Salidas analogicas
rxavi 1:cc6233e787ea 16
rxavi 1:cc6233e787ea 17 //Variables auxiliares
rxavi 1:cc6233e787ea 18
rxavi 1:cc6233e787ea 19 //Comunicacion
rxavi 1:cc6233e787ea 20 Serial device (PA_2,PA_3);
rxavi 0:4193f27fd712 21
rxavi 0:4193f27fd712 22 int main() {
rxavi 1:cc6233e787ea 23 device.baud(115200);
rxavi 0:4193f27fd712 24 while(1) {
rxavi 1:cc6233e787ea 25 device.printf("Nivel en porcentaje: %0.1f%%\n", ain1.read()*100.0f);
rxavi 1:cc6233e787ea 26
rxavi 1:cc6233e787ea 27 if(ain1 < 0.1f) { //Condicionamiento para detectar nivel bajo bajo
rxavi 1:cc6233e787ea 28 led_rojo = 1; //Enciende indicador de nivel bajo bajo
rxavi 1:cc6233e787ea 29 device.printf("Alarma de nivel bajo bajo\r ");
rxavi 1:cc6233e787ea 30 }
rxavi 1:cc6233e787ea 31 else{
rxavi 1:cc6233e787ea 32 led_rojo = 0; //Apaga indicador de nivel bajo bajo
rxavi 1:cc6233e787ea 33 }
rxavi 1:cc6233e787ea 34
rxavi 1:cc6233e787ea 35 if(ain1 > 0.1f and ain1 < 0.3f) { //Condicionamiento para detectar nivel bajo
rxavi 1:cc6233e787ea 36 led_naranja = 1; //Enciende indicador de nivel bajo
rxavi 1:cc6233e787ea 37 }
rxavi 1:cc6233e787ea 38 else{
rxavi 1:cc6233e787ea 39 led_naranja = 0; //Apaga indicador de nivel bajo
rxavi 1:cc6233e787ea 40 }
rxavi 1:cc6233e787ea 41
rxavi 1:cc6233e787ea 42 if(ain1 > 0.3f and ain1 < 0.9f) { //Condicionamiento para detectar nivel normal
rxavi 1:cc6233e787ea 43 led_verde = 1; //Enciende indicador de nivel normal
rxavi 1:cc6233e787ea 44 }
rxavi 1:cc6233e787ea 45 else{
rxavi 1:cc6233e787ea 46 led_verde = 0; //Apaga indicador de nivel normal
rxavi 1:cc6233e787ea 47 }
rxavi 1:cc6233e787ea 48
rxavi 1:cc6233e787ea 49 if(ain1 > 0.9f) { //Condicionamiento para detectar nivel alto
rxavi 1:cc6233e787ea 50 led_azul = 1; //Enciende indicador de nivel alto
rxavi 1:cc6233e787ea 51 device.printf("Alarma de nivel alto\r ");
rxavi 1:cc6233e787ea 52 }
rxavi 1:cc6233e787ea 53 else{
rxavi 1:cc6233e787ea 54 led_azul = 0; //Apaga indicador de nivel alto
rxavi 1:cc6233e787ea 55 }
rxavi 1:cc6233e787ea 56
rxavi 1:cc6233e787ea 57 if(Pulsador == 1) { //Prueba de pulsador
rxavi 1:cc6233e787ea 58 device.printf("Pulsador presionado\n ");
rxavi 1:cc6233e787ea 59 }
rxavi 1:cc6233e787ea 60
rxavi 1:cc6233e787ea 61 wait(0.5f);
rxavi 1:cc6233e787ea 62 }
rxavi 1:cc6233e787ea 63 }
rxavi 1:cc6233e787ea 64