//LEDS CONECTADOS EN FORMA DE ESTRELLA Y UNO EN EL CENTRO
//mEDIANTE BLUETERM ENVIAMOS CARACTERES (SEGUN LAS TECLAS) Y SE
//ENCIENDEN / APAGAN LOS LEDS SELECCIONADOS
int ledArriba = 2;
int ledCentro = 6;
int ledAbajo = 4;
int ledDerecha = 3;
int ledIzquierda = 5;
byte dato;
////////////////////////////////////////////////////////////////////////
void setup() {
Serial.begin(9600);
pinMode(ledArriba,OUTPUT);
pinMode(ledAbajo,OUTPUT);
pinMode(ledIzquierda,OUTPUT);
pinMode(ledDerecha,OUTPUT);
pinMode(ledCentro,OUTPUT);
}
void loop() {
if (Serial.available()) //Guardamos en la variable dato el valor leido
dato= Serial.read();
//Comprobamos el dato
switch(dato)
{//Si recibimos una ...
case 85: //ARRIBA
{
digitalWrite(ledArriba, HIGH);
digitalWrite(ledAbajo, LOW);
digitalWrite(ledDerecha, LOW);
digitalWrite(ledIzquierda, LOW);
digitalWrite(ledCentro, LOW);
break;
}
case 68: //"U": ABAJO
{
digitalWrite(ledArriba, LOW);
digitalWrite(ledAbajo, HIGH);
digitalWrite(ledDerecha, LOW);
digitalWrite(ledIzquierda, LOW);
digitalWrite(ledCentro, LOW);
break;
}
case 67: //"D": CENTRO
{
digitalWrite(ledArriba, LOW);
digitalWrite(ledAbajo, LOW);
digitalWrite(ledDerecha, LOW);
digitalWrite(ledIzquierda, LOW);
digitalWrite(ledCentro, HIGH);
break;
}
case 76: //"L": IZQ
{
digitalWrite(ledArriba, LOW);
digitalWrite(ledAbajo, LOW);
digitalWrite(ledDerecha, LOW);
digitalWrite(ledIzquierda, HIGH);
digitalWrite(ledCentro, LOW);
break;
}
case 82: //"R": DCH
{
digitalWrite(ledArriba, LOW);
digitalWrite(ledAbajo, LOW);
digitalWrite(ledDerecha, HIGH);
digitalWrite(ledIzquierda, LOW);
digitalWrite(ledCentro, LOW);
break;
}
case 97: //Recibimos "a"
{
sentidoReloj();
break;
}
case 98: //Recibimos "b"
{
sentidoContrario();
break;
}
case 99: //Recibimos "c"
{
fueraDentro();
break;
}
}
}
void sentidoReloj(){
digitalWrite(ledArriba, HIGH);
delay(100);
digitalWrite(ledArriba, LOW);
delay(10);
digitalWrite(ledDerecha, HIGH);
delay(100);
digitalWrite(ledDerecha, LOW);
delay(10);
digitalWrite(ledAbajo, HIGH);
delay(100);
digitalWrite(ledAbajo, LOW);
delay(10);
digitalWrite(ledIzquierda, HIGH);
delay(100);
digitalWrite(ledIzquierda, LOW);
delay(10);
}
void sentidoContrario(){
digitalWrite(ledArriba, HIGH);
delay(100);
digitalWrite(ledArriba, LOW);
delay(10);
digitalWrite(ledIzquierda, HIGH);
delay(100);
digitalWrite(ledIzquierda, LOW);
delay(10);
digitalWrite(ledAbajo, HIGH);
delay(100);
digitalWrite(ledAbajo, LOW);
delay(10);
digitalWrite(ledDerecha, HIGH);
delay(100);
digitalWrite(ledDerecha, LOW);
delay(10);
}
void fueraDentro(){
digitalWrite(ledArriba, HIGH);
digitalWrite(ledDerecha, HIGH);
digitalWrite(ledAbajo, HIGH);
digitalWrite(ledIzquierda, HIGH);
delay(1000);
digitalWrite(ledArriba, LOW);
digitalWrite(ledDerecha, LOW);
digitalWrite(ledAbajo, LOW);
digitalWrite(ledIzquierda, LOW);
delay(10);
digitalWrite(ledCentro, HIGH);
delay(1000);
digitalWrite(ledCentro, LOW);
delay(10);
}