Como hacer un juego de luces de 8 led con arduino

int ledPins[] = {2,3,4,5,6,7,8,9};

void setup()
{
int index;

for(index = 0; index <= 7; index++)
{
pinMode(ledPins[index],OUTPUT);
}
}

void loop()
{

prendeTodosFoquitos();
delay(3000);
otroPrendeTodosFoquitos();
delay(3000);
movimientoLuz();
delay(3000);
pingPong();
delay(3000);
prendePares();
delay(3000);
aleatorioLED();
delay(3000);
}

void prendeTodosFoquitos()
{
int delayTime = 100;

// Prende los foquitos:

digitalWrite(ledPins[0], HIGH);
delay(delayTime);
digitalWrite(ledPins[1], HIGH);
delay(delayTime);
digitalWrite(ledPins[2], HIGH);
delay(delayTime);
digitalWrite(ledPins[3], HIGH);
delay(delayTime);
digitalWrite(ledPins[4], HIGH);
delay(delayTime);
digitalWrite(ledPins[5], HIGH);
delay(delayTime);
digitalWrite(ledPins[6], HIGH);
delay(delayTime);
digitalWrite(ledPins[7], HIGH);
delay(delayTime);

// apaga los foquitos:

digitalWrite(ledPins[7], LOW);
delay(delayTime);
digitalWrite(ledPins[6], LOW);
delay(delayTime);
digitalWrite(ledPins[5], LOW);
delay(delayTime);
digitalWrite(ledPins[4], LOW);
delay(delayTime);
digitalWrite(ledPins[3], LOW);
delay(delayTime);
digitalWrite(ledPins[2], LOW);
delay(delayTime);
digitalWrite(ledPins[1], LOW);
delay(delayTime);
digitalWrite(ledPins[0], LOW);
delay(delayTime);
}

void otroPrendeTodosFoquitos()
{
int index;
int delayTime = 100;

// Prende los foquitos

for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
}
// Apaga los foquitos

for(index = 7; index >= 0; index–)
{
digitalWrite(ledPins[index], LOW);
delay(delayTime);
}
}

void movimientoLuz()
{
int index;
int delayTime = 100;

for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}
}

void pingPong()
{
int index;
int delayTime = 100;

// corre luz de 0 to 7

for(index = 0; index <= 7; index++)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}

// corre luz de 7 to 0

for(index = 7; index >= 0; index–)
{
digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}
}

void prendePares()
{
int index;
int delayTime = 200;

for(index = 0; index <= 3; index++)
{
digitalWrite(ledPins[index], HIGH);
digitalWrite(ledPins[index+4], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
digitalWrite(ledPins[index+4], LOW);
}
}

void aleatorioLED()
{
int index;
int delayTime;

index = random(8);
delayTime = 100;

digitalWrite(ledPins[index], HIGH);
delay(delayTime);
digitalWrite(ledPins[index], LOW);
}

Como usar un foquito led RGB en la placa arduino

const int ROJO_PIN = 9;
const int VERDE_PIN = 10;
const int AZUL_PIN = 11;

void setup()
{
pinMode(ROJO_PIN, OUTPUT);
pinMode(VERDE_PIN, OUTPUT);
pinMode(AZUL_PIN, OUTPUT);
}

void loop()
{
unicosColores();

maticesColores();
}

void unicosColores()
{

// Apaga todos los leds:

digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, LOW);

delay(1000);

// Rojo:

digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, LOW);

delay(1000);

// verde:

digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, LOW);

delay(1000);

// azul:

digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, HIGH);

delay(1000);

// amarillo:

digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, LOW);

delay(1000);

// Cyan:

digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, HIGH);

delay(1000);

// morado:

digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, HIGH);

delay(1000);

// blanco:

digitalWrite(ROJO_PIN, HIGH);
digitalWrite(VERDE_PIN, HIGH);
digitalWrite(AZUL_PIN, HIGH);

delay(1000);

// Apaga todos los leds:

digitalWrite(ROJO_PIN, LOW);
digitalWrite(VERDE_PIN, LOW);
digitalWrite(AZUL_PIN, LOW);

delay(1000);

}

void maticesColores()
{
int x;

for (x = 0; x < 768; x++)

{
verRGB(x);
delay(10);
}
}

void verRGB(int color)
{
int intensidadRojo;
int intensidadVerde;
int intensidadAzul;

if (color <= 255)
{
intensidadRojo = 255 – color;
intensidadVerde = color;
intensidadAzul = 0;
}
else if (color <= 511)
{
intensidadRojo = 0;
intensidadVerde = 255 – (color – 256);
intensidadAzul = (color – 256);
}
else
{
intensidadRojo = (color – 512);
intensidadVerde = 0;
intensidadAzul = 255 – (color – 512);
}

analogWrite(ROJO_PIN, intensidadRojo);
analogWrite(AZUL_PIN, intensidadAzul);
analogWrite(VERDE_PIN, intensidadVerde);
}

Este ejemplo nos permite aplicar el uso del foquito led RGB. Este diodo tiene integrado a 3 foquitos led de color Rojo, Verde y Azul. Podemos combinar estos colores primarios para visualizar los que falta.

Por ejemplo al ejecutar el sketch podemos apreciar como como se combinan los colores primarios para apreciar los siguientes colores: rojo, verde, azul, amarillo, cyan, morado y blanco.

Luego durante unos 7.67 segundos se visualizará un matiz de colores que inicia en el rojo y termina en el mismo rojo. Les recomiendo ver el video.

Materiales usados:

  • 01 Placa arduino uno
  • 01 led RGB
  • 03 resistores de 330 ohmios
  • cables para conectar.

Como hacer parpadear la luz en diodo Led controlado por un potenciómetro en Arduino


int sensor = 0;
int ledPin = 8;

void setup() {

pinMode(ledPin, OUTPUT);

}

void loop() {

int pot;

pot = analogRead(sensor);

digitalWrite(ledPin, HIGH);

delay(pot);

digitalWrite(ledPin, LOW);

delay(pot);

}


El objetivo del siguiente ejemplo es controlar el parpadeo del foquito led mediante un potenciómetro. Para esto necesitamos los siguientes materiales:

  • 01 Placa arduino uno
  • 01 potenciómetro
  • 01 diodo led
  • 01 resistor de 330 ohms
  • alambres para conectar.