ControlTemperatura / Mbed 2 deprecated ControlTemperatura_2_4

Dependencies:   mbed

Fork of ControlTemperatura_2_3 by ControlTemperatura

Committer:
davicone
Date:
Thu Apr 09 03:43:05 2015 +0000
Revision:
0:ac833c85625c
Child:
1:677ecfe29f10
:)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
davicone 0:ac833c85625c 1
davicone 0:ac833c85625c 2 // --------------------------------------------------------------------------- Inclusiones
davicone 0:ac833c85625c 3 #include "mbed.h"
davicone 0:ac833c85625c 4 #include "string.h"
davicone 0:ac833c85625c 5 using namespace std;
davicone 0:ac833c85625c 6
davicone 0:ac833c85625c 7 #define Si 1
davicone 0:ac833c85625c 8 #define No 0
davicone 0:ac833c85625c 9
davicone 0:ac833c85625c 10
davicone 0:ac833c85625c 11
davicone 0:ac833c85625c 12
davicone 0:ac833c85625c 13 // --------------------------------------------------------------------------- Variables y objetos
davicone 0:ac833c85625c 14 Serial pc(USBTX, USBRX); // Inicializo el puerto serie para comunicarme con la computadora
davicone 0:ac833c85625c 15 // La frecuencia por default es de 9600
davicone 0:ac833c85625c 16
davicone 0:ac833c85625c 17 // Variables
davicone 0:ac833c85625c 18 unsigned int tiempoFinal; // Variable para almacenar el tiempo máximo
davicone 0:ac833c85625c 19 float tempTrabajo; // Temperatura a la cual se debe mantener el sistema
davicone 0:ac833c85625c 20 float tempSen1; // Temperatura del sensor 1
davicone 0:ac833c85625c 21 float tempSen2; // Temperatura del sensor 2
davicone 0:ac833c85625c 22 float tempSen3; // Temperatura del sensor 3
davicone 0:ac833c85625c 23 float tempSen4; // Temperatura del sensor 4
davicone 0:ac833c85625c 24 Timer timmer; // Timer para medir el tiempo transcurrido
davicone 0:ac833c85625c 25 bool inicioProceso = No; // Variable para determinar si el proceso se inicia
davicone 0:ac833c85625c 26 bool pausaProceso = No; // Variable para pausar
davicone 0:ac833c85625c 27 bool finProceso = No; // Variable finalizar el proceso
davicone 0:ac833c85625c 28 char comando; // Variable para leer el comando a ejecutar en el proceso
davicone 0:ac833c85625c 29 char sTiempo[10];
davicone 0:ac833c85625c 30 char sTemperatura[10];
davicone 0:ac833c85625c 31
davicone 0:ac833c85625c 32
davicone 0:ac833c85625c 33 //Pines de Salida
davicone 0:ac833c85625c 34 DigitalOut reflector1(p26); // Salida para controlar el reflector 1
davicone 0:ac833c85625c 35 DigitalOut reflector2(p25); // Salida para controlar el reflector 2
davicone 0:ac833c85625c 36 DigitalOut reflector3(p24); // Salida para controlar el reflector 3
davicone 0:ac833c85625c 37 DigitalOut reflector4(p23); // Salida para controlar el reflector 4
davicone 0:ac833c85625c 38 DigitalOut ventilador1(p22); // Salida para controlar el ventilador 1
davicone 0:ac833c85625c 39 DigitalOut ventilador2(p21); // Salida para controlar el ventilador 2
davicone 0:ac833c85625c 40
davicone 0:ac833c85625c 41 // Pines de Entrada
davicone 0:ac833c85625c 42 AnalogIn pinSen1(p16); // Entrada para leer la temperatura del sensor 1
davicone 0:ac833c85625c 43 AnalogIn pinSen2(p17); // Entrada para leer la temperatura del sensor 2
davicone 0:ac833c85625c 44 AnalogIn pinSen3(p18); // Entrada para leer la temperatura del sensor 3
davicone 0:ac833c85625c 45 AnalogIn pinSen4(p19); // Entrada para leer la temperatura del sensor 4
davicone 0:ac833c85625c 46
davicone 0:ac833c85625c 47
davicone 0:ac833c85625c 48 // --------------------------------------------------------------------------- Prototipos
davicone 0:ac833c85625c 49 void LeerSerie (void); // Función para leer el puerto serie
davicone 0:ac833c85625c 50
davicone 0:ac833c85625c 51
davicone 0:ac833c85625c 52 // --------------------------------------------------------------------------- Programa principal
davicone 0:ac833c85625c 53 int main()
davicone 0:ac833c85625c 54 {
davicone 0:ac833c85625c 55 pc.baud(9600);
davicone 0:ac833c85625c 56 pc.printf("Iniciando\n\r"); // Se imprime y se da enter
davicone 0:ac833c85625c 57 pc.attach(&LeerSerie);
davicone 0:ac833c85625c 58
davicone 0:ac833c85625c 59 while(inicioProceso == No)
davicone 0:ac833c85625c 60 {
davicone 0:ac833c85625c 61 wait(0.1);
davicone 0:ac833c85625c 62 //pc.printf("y");
davicone 0:ac833c85625c 63 }// Espera a recibir comando
davicone 0:ac833c85625c 64
davicone 0:ac833c85625c 65 pc.printf("Proceso Iniciado\r\n");
davicone 0:ac833c85625c 66
davicone 0:ac833c85625c 67
davicone 0:ac833c85625c 68 // --------------------------------------------------------------------------- PROCESO
davicone 0:ac833c85625c 69 while(finProceso == No)
davicone 0:ac833c85625c 70 {
davicone 0:ac833c85625c 71
davicone 0:ac833c85625c 72
davicone 0:ac833c85625c 73
davicone 0:ac833c85625c 74 while(pausaProceso == Si) // ---------------------------------------- Proceso Pausado
davicone 0:ac833c85625c 75 {
davicone 0:ac833c85625c 76 pc.printf("Proceso Puasado\r\n");
davicone 0:ac833c85625c 77 wait(0.1);
davicone 0:ac833c85625c 78 }
davicone 0:ac833c85625c 79 }
davicone 0:ac833c85625c 80
davicone 0:ac833c85625c 81 pc.printf("Proceso Terminado\r\n");
davicone 0:ac833c85625c 82 }
davicone 0:ac833c85625c 83
davicone 0:ac833c85625c 84
davicone 0:ac833c85625c 85 // --------------------------------------------------------------------------- Funciones
davicone 0:ac833c85625c 86
davicone 0:ac833c85625c 87 // --------------------------------------------------------------------------- LeerSerie
davicone 0:ac833c85625c 88 void LeerSerie(void)
davicone 0:ac833c85625c 89 {
davicone 0:ac833c85625c 90 comando = pc.getc();
davicone 0:ac833c85625c 91 switch(comando)
davicone 0:ac833c85625c 92 {
davicone 0:ac833c85625c 93 case 'I':
davicone 0:ac833c85625c 94 inicioProceso = Si;
davicone 0:ac833c85625c 95 // Guardar Tiempo
davicone 0:ac833c85625c 96 // Guardar Temperatura
davicone 0:ac833c85625c 97 pc.scanf("%s %s",sTiempo, sTemperatura);
davicone 0:ac833c85625c 98 pc.printf("\r\n");
davicone 0:ac833c85625c 99 pc.printf(sTiempo);
davicone 0:ac833c85625c 100 pc.printf("\r\n");
davicone 0:ac833c85625c 101 pc.printf(sTemperatura);
davicone 0:ac833c85625c 102 pc.printf("\r\n");
davicone 0:ac833c85625c 103
davicone 0:ac833c85625c 104 tiempoFinal = atoi(sTiempo);
davicone 0:ac833c85625c 105 tempTrabajo = atoi(sTemperatura);
davicone 0:ac833c85625c 106 break;
davicone 0:ac833c85625c 107
davicone 0:ac833c85625c 108 case 'P':
davicone 0:ac833c85625c 109 pausaProceso = Si;
davicone 0:ac833c85625c 110 break;
davicone 0:ac833c85625c 111
davicone 0:ac833c85625c 112 case 'F':
davicone 0:ac833c85625c 113 finProceso = Si;
davicone 0:ac833c85625c 114 break;
davicone 0:ac833c85625c 115
davicone 0:ac833c85625c 116 case 'R':
davicone 0:ac833c85625c 117 pausaProceso = No;
davicone 0:ac833c85625c 118 break;
davicone 0:ac833c85625c 119
davicone 0:ac833c85625c 120 }
davicone 0:ac833c85625c 121 }