Dependencies:   mbed TextLCD

En esta tutoría se esta realizando un proyecto para la medición de temperatura y nivel con sensores industriales por lo que con la ayuda de un potenciometro se realizo la simulación de un sensor de variando su valor desde el mínimo al máximo y verificar el funcionamiento de la entrada analógica, en la cual se pudo observar que el potenciometro antes de hacer todo su recorrido ya alcanzaba el 100% del valor de la entrada analógica por lo que se realizo mediciones y se contrasto la alimentación de potenciometro es 3.3 voltios y efectivamente al llegar la regulación del potenciometro a 3 voltios ya se quedaba desbordado el valor por lo que se le consulto al tutor el cual indico que se revise la parte de los valores de referencia del Micro por lo que se reviso y el Micro estaba con una referencia de 3 voltios por lo que ya no alcanzaba a leer mayor a ese valor y se realizaron los cambios como se indica en la imagen para referenciar las entradas analógicas se quita el jumper 1 que viene por default con una referencia de 3 voltios, como se observa en la imagen en el circulo rojo teniendo el jumper fuera se realiza un puente ya sea a 3.3 voltios o a 5 voltios como referencia según las necesidades de cada uno, en este caso se lo llevo a 5 voltios para trabajar con entradas analógicas referencias a 5 voltios.

main.cpp

Committer:
rxavi
Date:
2020-02-15
Revision:
2:4751592f55a1
Parent:
1:8fd3e0ba95d6
Child:
3:af099369037c

File content as of revision 2:4751592f55a1:

#include "mbed.h"       // llamado a la libreria mbed
//#include "nivel.h"
//#include "temperatura.h"
#include "TextLCD.h"

//Entradas digitales
DigitalIn Pulsador(PA_0);

//Salidas digitales
DigitalOut led_naranja(PD_13);
DigitalOut led_verde(PD_12);
DigitalOut led_rojo(PD_14);
DigitalOut led_azul(PD_15);

//Entradas analogicas
 AnalogIn ain1(PC_1);
 AnalogIn ain2(PC_2);
 
//Salidas analogicas

//Variables auxiliares

//Comunicacion 
Serial device (PA_2,PA_3,115200);

//LCD
TextLCD lcd(PB_7, PB_8, PB_15, PB_14, PB_13, PB_12);
int main() {
    
    while(1) {
              device.printf("Nivel en porcentaje: %0.1f%%\n", ain1.read()*100.0f);
              
              if(ain1 < 0.1f) {     //Condicionamiento para detectar nivel bajo bajo
                  led_rojo = 1;         //Enciende indicador de nivel bajo bajo
                  device.printf("Alarma de nivel bajo bajo\r ");
                  }
                  else{
                      led_rojo = 0;     //Apaga indicador de nivel bajo bajo
                      }
                      
              if(ain1 > 0.1f and ain1 < 0.3f) {     //Condicionamiento para detectar nivel bajo
                  led_naranja = 1;         //Enciende indicador de nivel bajo
                  }
                  else{
                      led_naranja = 0;     //Apaga indicador de nivel bajo
                      }
                      
              if(ain1 > 0.3f and ain1 < 0.9f) {     //Condicionamiento para detectar nivel normal
                  led_verde = 1;                         //Enciende indicador de nivel normal
                  }
                  else{
                      led_verde = 0;                     //Apaga indicador de nivel normal
                      }
              
              if(ain1 > 0.9f) {                     //Condicionamiento para detectar nivel alto
                  led_azul = 1;                         //Enciende indicador de nivel alto
                  device.printf("Alarma de nivel alto\r ");
                  }
                  else{
                      led_azul = 0;                     //Apaga indicador de nivel alto
                      }
                      
              if(Pulsador == 1) {                     //Prueba de pulsador
                  device.printf("Pulsador presionado\n ");
                  }
       
              wait(0.5f);
       }
}