Jose Campaña / Mbed 2 deprecated 2_Un_Sensor

Dependencies:   mbed

Committer:
jcampanal
Date:
Thu Jan 17 23:48:12 2019 +0000
Revision:
0:3870563dc975
Child:
1:434f82fb0641
Programa realizado por Jose Campana de la Maestria en Automatizacion (U. Salesiana)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jcampanal 0:3870563dc975 1 #include "mbed.h"
jcampanal 0:3870563dc975 2
jcampanal 0:3870563dc975 3 AnalogIn sensor(PC_1); // Sensor 1
jcampanal 0:3870563dc975 4
jcampanal 0:3870563dc975 5 DigitalOut led1(PD_12); // Led Verde
jcampanal 0:3870563dc975 6 DigitalOut led2(PD_13); // Led Naranja
jcampanal 0:3870563dc975 7 DigitalOut led3(PD_14); // Led Rojo
jcampanal 0:3870563dc975 8
jcampanal 0:3870563dc975 9 Serial device(PA_2,PA_3); //Puerto serial
jcampanal 0:3870563dc975 10
jcampanal 0:3870563dc975 11 int i, j, muestra, mediciones, tiempo;
jcampanal 0:3870563dc975 12 float T, lectura, acum, Tacum, promedio;
jcampanal 0:3870563dc975 13
jcampanal 0:3870563dc975 14 int main()
jcampanal 0:3870563dc975 15 {
jcampanal 0:3870563dc975 16 device.baud(19200); // Velocidad de Puerto Serial
jcampanal 0:3870563dc975 17
jcampanal 0:3870563dc975 18 device.printf ("Ingrese # de muestras: ");
jcampanal 0:3870563dc975 19 device.scanf ("%d[^\n]",&muestra);
jcampanal 0:3870563dc975 20 device.printf ("\n");
jcampanal 0:3870563dc975 21 device.printf("%i \n", muestra);
jcampanal 0:3870563dc975 22
jcampanal 0:3870563dc975 23 device.printf ("Ingrese # de mediciones: ");
jcampanal 0:3870563dc975 24 device.scanf ("%d[^\n]",&mediciones);
jcampanal 0:3870563dc975 25 device.printf ("\n");
jcampanal 0:3870563dc975 26 device.printf("%i \n", mediciones);
jcampanal 0:3870563dc975 27
jcampanal 0:3870563dc975 28 device.printf ("Ingrese Tiempo entre muestras: ");
jcampanal 0:3870563dc975 29 device.scanf ("%d[^\n]",&tiempo);
jcampanal 0:3870563dc975 30 device.printf ("\n");
jcampanal 0:3870563dc975 31 device.printf("%i \n", tiempo);
jcampanal 0:3870563dc975 32 device.printf("\n");
jcampanal 0:3870563dc975 33
jcampanal 0:3870563dc975 34 i = 1;
jcampanal 0:3870563dc975 35 while(i < muestra + 1) // Presentacion de Muestras
jcampanal 0:3870563dc975 36 {
jcampanal 0:3870563dc975 37 device.printf("Muestra # %i \n", i);
jcampanal 0:3870563dc975 38
jcampanal 0:3870563dc975 39 j = 0;
jcampanal 0:3870563dc975 40 acum = 0;
jcampanal 0:3870563dc975 41 promedio = 0;
jcampanal 0:3870563dc975 42
jcampanal 0:3870563dc975 43 while (j < mediciones) // Presentacion de Mediciones
jcampanal 0:3870563dc975 44 {
jcampanal 0:3870563dc975 45 device.printf("Sensor : (%f)\n", sensor.read());
jcampanal 0:3870563dc975 46
jcampanal 0:3870563dc975 47 if (sensor.read() >= 0 && sensor.read() < 0.3)
jcampanal 0:3870563dc975 48 {
jcampanal 0:3870563dc975 49 T = (100.500001*sensor.read()) + 10; // Calculo Temperatura (0V = 10° y 1V = 40°)
jcampanal 0:3870563dc975 50 led1 = 1;
jcampanal 0:3870563dc975 51 }
jcampanal 0:3870563dc975 52 else
jcampanal 0:3870563dc975 53 led1 = 0;
jcampanal 0:3870563dc975 54
jcampanal 0:3870563dc975 55 if (sensor.read() >= 0.33 && sensor.read() < 0.6)
jcampanal 0:3870563dc975 56 {
jcampanal 0:3870563dc975 57 T = (145.166767*sensor.read()) - 6.66672735; // Calculo Temperatura (1.1V = 41° y 2V = 80°)
jcampanal 0:3870563dc975 58 led2 = 1;
jcampanal 0:3870563dc975 59 }
jcampanal 0:3870563dc975 60 else
jcampanal 0:3870563dc975 61 led2 = 0;
jcampanal 0:3870563dc975 62
jcampanal 0:3870563dc975 63 if (sensor.read() >= 0.64 && sensor.read() <= 1)
jcampanal 0:3870563dc975 64 {
jcampanal 0:3870563dc975 65 T = (211.719999*sensor.read()) - 51.719999; // Calculo Temperatura 3 (2.1V = 81° y 3.3V = 81°)
jcampanal 0:3870563dc975 66 led3 = 1;
jcampanal 0:3870563dc975 67 }
jcampanal 0:3870563dc975 68 else
jcampanal 0:3870563dc975 69 led3 = 0;
jcampanal 0:3870563dc975 70
jcampanal 0:3870563dc975 71 device.printf("Temperatura: (%4.2f)\n", T);
jcampanal 0:3870563dc975 72 lectura = sensor.read();
jcampanal 0:3870563dc975 73 acum = acum + lectura;
jcampanal 0:3870563dc975 74 Tacum = Tacum + T;
jcampanal 0:3870563dc975 75
jcampanal 0:3870563dc975 76 wait(tiempo); // Espera de n seg por Mediciom
jcampanal 0:3870563dc975 77 j++;
jcampanal 0:3870563dc975 78 }
jcampanal 0:3870563dc975 79
jcampanal 0:3870563dc975 80 promedio = acum / j;
jcampanal 0:3870563dc975 81 device.printf("\n");
jcampanal 0:3870563dc975 82 device.printf("Promedio de mediciones: (%f)\n", promedio);
jcampanal 0:3870563dc975 83 T = Tacum / j;
jcampanal 0:3870563dc975 84 device.printf("Promedio de Temperatura: (%4.2f)\n", T);
jcampanal 0:3870563dc975 85 device.printf("\n");
jcampanal 0:3870563dc975 86
jcampanal 0:3870563dc975 87 i++;
jcampanal 0:3870563dc975 88 }
jcampanal 0:3870563dc975 89 }