Professional Documents
Culture Documents
ESCUELA
PROFESIONAL
DE
INGENIERA
MECNICA ELCTRICA Y MECATRNICA
MECNICA,
CDIGO
//UNIVERSIDAD CATOLICA DE SANTA MARIA
//EPIMMEM
//RESOLUCION DEL EXAMEN II FASE
//PRESENTADO POR: PALACO MANI MAX
int BOTON_PISO_1 = 13;
int BOTON_PISO_2 = 12;
int BOTON_PISO_3 = 11;
int PARAR= 0;
int IND_NIVEL_1 = 10;
int IND_NIVEL_2 = 9;
int IND_NIVEL_3 = 8;
int ABRIR_PUERTA = 7;
int CERRAR_PUERTA = 6;
int SUBIR = 5;
int BAJAR = 4;
int p4 = 0;
int VAL_NIVEL_P1 = 0;
int VAL_NIVEL_P2 = 0;
int VAL_NIVEL_P3 = 0;
int VAL_P4 = 0;
int tiempo = 5000; //variable para el delay
int SENSOR = 1; //bandera
void setup()
{
pinMode(BOTON_PISO_1, INPUT);
pinMode(BOTON_PISO_2, INPUT);
pinMode(BOTON_PISO_3, INPUT);
pinMode(PARAR, INPUT);
pinMode(IND_NIVEL_1, OUTPUT);
pinMode(IND_NIVEL_2, OUTPUT);
pinMode(IND_NIVEL_3, OUTPUT);
pinMode(ABRIR_PUERTA, OUTPUT);
pinMode(CERRAR_PUERTA, OUTPUT);
pinMode(SUBIR, OUTPUT);
pinMode(BAJAR, OUTPUT);
}
void PUERTA()
{
digitalWrite(ABRIR_PUERTA, 1);
delay(30000);
digitalWrite(ABRIR_PUERTA, 0);
digitalWrite(CERRAR_PUERTA, 1);
delay(30000);
digitalWrite(CERRAR_PUERTA, 0);
}
void loop()
{
VAL_NIVEL_P1 = digitalRead(BOTON_PISO_1);
VAL_NIVEL_P2 = digitalRead(BOTON_PISO_2);
VAL_NIVEL_P3 = digitalRead(BOTON_PISO_3);
VAL_P4=digitalRead(PARAR);
if(VAL_P4!=1)
{
// PRIMER PISO
if (VAL_NIVEL_P1 == HIGH) {
if (SENSOR == 2 || SENSOR == 3) {
digitalWrite(BAJAR, 1);
delay(tiempo / 2);
}
if (SENSOR == 3) {
digitalWrite(IND_NIVEL_1, 0);
//delay(tiempo);
digitalWrite(IND_NIVEL_2, 1);
delay(tiempo);
digitalWrite(IND_NIVEL_2, 0);
SENSOR = 1;
}
digitalWrite(IND_NIVEL_1, 1);
delay(tiempo / 2);
digitalWrite(IND_NIVEL_2, 0);
digitalWrite(IND_NIVEL_3, 0);
delay(tiempo);
PUERTA();
digitalWrite(BAJAR, 0);
//SEGUNDO PISO
if (VAL_NIVEL_P2== HIGH) {
if (SENSOR == 1) {
digitalWrite(SUBIR, 1);
delay(tiempo / 2);
SENSOR = 2;
} else if (SENSOR == 3) {
digitalWrite(BAJAR, 1);
delay(tiempo / 2);
SENSOR = 2;
}
digitalWrite(IND_NIVEL_2, 1);
digitalWrite(IND_NIVEL_1, 0);
digitalWrite(IND_NIVEL_3, 0);
delay(tiempo);
PUERTA();
digitalWrite(SUBIR, 0);
digitalWrite(BAJAR, 0);
}
//TERCER PISO
if (VAL_NIVEL_P3 == HIGH) {
if (SENSOR == 1 || SENSOR == 2) {
digitalWrite(SUBIR, 1);
delay(tiempo / 2);
}
if (SENSOR == 1) {
digitalWrite(IND_NIVEL_3, 0);
delay(tiempo);
digitalWrite(IND_NIVEL_2, 1);
delay(tiempo);
digitalWrite(IND_NIVEL_2, 0);
SENSOR = 3;
}
digitalWrite(IND_NIVEL_3, 1);
digitalWrite(IND_NIVEL_2, 0);
digitalWrite(IND_NIVEL_1, 0);
delay(tiempo);
PUERTA();
digitalWrite(SUBIR, 0);
}
}
}
else
{
digitalWrite(SUBIR,0);
delay(tiempo);
digitalWrite(BAJAR,0);
delay(tiempo);
}
}