Usando el circuito realizado en la práctica #1, realizar cambios cambios en la programación de tal forma que realice lo siguiente:
- Usando estructuras de repetición para hacer que un LED SE PRENDA Y SE MUEVA POR LOS BORDES de la matriz 8x8 (la imagen a continuación detalla el movimiento).
Practimante el led deber recorrer los bordes de la matriz 8x8 de manera secuencial tal como lo describe la imagen, recordar que el led debe representar un punto o un cuerpo en movimiento debe simular el movimiento.
Resumen de la actividad.
Al comienzo de elaborar el código respectivo con mi compañero Geovanny Vera no estábamos conscientes por donde comenzar, bueno para no dificultar mas las cosas nos guiamos del primer código del Mr. Guevara el cual describía que los leds se encendían por toda la matriz, pues ahora solo queremos el borde entonces en la seccion de "void setup" ademas de declarar la variable y determinar que se enciende secuencial mente. al principio me confundí con LOW y HIGH entonces el código o la secuencia estaba al revés. Colocamos los limites en los cuales se encienda el led
}.
for (int j=2; j<10; j++) {
digitalWrite(j, LOW);
}
for (int j=10; j<18; j++) {
digitalWrite(j, HIGH);
}
Código Bordes:
void setup() {
for (int j=2; j<19; j++) {
pinMode(j, OUTPUT);
}
for (int j=2; j<10; j++) {
digitalWrite(j, LOW);
}
for (int j=10; j<18; j++) {
digitalWrite(j, HIGH);
}
}
void loop() {
/*digitalWrite(2, HIGH);
digitalWrite(10, LOW);*/
for (int j=2; j<3; j++) {
digitalWrite(j, HIGH); //Levantamos la columna
for (int k= 10 ; k<17 ; k++) {
digitalWrite(k, LOW); //Encendemos el punto
delay(50);
digitalWrite(k, HIGH); //Apagamos el punto
}
digitalWrite(j, LOW); //Bajamos la columna
}
for (int j=2; j<9; j++) {
digitalWrite(j, HIGH); //Levantamos la columna
for (int k= 17 ; k<18 ; k++) {
digitalWrite(k, LOW); //Encendemos el punto
delay(50);
digitalWrite(k, HIGH); //Apagamos el punto
}
digitalWrite(j, LOW); //Bajamos la columna
}
for (int j=9; j<10; j++) {
digitalWrite(j, HIGH); //Levantamos la columna
for (int k=17 ; k>10 ; k--) {
digitalWrite(k, LOW); //Encendemos el punto
delay(50);
digitalWrite(k, HIGH); //Apagamos el punto
}
digitalWrite(j, LOW); //Bajamos la columna
}
for (int j=9; j>2; j--) {
digitalWrite(j, HIGH); //Levantamos la columna
for (int k= 10 ; k<11 ; k++) {
digitalWrite(k, LOW); //Encendemos el punto
delay(50);
digitalWrite(k, HIGH); //Apagamos el punto
}
digitalWrite(j, LOW); //Bajamos la columna
}
}
Vídeo mostrando la secuencia del código:
- Usando estructuras de repetición para hacer que un LED SE PRENDA Y SE MUEVA POR LOS BORDE IZQUIERDO-DIAGONAL IZQUIERDO A DERECHO y BORDE DERECHO-DIAGONAL DERECHA A IZQUIERDA de la matriz 8x8 (la imagen a continuación detalla el movimiento).
Esta secuencia fue la que mas dificultades presento hasta el momento, el Mr. nos dio la explicación de como funciona la matriz 8x8 pero aun asi seguia sin entender por que no podia completar la secuencia de regreso, en primera instancia decidi hacer el codigo uno por uno y me tomo bastante tiempo y ni siquiera lo termine. Entonces pedi ayuda a mi compañero Joseph Proaño, el cual ya habia avanzado su codigo y tenia la idea en marcha.
Vídeo mostrando la secuencia del código: