///Este proyecto es para lavadora con motor de 1 velocidad///
///para lavado "Normal"///
///con 2 switches; para agua fria y para agua caliente///
///con actuador de para lavar y centrifugar///
///con bomba de drenar electrica///
///con alarma al terminar
int ACTUADORLAVAR = 3;
int INICIAR = 13;
int ENCENDIDA = 12;
int VALVULAS = 11;
int LLENANDO = 10;
int LAVANDO = 8;
int DRENAR = 7;
int ESPRIMIR = 6;
int ACTUADOR = 5;
int LLENO = 4;
int ALARMA = 2;
int pausa = 2000;
//int TiempoLavando = 60 * 15000;//15 minutos lavando
//int TiempoEsprimiendo = 60 * 5000;//5 minutos esprimiendo
//int TiempoDrenando = 60 * 2000;//2 minutos drenando agua
//int Enjuagando = 60 * 5000;//5 minutos enjuagando
////////SOLO PARA PRUEVA//////////
int TiempoLavando = 15000;//15 minutos lavando
int TiempoEsprimiendo = 5000;//5 minutos esprimiendo
int TiempoDrenando = 2000;//2 minutos drenando agua
int Enjuagando = 5000;//5 minutos enjuagando
////LOS TIEMPOS SON MAS CORTOS////////
void setup() {
pinMode(INICIAR, INPUT);//se declara como entrada
pinMode(VALVULAS, OUTPUT);//se declara como salida
pinMode(LLENANDO, OUTPUT);//se declara como salida
pinMode(LLENO, INPUT);//se declara como entrada
pinMode(LAVANDO, OUTPUT);//se declara como salida
pinMode(DRENAR, OUTPUT);//se declara como salida
pinMode(ESPRIMIR, OUTPUT);//se declara como salida
pinMode(ACTUADOR, OUTPUT);//se declara como salida
pinMode(ACTUADORLAVAR, INPUT);//se declara como entrada
pinMode(ALARMA, OUTPUT);//se declara como salida
}
void loop() {
//////////////////////////////////////
///////ARRANQUE DE LA LAVADORA///////
/////////EN POSISION NORMAL///////////
//////////////////////////////////////
if(digitalRead(INICIAR) == HIGH){//Cuando el switch esta en posision normal
digitalWrite(ENCENDIDA, HIGH);//encielde la luz que indica que la lavadora esta prendida
delay(pausa);//da un tiempo de espera
digitalWrite(VALVULAS, HIGH);//enciende las valvulas de llenado de agua
digitalWrite(LLENANDO, HIGH);//encielde la luz que indica que esta llenando agua
///////////////////////////////
///////PRIMER CICLO//////////
/////////////////////////////////////
while(digitalRead(LLENO)== LOW){//mientras el presostato no manda señal por estar la tina vacia
digitalRead(LLENO)== HIGH;// y hasta que el persostato mande la señal de tina llena
}
digitalWrite(VALVULAS, LOW);//las valvulas de agua se apagan
digitalWrite(LLENANDO, LOW);//se apaga la luz de llenando
digitalWrite(ACTUADOR, HIGH);//activa el actuador para que enganche la tina para lavar
while(digitalRead(ACTUADORLAVAR)== LOW){//mientras el actuador esta en posision abierta
digitalRead(ACTUADORLAVAR)== HIGH;//y hasta que el actuador se sierre y mande la señal de enganchado
}
digitalWrite(ACTUADOR, LOW);//se apaga la corriente que activa el actuador
delay(pausa);//da un tiempo de espera
digitalWrite(LAVANDO, HIGH);//prende el motor para lavar
delay(TiempoLavando);//espera que pase el tiempo de lavado
digitalWrite(LAVANDO, LOW);//se apaga el motor de lavar
delay(pausa);//da un tiempo de espera
digitalWrite(ACTUADOR, HIGH);//activa el actuador para que desenganche la tina
while(digitalRead(ACTUADORLAVAR)== HIGH){//mientras el actuador esta en posision cerrada
digitalRead(ACTUADORLAVAR)== LOW;//y hasta que el actuador se sierre y mande la señal de desenganchado
}
digitalWrite(ACTUADOR, LOW);//desactiva el actuador cuando ya sesengancho la tina
delay(pausa);//da un tiempo de espera
digitalWrite(DRENAR, HIGH);//enciende la bomba de drenar
digitalWrite(ESPRIMIR, HIGH);//enciende el motor para esprimir
delay(TiempoDrenando);//espera a que drene el agua
digitalWrite(DRENAR, LOW);//apaga la bomba de drenar
delay(TiempoEsprimiendo);//espera que pase el tiempo de esprimir
digitalWrite(ESPRIMIR, LOW);//apaga el motor de esprimir
delay(pausa);//da un tiempo de espera
//////////////////////////////////////
///////ARRANQUE DE LA ENJUAGADA///////
//////////////////////////////////////
if (digitalRead(LLENO) == LOW) {//si la tina esta vacia
digitalWrite(VALVULAS, HIGH);//enciende las valvulas de llenado de agua
digitalWrite(LLENANDO, HIGH);//encielde la luz que indica que esta llenando agua
while(digitalRead(LLENO)== LOW){//mientras la tina esta vacia
digitalRead(LLENO)== HIGH;//y hazta que la tina se llene
}
digitalWrite(VALVULAS, LOW);//las valvulas de agua se apagan
digitalWrite(LLENANDO, LOW);//se apaga la luz de llenando
digitalWrite(ACTUADOR, HIGH);//activa el actuador para que enganche la tina para lavar
while(digitalRead(ACTUADORLAVAR)== LOW){//mientras la señal del actuador esta abierta
digitalRead(ACTUADORLAVAR)== HIGH;//y hazta que la señal del actuador se cierre
}
digitalWrite(ACTUADOR, LOW);//se apaga la corriente que activa el actuador
delay(pausa);//da un tiempo de espera
digitalWrite(LAVANDO, HIGH);//prende el motor para lavar
delay(Enjuagando);//espera que pase el tiempo de Enjuagado
digitalWrite(LAVANDO, LOW);//se apaga el motor de lavar
delay(pausa);//da un tiempo de espera
digitalWrite(ACTUADOR, HIGH);//activa el actuador para que desenganche la tina
while(digitalRead(ACTUADORLAVAR)== HIGH){
digitalRead(ACTUADORLAVAR)== LOW;
}
digitalWrite(ACTUADOR, LOW);//desactiva el actuador cuando ya sesengancho la tina
delay(pausa);//da un tiempo de espera
digitalWrite(DRENAR, HIGH);//enciende la bomba de drenar
digitalWrite(ESPRIMIR, HIGH);//enciende el motor para esprimir
delay(TiempoDrenando);//espera a que drene el agua
digitalWrite(DRENAR, LOW);//apaga la bomba de drenar
delay(TiempoEsprimiendo);//espera que pase el tiempo de esprimir
digitalWrite(ESPRIMIR, LOW);//apaga el motor de esprimir
digitalWrite(ALARMA, HIGH);//Activa la alarma
delay(pausa);//da un tiempo de espera
digitalWrite(ALARMA, HIGH);//Apaga la alarma
digitalWrite(ENCENDIDA, LOW);//apaga la luz que indica que la lavadora esta prendida
}
}
}
ON---Hot---Cold--Fill--Wash--Drain---Spin-----Shifter
Empty--Full
Spin--Wash
Hot---Cold
Start
330phms
10K ohms
Alarma