martes, 27 de junio de 2017

Bitácora de la Práctica #2

En esta práctica, usamos los materiales, incluyendo la matriz 8x8, con el fin de aprender a realizar programaciones avanzadas con el mismo. Para esto realizamos dos tipos de secuencias en la matriz, la cual nosotros mismos conectamos y programamos acorde a la secuencia que queríamos realizar.

La primera parte de la práctica fue con el siguiente objetivo:
  • Usando estructura de repetición, hacer que un led se prenda y se mueva por los bordes de la matriz 8x8, tal como se puede ver en la imagen.

Para realizar esto, utilizamos el circuito que teníamos previamente conectado, con el fin de solo cambiar la programación para que este realice la nueva secuencia.
Configuración patas de la matriz con los pines del arduino 
Se alimentan con 5v
Matriz Led Filas9148121725
Arduino uno o mega23456789





Configuración patas de la matriz con los pines del arduino
Se alimentan con 0v
Matriz Leds Columnas1334106111516
Arduino Mega10  11 12 13 1415  16 17
Arduino uno10111213A0A1A2A3

Luego procedimos a realizar la programación correspondiente para que la secuencia que queríamos, aparezca. 

Siendo el código:
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); //Levantamos la columna for (int k= 10 ; k<18 ; k++) { digitalWrite(k, LOW); //Encendemos el punto delay(250); digitalWrite(k, HIGH); //Apagamos el punto } digitalWrite(2, LOW); digitalWrite(17, LOW); for (int b=2 ; b<10; b++) { digitalWrite(b, HIGH); delay(250); digitalWrite(b,LOW); } digitalWrite(17, HIGH); digitalWrite(9, HIGH); //Levantamos la columna for (int k= 17 ; k>=10 ; k--) { digitalWrite(k, LOW); //Encendemos el punto delay(250); digitalWrite(k, HIGH); //Apagamos el punto } digitalWrite(9, LOW); digitalWrite(10, LOW); for (int b=9 ; b>=2; b--) { digitalWrite(b, HIGH); delay(250); digitalWrite(b,LOW); } digitalWrite(10, HIGH); }


Una vez hecha la programación, conectamos y comprobamos. Como resultado tuvimos esto:

Una vez terminado la primera parte, procedimos a realizar la segunda. Esta tendría como objetivo:
  • Usando estructuras de repetición, hacer que un led se prenda y se mueva por el borde izquierdo - diagonal izquierda a derecha - borde derecho - diagonal derecha a izquierda de la matriz 8x8, tal como se ve en la imagen.
Para esto, de la misma manera usamos los materiales ya conectados del ejercicio anterior. Lo único que vino a cambiar acá fue la programación. Para esta nueva secuencia usamos la siguiente programación: 


Por lo que el código quedaría:

int s=1; 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); for (int k= 18 ; k>=10 ; k--) { digitalWrite(k, LOW); delay(250); digitalWrite(k, HIGH); } digitalWrite(2, LOW); for (int e=2; e<10; e++) { digitalWrite(e, HIGH); digitalWrite (e+8, LOW); delay(250); digitalWrite(e,LOW); digitalWrite(e+8,HIGH); } digitalWrite(9, HIGH); for (int k= 17 ; k>=10 ; k--) { digitalWrite(k, LOW); delay(250); digitalWrite(k, HIGH); } digitalWrite(9, LOW); s=1; for (int p=9; p>=2; p--){ digitalWrite(p, HIGH); digitalWrite (p+s, LOW); delay(250); digitalWrite(p,LOW); digitalWrite(p+s,HIGH); s=s+2; } }

Dada esta programación, procedimos a conectar a la matriz y comprobar si la secuencia era la establecida.

En conclusión, dada terminada la práctica, podemos decir que el realizar la programación para que se realicen las secuencias que se requieren tiene cierto grado de dificultad. Es importante revisar constantemente cada punto durante la programación. 


Integrantes:
  • Eduardo Caicedo
  • José Minuche

No hay comentarios:

Publicar un comentario