Así que estoy trabajando con Gizduino (clon de Arduino), teclado y led. Lo que estoy haciendo es obtener el valor de la tecla presionada y luego encender el LED de acuerdo con el valor (por ejemplo, cuando presioné 2 en el teclado, parpadearán los 2 LED). Sé que esto es básico pero por favor ten paciencia conmigo. Tengo este código (no incluiré algunas cosas realmente básicas como el mapeo de teclas o algo que no esté relacionado con mi pregunta).
int led1 = A0;
int led2 = A1;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
char keypressed = myKeypad.getKey();
if(keypressed != NO_KEY)
{
if(keypressed > 47 && keypressed < 58) // is between '0' and '9'
{
if(!mySwitch)
{
num1 = (num1 * 10) + (keypressed - 48);
}
else
{
num2 = (num2 * 10) + (keypressed - 48);
}
if(keypressed = '1')
{
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led1,LOW);
delay(500);
}
if(keypressed = '2')
{
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led2,LOW);
delay(500);
}
}
}
Lo que pasa es que cuando presiono '1' en el teclado, el primer led parpadeará y luego el segundo también lo hará. ¿Por qué está pasando esto? ¿Hay algún problema en mi código?