
Control de nivel
main.cpp@1:cc6233e787ea, 2020-02-15 (annotated)
- 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?
User | Revision | Line number | New 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 |