/*
--------------------------------------
Escritura serial
--------------------------------------
Consiste en escribir por la pantalla del computador (consola serial)
una letra predeterminada, la primera vez que se escriba está
un LED se enciende, si se vuelve a escribir por segunda vez
el LED se apaga.
Cosas de Mecatrónica y Tienda de Robótica
*/
//--------------------------------------------------
//Declara puertos de entradas y salidas y variables
//--------------------------------------------------
int led = 13;//Pin donde se encuentra el LED, salida
char leer;//Variable donde se almacena la letra
boolean prendido=false; //Estado LED la primera vez, apagado
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
pinMode(led, OUTPUT); //Configurar el LED como una salida
Serial.begin(9600);//Inicia comunicación serial
Serial.println("Pulsa 'a' para encender y 'a' para apagar");
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la consola serial
leer=Serial.read();
// Si es la letra 'a' y además el LED está apagado
if ( (leer=='a') && (prendido==false) )
{
digitalWrite(led,HIGH); // Enciende el LED
prendido=true;// Actualiza el estado del LED
Serial.println("Led apagado");
}
// Si es la letra 'a' y además el LED está encendido
else if ( (leer=='a') && (prendido==true) )
{
digitalWrite(led,LOW); // Apaga el LED
prendido=false;// Actualiza el estado del LED
Serial.println("Led apagado");
}
}
//Fin programa
/*
int pulsador=2;
int led=13;
char estado;
void setup()
{
pinMode (pulsador,INPUT);
pinMode (led,OUTPUT);
Serial.begin (9600);
Serial.print ("Pulsa A para encender y S para apagar");
}
void loop()
{
if (Serial.available()>0)
{
estado=Serial.read();
}
if (estado=='A')
{
digitalWrite(led,HIGH);
}
if (estado=='S')
{
//else{digitalWrite(led,LOW);
digitalWrite(led,LOW);
}
}
*/