CCCPaste

ExplicacionesProyectoEvalacionITES

//https://pastebin.com/9fEnxkgr

30/06/2020
char fecha[]={"200630"};	//AAMMDD
char hora[]={"0959"};	//

IncrementarFecha();	//Incrementa en un día, la variable fecha

bool transmitir_hora=0;

loop()
	{
	ActualizarHora();	//Se encarga de mantener actualizada la hora
	TransmisionSerie();
	RecepcionSerie();
	ActualizaDisplay();
	SupervisaMenu();
	ActualizarMenu();
	CtrlAlarma();
	}

voir ActualizarMenu(void)
	{
	static unsigned char opcion_ant=-1;

	//Sigue en el menu
	//se cambió de opción

	if(opcion != opcion_)
	switch(opcion)
		{

		}

	opcion_ant=opcion;
	}

#define ADC_PIN	A5
#define LEER_ADC 	AnalogRead(ADC_PIN)


void SupervisaADC(void)
	{
	adc=LEER_ADC;	//adc va de 0 a 1023
	opcion=DeterminarPosicion(adc);
	if(opcion==opcion_ant) return;

	}

DeterminarPosicion(unsigned int valor)
	{
	if(valor < 250) return(OPCION_1);	//0-25%
	if(valor < 500)	return(OPCION_2);	//25-50%
	if(valor < 750)	return(OPCION_3);	//50-75%
	return(OPCION_4);					//75-100%
	}

void RecepcionSerie(void)
	{
	if(!Serial.available()) return;

	if(!se_recibio_encabezado)
		{
		dato=Serial.read();
		if(dato!='#') return;
		se_recibio_encabezado=1;
		return;
		}
	//#Actualiza--> Activar Alarma
	//#FL
	//#FA0923
	
	dato=Serial.read();
	switch(dato)
		{
		case 'F':	
		case 'A':	armar=1;	se_recibio_encabezado=0;	break;
		}
	}

void TransmisionSerie(void)
	{
	if(tramisitir_hora)
		{
		transmitir_hora=0;
		Serial.print(hora);
		}
	}

void ActualizarHora(void)	//Actualiza la variable hora
	{
	//Si no pasaron 60 segundos, salir
	if(millis() - millis_ini < 60000) return;
	millis_ini=millis();
	
	imprimir_hora=1;

	if(hora[3]<'9')
		{
		hora[3]++;
		return;
		}
	//las unidades de los minutos es 9
	hora[3]='0';
	if(hora[2]<'5')
		{
		hora[2]++;	//Decenas de los minutos
		return;
		}
	hora[2]=0;
	//Incrementar la hora
	//...

	//Cuando llegue al final del día
	IncrementarFecha();
	}