COLORKEY (2 / 5 paso)

Paso 2: ¿Cómo funciona COLORKEY?

Para hacer el objeto funcional, utiliza cableado para lograr la programación de objeto.
Cada color es un interruptor de pulso que se conecta al cableado. Cuando 3 de los 6 interruptores se activan; cableado automáticamente activa una cerradura eléctrica.

Aquí está el código para COLORKEY:

int switchrojo = 0;
int switchverde = 1;
int switchmorado = 2;
int switchazul = 3;
int switchamarillo = 4;
int switchnaranja = 5;
cerradura int = 8;
int presionadorojo = 0;
int presionadoverde = 0;
int presionadomorado = 0;
int presionadoazul = 0;
int presionadoamarillo = 0;
int presionadonaranja = 0;
int times_pressed = 0;
start_time largo = 0;

void setup()
{
pinMode (switchrojo, entrada);
pinMode (switchverde, entrada);
pinMode (switchmorado, entrada);
pinMode (switchazul, entrada);
pinMode (switchamarillo, entrada);
pinMode (switchnaranja, entrada);
pinMode (cerradura, salida);
Serial.Begin(9600);
pinMode (48, salida);
digitalWrite (48, alto);
}

void loop() {}

if(digitalRead(switchrojo) == LOW) {}
while(digitalRead(switchrojo) == LOW);
presionadorojo = 1;
times_pressed ++;
}
if(digitalRead(switchverde) == LOW) {}
while(digitalRead(switchverde) == LOW);
presionadoverde = 1;
times_pressed ++;
}
if(digitalRead(switchazul) == LOW) {}
while(digitalRead(switchazul) == LOW);
presionadoazul = 1;
times_pressed ++;
}
if(digitalRead(switchmorado) == LOW) {}
while(digitalRead(switchmorado) == LOW);
presionadomorado = 1;
times_pressed ++;
}
if(digitalRead(switchamarillo) == LOW) {}
while(digitalRead(switchamarillo) == LOW);
presionadoamarillo = 1;
times_pressed ++;
}
if(digitalRead(switchnaranja) == LOW) {}
while(digitalRead(switchnaranja) == LOW);
presionadonaranja = 1;
}
if(Millis() - start_time > 5000) {}
times_pressed = 0;
presionadorojo = 0;
presionadoverde = 0;
presionadoazul = 0;
presionadomorado = 0;
presionadoamarillo = 0;
presionadonaranja = 0;
start_time = millis();
}
Si (times_pressed > = 3) {}

Si ((presionadorojo == 0) & &
(presionadoverde == 1) & &
(presionadomorado == 0) & &
(presionadoazul == 1) & &
(presionadoamarillo == 0) & &
(presionadonaranja == 1))
{
digitalWrite (cerradura, alto);
retrasar (5000);
digitalWrite (cerradura, LOW);
times_pressed = 0;
presionadorojo = 0;
presionadoverde = 0;
presionadoazul = 0;
presionadomorado = 0;
presionadoamarillo = 0;
presionadonaranja = 0;
start_time = millis();
}
}
Serial.Print (presionadorojo, DEC);
Serial.Print("");
Serial.Print (presionadoverde, DEC);
Serial.Print("");
Serial.Print (presionadoazul, DEC);
Serial.Print("");
Serial.Print (presionadomorado, DEC);
Serial.Print("");
Serial.Print (presionadoamarillo, DEC);
Serial.Print("");
Serial.println (presionadonaranja, DEC);

Serial.Print (times_pressed, DEC);
Serial.Print("");
Delay(100);
}

Artículos Relacionados