
ESTE ES UN PROGRAMA PARA EL CONTROL DE NIVEL Y TEMPERATURA CON INDICACIÓN DE NIVELES Y GENERACIÓN DE ALARMAS
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:
- 5:301b88181841
- Parent:
- 4:3a4d4e798cc5
File content as of revision 5:301b88181841:
#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); //Interrupciones Ticker flipper1; Ticker flipper2; //Variables auxiliares bool seleccion_visualizador=0; int i=0; float sensor1=0.0; float sensor2=0.0; //Comunicacion Serial device (PA_2,PA_3,115200); //LCD TextLCD lcd(PB_7, PB_8, PB_15, PB_14, PB_13, PB_12); void flip1() // flip 1 function { sensor1 = ain1*100; device.printf("Nivel: %0.1f%%\n", sensor1); } void flip2() // flip 2 function { sensor2 = ain2*100; device.printf("Temp: %0.1f grados Celsius%\n", sensor2); } int main() { flipper1.attach(&flip1, 1.0); // cada segundo flipper2.attach(&flip2, 1.0); // cada segundo while(1) { seleccion_visualizador=Pulsador.read(); // device.printf("Nivel en porcentaje: %0.1f%%\n", sensor1()*1); nivel(); temperatura(); if(Pulsador == 1) { //Prueba de pulsador i++; if (i>1) i=0; } if (i==0) { lcd.locate(0,0); lcd.printf(" Nivel: %2.2f%\n",sensor1); lcd.printf(" Temp.: %2.2f%\n",sensor2); } if (i==1) { lcd.locate(0,0); lcd.printf(" Temp.: %2.2f%\n",sensor2); lcd.printf(" Nivel: %2.2f%\n",sensor1); } wait(1); } }