Ir al contenido principal

Sketch de juego de luces de 8 led con arduino


Este video explicada el funcionamiento de las luces secuenciales usando la placa Arduino. Ademas tiene otras secuencias como: luz que corre, luz en forma de ping pong, prende en pares y hace prender un foquito led aleatoriamente. Todo con 8 foquitos led.


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);
}

Comentarios

Sean45 ha dicho que…

Arduino:1.8.9 (Windows 10), Tarjeta:"Arduino/Genuino Uno"

Secuencia_de_8_canales_con_Arduino:74:1: error: stray '\342' in program

for(index = 7; index >= 0; index–)

^

Secuencia_de_8_canales_con_Arduino:74:1: error: stray '\200' in program

Secuencia_de_8_canales_con_Arduino:74:1: error: stray '\223' in program

Secuencia_de_8_canales_con_Arduino:103:1: error: stray '\342' in program

for(index = 7; index >= 0; index–)

^

Secuencia_de_8_canales_con_Arduino:103:1: error: stray '\200' in program

Secuencia_de_8_canales_con_Arduino:103:1: error: stray '\223' in program

exit status 1
stray '\342' in program

Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

esto me ha dado al pasar al arduino
Unknown ha dicho que…
tambien a mi y le agregue index-- pero aun asi lo marca

Entradas populares de este blog

Potenciómetro Lineal y Logaritmico

EL POTENCIÓMETRO LINEAL El potenciómetro lineal es aquel que varia su valor en ohmios en forma vertical o proporcional al movimiento de su eje. Es usado por ejemplo en las fuentes de voltaje para aumentar el voltaje en la salida según el movimiento de la perilla.  Se reconoce porque tiene impreso la letra B en su superficie, por ejemplo B100K. POTENCIÓMETRO LOGARÍTMICO El potenciómetro logarítmico no aumenta su valor en ohmios en forma proporcional sino logarítmico, es decir puede empezar con valores muy bajos y al acercarse al final recién inicia un aumento rápido. Generalmente se emplea como los controles de música en los equipos de sonido para iniciar con un volumen bajo que aumenta poco a poco y al final tiene un aumento rápido.  Se reconoce porque tiene impreso la letra A en su superficie, por ejemplo A100K.

Código de Colores de los resistores

Los resistores de carbón son fabricados para un determinado valor en ohmios y el fabricante imprime sobre su superficie unas franjas de colores que indican su valor. Para hacer la lectura se tiene que identificar el color dorado o plateado y colocarlo a la derecha tal como se puede observar en la imagen. La lectura se inicia por el lado izquierdo: El primer dígito indica un número. En la foto es verde (5) El Segundo dígito indica un segundo número que hay que juntarlo al primer dígito. En la foto es azul (6). Ahora juntando tenemos 56. El tercer dígito es el multiplicador o la cantidad de ceros que le tenemos que agregar. En la foto es el color marrón entonces le agregamos un cero. Ahora nos queda: 560 El cuarto color representa la tolerancia, es decir, el error que puede tener. En la foto es de color dorado, entonces puede tener un error del 5% mayor o menor. Es decir el resistor puede tener un valor que puede estar entre 532 ohmios y 588 ohmios. oro = dorado