Hola, Buenos dìas a todos:
Hoy les molesto pues tengo un còdigo que hace un par de semanas me funcionaba perfectamente, pero ahora no me funciona, a pesar de que compila sin errores, no funciona.
Se trata de uno de los ejercicios planteados en un libro de pràcticas de Arduino, por el que estoy preparàndome.
El còdigo es muy simple, se trata de enviar la palabra "encender" por el monitor serial para encender el Led asociado al pin 13 de la placa Arduino, sin embargo, cuando escribo "apagar", se debe apagar el Led.
Descarto desde ya la placa, (Arduino UNO R3), ya que siendo el led del pin-13 On-Board, no hay ningùn circuito conectado.
Tambièn he probado otros còdigos y funciona. Realmente, no logro entender que puede estar pasando, estoy utilizando la misma placa en el mismo ordenador de siempre....
Me gustarìa, si alguno ha tenido una experiencia similar, me diera alguna idea o sugerencia. Le dejo el còdigo màs abajo.
Les agradezco de antemano vuestra atenciòn y les deseo buenos dìas y buen trabajo!!!!
/*---------------------------------------------------
Escritura Serial (variante)
--------------------------------------------------
Consiste en escribir "encender" por la consola serial del ordenador
para encender el led, si escribo "apagar", se debe apagar el led que estarà en el
pin 13
*/
//-----------------------------------------------------
//Declarar puertos de entrada y salida, variables, etc.
//-----------------------------------------------------
int led = 13; //declaro que el led estarà conectado al pin 13
boolean encendido = false; //declaro una bandera "encendido" que inicializo como false=led apagado
String leer; //declaro la cadena donde se almacena la palabra
//------------------------------------
//Funciòn principal o de configuraciòn
//------------------------------------
void setup()
{
Serial.begin (9600); //inicializo la comunicaciòn serial a 9600 baudios
pinMode (led, OUTPUT); //inicializo el pin led=13 como salida
}
//--------------------
//Funciòn cìclica
//--------------------
void loop()
{
leer = Serial.readString(); //mando a leer lo que hay escrito en la consola serial
Serial.println(leer); //lo escribo para verlo en la consola serial
if ( (leer == "encender") && (encendido == false) ) //pregunto si la letra es "encender" y si el led estaba apagado
{
digitalWrite (led, HIGH); //si se cumplen las dos condiciones entonces enciendo el led
encendido = true; //cambio la bandera encendido a verdadero
}
else if ( (leer == "apagar") && (encendido == true) ) //pregunto si escribio "apagar" con el led encendido
{
digitalWrite(led, LOW); //si se cumplen las dos condiciones, apago el led
encendido = false; //y vuelvo a cambiar la bandera y pongo encendido como falso
}
}
// Fin del programa