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 by
Diff: main.cpp
- Revision:
- 0:ac833c85625c
- Child:
- 1:677ecfe29f10
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Apr 09 03:43:05 2015 +0000 @@ -0,0 +1,121 @@ + +// --------------------------------------------------------------------------- Inclusiones +#include "mbed.h" +#include "string.h" +using namespace std; + +#define Si 1 +#define No 0 + + + + +// --------------------------------------------------------------------------- Variables y objetos +Serial pc(USBTX, USBRX); // Inicializo el puerto serie para comunicarme con la computadora + // La frecuencia por default es de 9600 + +// Variables +unsigned int tiempoFinal; // Variable para almacenar el tiempo máximo +float tempTrabajo; // Temperatura a la cual se debe mantener el sistema +float tempSen1; // Temperatura del sensor 1 +float tempSen2; // Temperatura del sensor 2 +float tempSen3; // Temperatura del sensor 3 +float tempSen4; // Temperatura del sensor 4 +Timer timmer; // Timer para medir el tiempo transcurrido +bool inicioProceso = No; // Variable para determinar si el proceso se inicia +bool pausaProceso = No; // Variable para pausar +bool finProceso = No; // Variable finalizar el proceso +char comando; // Variable para leer el comando a ejecutar en el proceso +char sTiempo[10]; +char sTemperatura[10]; + + +//Pines de Salida +DigitalOut reflector1(p26); // Salida para controlar el reflector 1 +DigitalOut reflector2(p25); // Salida para controlar el reflector 2 +DigitalOut reflector3(p24); // Salida para controlar el reflector 3 +DigitalOut reflector4(p23); // Salida para controlar el reflector 4 +DigitalOut ventilador1(p22); // Salida para controlar el ventilador 1 +DigitalOut ventilador2(p21); // Salida para controlar el ventilador 2 + +// Pines de Entrada +AnalogIn pinSen1(p16); // Entrada para leer la temperatura del sensor 1 +AnalogIn pinSen2(p17); // Entrada para leer la temperatura del sensor 2 +AnalogIn pinSen3(p18); // Entrada para leer la temperatura del sensor 3 +AnalogIn pinSen4(p19); // Entrada para leer la temperatura del sensor 4 + + +// --------------------------------------------------------------------------- Prototipos +void LeerSerie (void); // Función para leer el puerto serie + + +// --------------------------------------------------------------------------- Programa principal +int main() +{ + pc.baud(9600); + pc.printf("Iniciando\n\r"); // Se imprime y se da enter + pc.attach(&LeerSerie); + + while(inicioProceso == No) + { + wait(0.1); + //pc.printf("y"); + }// Espera a recibir comando + + pc.printf("Proceso Iniciado\r\n"); + + +// --------------------------------------------------------------------------- PROCESO + while(finProceso == No) + { + + + + while(pausaProceso == Si) // ---------------------------------------- Proceso Pausado + { + pc.printf("Proceso Puasado\r\n"); + wait(0.1); + } + } + + pc.printf("Proceso Terminado\r\n"); +} + + +// --------------------------------------------------------------------------- Funciones + +// --------------------------------------------------------------------------- LeerSerie +void LeerSerie(void) +{ + comando = pc.getc(); + switch(comando) + { + case 'I': + inicioProceso = Si; + // Guardar Tiempo + // Guardar Temperatura + pc.scanf("%s %s",sTiempo, sTemperatura); + pc.printf("\r\n"); + pc.printf(sTiempo); + pc.printf("\r\n"); + pc.printf(sTemperatura); + pc.printf("\r\n"); + + tiempoFinal = atoi(sTiempo); + tempTrabajo = atoi(sTemperatura); + break; + + case 'P': + pausaProceso = Si; + break; + + case 'F': + finProceso = Si; + break; + + case 'R': + pausaProceso = No; + break; + + } +} \ No newline at end of file