secuencia en matriz 8x5 utilizando funciones

Dependencies:   mbed

Funcionamiento de matriz 8X5 utilizando tarjeta NUCLEO-F446RE

Materiales:

  • Tarjeta NUCLEO-FR446RE
  • Matriz 8X5 LTP14158AG
  • Jumpers
  • Cable de conexión usb/miniusb
  • Protoboard

/media/uploads/miguelmstein/20170316_091939.jpg

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

/media/uploads/miguelmstein/20170316_091646.jpg

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.

Files at this revision

API Documentation at this revision

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