Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of ControlTemperatura_2_3 by
main.cpp@0:ac833c85625c, 2015-04-09 (annotated)
- Committer:
- davicone
- Date:
- Thu Apr 09 03:43:05 2015 +0000
- Revision:
- 0:ac833c85625c
- Child:
- 1:677ecfe29f10
:)
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |
