Hola, mi nombre es Santy y estoy a punto de volverme loco. Soy muy muy novato en arduino, ee seguido tutoriales de domótica con arduino y no logro entender qué pasa con mi código. Veréis, este código a todos les deja encendido el led hasta que vuelves a pulsar otra cosa que no sea el 1, pero a mí me lo deja apagado siempre, y cuando pulso 1 solo enciende 1 milisegundo:
void setup()
{
pinMode(12, OUTPUT);
Serial.begin(115200);
}
void loop()
{
if(Serial.available()>0)
{
if(Serial.read()=='1' )
{
digitalWrite(12, HIGH);
}
else
{
digitalWrite(12, LOW);
}
}
}
Decidí incluir un Serial.println ("Encendido"); y un Serial.println ("Apagado"); dejándolo así:
void setup()
{
pinMode(12, OUTPUT);
Serial.begin(115200);
}
void loop()
{
if(Serial.available()>0)
{
if(Serial.read()=='1' )
{
digitalWrite(12, HIGH);
Serial.println( "Encendido" );
}
else
{
digitalWrite(12, LOW);
Serial.println( "Apagado" );
}
}
}
y cuando pulso 0, el monitor serie escribe:
Apagado
Apagado
Apagado
Cuando pulso 1, el monitor serie escribe:
Encendido
Apagado
Apagado
Es decir, hay como una especie de triple petición, donde sólo la primera es la correcta y las otras son incorrectas.
Pueden ayudarme?
Gracias