Miguel Castañeda
/
matrizfunciones
secuencia en matriz 8x5 utilizando funciones
Funcionamiento de matriz 8X5 utilizando tarjeta NUCLEO-F446RE
Materiales:
- Tarjeta NUCLEO-FR446RE
- Matriz 8X5 LTP14158AG
- Jumpers
- Cable de conexión usb/miniusb
- Protoboard
Pines utilizados:
- PA_10 - fila 1
- PB_3 - fila 2
- PB_5 - fila 3
- PB_4 - fila 4
- PB_10 - fila 5
- PA_8 - fila 6
- PA_9 - fila 7
- PC_7 - fila 8
- PB_13 - columna 1
- PB_14 - columna 2
- PB_15 - columna 3
- PB_2 - columna 4
- PB_12 - columna 5
Procedimiento
- Se conectaron los pines de la matriz al pinout de la tarjeta utilizando los jumpers macho/hembra.
- Se conecto el cable de alimentación y de trasnferencia de datos.
- Luego con el código siguiente se compiló y se extrajo el archivo .bin que se copio a la carpeta de la tarjeta.
Ejemplo
Video del montaje con el programa
/media/uploads/miguelmstein/20170316_091733.mp4
- Nota: El código utiliza funciones para ahorrar lineas de código. Se puede mostrar en la matriz lo que se quiera que quepa en una matriz de LEDs de 8x5. Para modificar lo que se quiere mostrar se cambian los números en binario por lo que se quiere mostrar. El código siguiente muestra una secuencia regresiva de 5 a 0. Para cambiar el tiempo de cambio de imagen se modifica los valores de la variable t.
Revision 0:34b5fc3ae426, committed 2017-03-16
- Comitter:
- miguelmstein
- Date:
- Thu Mar 16 14:31:16 2017 +0000
- Commit message:
- secuencia matriz 8x5;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 34b5fc3ae426 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Mar 16 14:31:16 2017 +0000 @@ -0,0 +1,70 @@ +#include "mbed.h" + +BusOut Rows (PA_10, PB_3, PB_5, PB_4, PB_10, PA_8, PA_9, PC_7); +BusOut Cols (PB_13, PB_14, PB_15, PB_2, PB_12); +#define WT 1 +void print_rows(unsigned char vr,unsigned char vc) +{ + Rows =vr; + Cols =vc; + wait_ms(WT); +} +void print_matrix(unsigned char r1,unsigned char r2, unsigned char r3, unsigned char r4, unsigned char r5) +{ + print_rows (r1,0b11110); + print_rows (r2,0b11101); + print_rows (r3,0b11011); + print_rows (r4,0b10111); + print_rows (r5,0b01111); +} +int t; +int main() { + +t=0; + while(1){ + + if(t<=200) + { + + print_matrix(0b10001111,0b10001001,0b10001001,0b10001001,0b01110001); // print 5 + } + else if(t>=201&&t<=400) + { + + print_matrix(0b00011000,0b00010100,0b00010010,0b11111111,0b00010000); // print 4 + } + else if(t>=401&&t<=600) + { + + print_matrix(0b10000001,0b10010001,0b10011001,0b10010101,0b01100011); // print 3 + } + else if(t>=601&&t<=800) + { + + print_matrix(0b10000010,0b11000001,0b10100001,0b10010001,0b10001110); // print 2 + } + else if(t>=801&&t<=1000) + { + + print_matrix(0b10000100,0b10000010,0b11111111,0b10000000,0b10000000); // print 1 + } + else if(t>=1001&&t<=1200) + { + + print_matrix(0b01111110,0b10000001,0b10000001,0b10000001,0b01111110); // print 0 + } + else if(t>=1201&&t<=1600) + { + + print_matrix(0b00101110,0b00101000,0b00111110,0b00001010,0b00111010); // print swastika + } + + else + { + } + t=t+1; + if(t>=1600) + t=0; + else{} + } +}
diff -r 000000000000 -r 34b5fc3ae426 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Mar 16 14:31:16 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e1686b8d5b90 \ No newline at end of file