///Este proyecto es para Microhondas///
//BOTONES//
int INICIAR = 2;
int PAUSAR = 3;
int MINUTOS = 4;
int SEGUNDOS = 5;
//LEDS//
int SEGUNDOS10 = 6;
int SEGUNDOS20 = 7;
int SEGUNDOS30 = 8;
int MINUTO1 = 9;
int MINUTOS2 = 10;
int MINUTOS5 = 11;
int MINUTOS10 = 12;
int TRABAJANDO = 13;
float ValorSegundos = 0;
float valorMinutos = 0;
float Tiempo = 0;
#define SEGUNDO (1000)
#define MINUTO (60000UL)//esto equivale a un minuto
int pausa = 500;
void setup() {
Serial.begin(9600);
pinMode(INICIAR, INPUT);//se declara como entrada
pinMode(PAUSAR, INPUT);//se declara como entrada
pinMode(SEGUNDOS, INPUT);//se declara como entrada
pinMode(MINUTOS, INPUT);//se declara como entrada
pinMode(SEGUNDOS10, OUTPUT);//se declara como salida
pinMode(SEGUNDOS20, OUTPUT);//se declara como salida
pinMode(SEGUNDOS30, OUTPUT);//se declara como salida
pinMode(MINUTO1, OUTPUT);//se declara como salida
pinMode(MINUTOS2, OUTPUT);//se declara como salida
pinMode(MINUTOS5, OUTPUT);//se declara como salida
pinMode(MINUTOS10, OUTPUT);//se declara como salida
pinMode(TRABAJANDO, OUTPUT);//se declara como salida
}
void loop() {
//////////////////////////////////////
///////ARRANQUE DEL MICROHONDAS///////
//////////////////////////////////////
//SEGUNDOS//
if(digitalRead(SEGUNDOS) == HIGH){
valorMinutos = 0;
digitalWrite(MINUTO1, LOW);
digitalWrite(MINUTOS2, LOW);
digitalWrite(MINUTOS5, LOW);
digitalWrite(MINUTOS10, LOW);
ValorSegundos = ValorSegundos+10;
Serial.println(ValorSegundos);
delay(pausa);
if(ValorSegundos == 10){
digitalWrite(SEGUNDOS10, HIGH);
digitalWrite(SEGUNDOS30, LOW);
}
if(ValorSegundos == 20){
digitalWrite(SEGUNDOS10, LOW);
digitalWrite(SEGUNDOS20, HIGH);
}
if(ValorSegundos == 30){
digitalWrite(SEGUNDOS20, LOW);
digitalWrite(SEGUNDOS30, HIGH);
}
if(ValorSegundos == 40){
ValorSegundos = 10;
digitalWrite(SEGUNDOS10, HIGH);
digitalWrite(SEGUNDOS30, LOW);
Serial.println(ValorSegundos);
}
Tiempo = SEGUNDO*ValorSegundos;
Serial.println(Tiempo);
}
//MINUTOS//
if(digitalRead(MINUTOS) == HIGH){
ValorSegundos = 0;
digitalWrite(SEGUNDOS10, LOW);
digitalWrite(SEGUNDOS20, LOW);
digitalWrite(SEGUNDOS30, LOW);
valorMinutos = valorMinutos+1;
Serial.println(valorMinutos);
delay(pausa);
if(valorMinutos == 1){
digitalWrite(MINUTO1, HIGH);
digitalWrite(MINUTOS10, LOW);
}
if(valorMinutos == 2){
digitalWrite(MINUTO1, LOW);
digitalWrite(MINUTOS2, HIGH);
}
if(valorMinutos == 3){
digitalWrite(MINUTOS2, LOW);
digitalWrite(MINUTOS5, HIGH);
}
if(valorMinutos == 4){
digitalWrite(MINUTOS5, LOW);
digitalWrite(MINUTOS10, HIGH);
}
if(valorMinutos == 5){
valorMinutos = 1;
digitalWrite(MINUTO1, HIGH);
digitalWrite(MINUTOS10, LOW);
Serial.println(valorMinutos);
}
Tiempo = MINUTO*valorMinutos;
Serial.println(Tiempo);
}
if((ValorSegundos) || (valorMinutos) > 0){
if(digitalRead(INICIAR) == HIGH){
digitalWrite(TRABAJANDO, HIGH);
Serial.println("TRABAJANDO");
delay(Tiempo);
digitalWrite(TRABAJANDO, LOW);
ValorSegundos = 0;
digitalWrite(SEGUNDOS10, LOW);
digitalWrite(SEGUNDOS20, LOW);
digitalWrite(SEGUNDOS30, LOW);
valorMinutos = 0;
digitalWrite(MINUTO1, LOW);
digitalWrite(MINUTOS2, LOW);
digitalWrite(MINUTOS5, LOW);
digitalWrite(MINUTOS10, LOW);
Serial.println("HA TERMINADO");
delay(pausa);
}
}
}
Segundos
Minutos
Pausar
Cancelar
Iniciar
10
5
2
1
30
20
10
Minutos
Segundos
Trabajando