User Tools

Site Tools


informatica:arduino:led

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:arduino:led [2017/02/20 21:24] joseinformatica:arduino:led [2022/04/25 19:43] (current) jose
Line 2: Line 2:
 {{:informatica:arduino:marca_led.png?100|}} {{:informatica:arduino:marca_led.png?100|}}
  
-Paneles led+Hay que poner una resistencia de unos 330mA si lo conectamos a 5V 
 + 
 +Así se enciende directamente: 
 + 
 +{{:informatica:arduino:led_01.png|}} 
 + 
 +Para calcular la resistencia exacta, primero calculamos el voltaje del led poniendo un polimetro en paralelo: 
 + 
 +{{:informatica:arduino:led_02.png|}} 
 + 
 +Si en vez de 5V ponemos una pila de 9V por ejemplo, ponemos una reistencia de 900Ω por si acaso. 
 + 
 +En mi caso me da un led rojo 1,9v y uno azul 3v 
 + 
 + 
 + 
 + 
 +====== Paneles led ====== 
  
 http://www.minitronica.com/producto/matriz-led-de-8x8-con-max7219/ http://www.minitronica.com/producto/matriz-led-de-8x8-con-max7219/
Line 11: Line 29:
  
 http://www.dx.com/es/p/1-8-8x8-seamless-cascadable-red-led-matrix-display-module-with-spi-interface-for-arduino-408734 http://www.dx.com/es/p/1-8-8x8-seamless-cascadable-red-led-matrix-display-module-with-spi-interface-for-arduino-408734
 +
 +
 +====== MAX7219 Matrix 8x32 ======
 +Este funciona: https://microcontrollerslab.com/led-dot-matrix-display-esp32-max7219/
 +
 +Aquí hay ejemplos sin probar: https://www.circuitgeeks.com/arduino-max7219-led-matrix-display/
  
  
 ====== MAX7219 Matrix 8x8 ====== ====== MAX7219 Matrix 8x8 ======
 +Minitutorial:\\
 http://www.prometec.net/scroll-max7219/ http://www.prometec.net/scroll-max7219/
 +
 +Nos descargamos la biblioteca, que no librería, de aquí:
 +https://code.google.com/archive/p/arudino-maxmatrix-library/downloads
 +
 +Desde el IDE de arduino, en sketch, import library la añadimos.
 +
  
 CS - 10 \\ CS - 10 \\
Line 160: Line 191:
 </code> </code>
  
-===== Texto con Scroll =====+====== Texto con Scroll ======
 http://www.minitronica.com/blog/matrices-led-8x8-arduino-max7219/ http://www.minitronica.com/blog/matrices-led-8x8-arduino-max7219/
  
Line 170: Line 201:
    
    
-// DEFINIMOS TODOS LOS CARACTERES POSIBLES EN UN ARRAY  +PROGMEM const byte CH[] = { 
-// Y LO CARGAMOS EN LA MEMORIA DE PROGRAMA CON PROGMEM +3, 8, B0000000B0000000B0000000B0000000B0000000, // space 
-PROGMEM const unsigned char CH[] = { +1, 8, B1011111B0000000B0000000B0000000B0000000, // ! 
-3, 8, B00000000B00000000B00000000B00000000B00000000, // espacio +3, 8, B0000011B0000000B0000011B0000000B0000000, // " 
-1, 8, B01011111B00000000B00000000B00000000B00000000, // ! +5, 8, B0010100B0111110B0010100B0111110B0010100, // # 
-3, 8, B00000011B00000000B00000011B00000000B00000000, // " +4, 8, B0100100B1101010B0101011B0010010B0000000, // $ 
-5, 8, B00010100B00111110B00010100B00111110B00010100, // # +5, 8, B1100011B0010011B0001000B1100100B1100011, // % 
-4, 8, B00100100B01101010B00101011B00010010B00000000, // $ +5, 8, B0110110B1001001B1010110B0100000B1010000, // & 
-5, 8, B01100011B00010011B00001000B01100100B01100011, // % +1, 8, B0000011B0000000B0000000B0000000B0000000, // ' 
-5, 8, B00110110B01001001B01010110B00100000B01010000, // & +3, 8, B0011100B0100010B1000001B0000000B0000000, // ( 
-1, 8, B00000011B00000000B00000000B00000000B00000000, // ' +3, 8, B1000001B0100010B0011100B0000000B0000000, // ) 
-3, 8, B00011100B00100010B01000001B00000000B00000000, // ( +5, 8, B0101000B0011000B0001110B0011000B0101000, // * 
-3, 8, B01000001B00100010B00011100B00000000B00000000, // ) +5, 8, B0001000B0001000B0111110B0001000B0001000, // + 
-5, 8, B00101000B00011000B00001110B00011000B00101000, // * +2, 8, B10110000, B1110000B0000000B0000000B0000000, // , 
-5, 8, B00001000B00001000B00111110B00001000B00001000, // + +4, 8, B0001000B0001000B0001000B0001000B0000000, // - 
-2, 8, B10110000, B01110000B00000000B00000000B00000000, // , +2, 8, B1100000B1100000B0000000B0000000B0000000, // . 
-4, 8, B00001000B00001000B00001000B00001000B00000000, // - +4, 8, B1100000B0011000B0000110B0000001B0000000, // / 
-2, 8, B01100000B01100000B00000000B00000000B00000000, // . +4, 8, B0111110B1000001B1000001B0111110B0000000, // 0 
-4, 8, B01100000B00011000B00000110B00000001B00000000, // / +3, 8, B1000010B1111111B1000000B0000000B0000000, // 1 
-4, 8, B00111110B01000001B01000001B00111110B00000000, // 0 +4, 8, B1100010B1010001B1001001B1000110B0000000, // 2 
-3, 8, B01000010B01111111B01000000B00000000B00000000, // 1 +4, 8, B0100010B1000001B1001001B0110110B0000000, // 3 
-4, 8, B01100010B01010001B01001001B01000110B00000000, // 2 +4, 8, B0011000B0010100B0010010B1111111B0000000, // 4 
-4, 8, B00100010B01000001B01001001B00110110B00000000, // 3 +4, 8, B0100111B1000101B1000101B0111001B0000000, // 5 
-4, 8, B00011000B00010100B00010010B01111111B00000000, // 4 +4, 8, B0111110B1001001B1001001B0110000B0000000, // 6 
-4, 8, B00100111B01000101B01000101B00111001B00000000, // 5 +4, 8, B1100001B0010001B0001001B0000111B0000000, // 7 
-4, 8, B00111110B01001001B01001001B00110000B00000000, // 6 +4, 8, B0110110B1001001B1001001B0110110B0000000, // 8 
-4, 8, B01100001B00010001B00001001B00000111B00000000, // 7 +4, 8, B0000110B1001001B1001001B0111110B0000000, // 9 
-4, 8, B00110110B01001001B01001001B00110110B00000000, // 8 +2, 8, B01010000, B0000000B0000000B0000000B0000000, // : 
-4, 8, B00000110B01001001B01001001B00111110B00000000, // 9 +2, 8, B10000000, B01010000, B0000000B0000000B0000000, // ; 
-2, 8, B01010000, B00000000B00000000B00000000B00000000, // : +3, 8, B0010000B0101000B1000100B0000000B0000000, // < 
-2, 8, B10000000, B01010000, B00000000B00000000B00000000, // ; +3, 8, B0010100B0010100B0010100B0000000B0000000, // = 
-3, 8, B00010000B00101000B01000100B00000000B00000000, // < +3, 8, B1000100B0101000B0010000B0000000B0000000, // > 
-3, 8, B00010100B00010100B00010100B00000000B00000000, // = +4, 8, B0000010B1011001B0001001B0000110B0000000, // ? 
-3, 8, B01000100B00101000B00010000B00000000B00000000, // > +5, 8, B0111110B1001001B1010101B1011101B0001110, // @ 
-4, 8, B00000010B01011001B00001001B00000110B00000000, // ? +4, 8, B1111110B0010001B0010001B1111110B0000000, // A 
-5, 8, B00111110B01001001B01010101B01011101B00001110, // @ +4, 8, B1111111B1001001B1001001B0110110B0000000, // B 
-4, 8, B01111110B00010001B00010001B01111110B00000000, // A +4, 8, B0111110B1000001B1000001B0100010B0000000, // C 
-4, 8, B01111111B01001001B01001001B00110110B00000000, // B +4, 8, B1111111B1000001B1000001B0111110B0000000, // D 
-4, 8, B00111110B01000001B01000001B00100010B00000000, // C +4, 8, B1111111B1001001B1001001B1000001B0000000, // E 
-4, 8, B01111111B01000001B01000001B00111110B00000000, // D +4, 8, B1111111B0001001B0001001B0000001B0000000, // F 
-4, 8, B01111111B01001001B01001001B01000001B00000000, // E +4, 8, B0111110B1000001B1001001B1111010B0000000, // G 
-4, 8, B01111111B00001001B00001001B00000001B00000000, // F +4, 8, B1111111B0001000B0001000B1111111B0000000, // H 
-4, 8, B00111110B01000001B01001001B01111010B00000000, // G +3, 8, B1000001B1111111B1000001B0000000B0000000, // I 
-4, 8, B01111111B00001000B00001000B01111111B00000000, // H +4, 8, B0110000B1000000B1000001B0111111B0000000, // J 
-3, 8, B01000001B01111111B01000001B00000000B00000000, // I +4, 8, B1111111B0001000B0010100B1100011B0000000, // K 
-4, 8, B00110000B01000000B01000001B00111111B00000000, // J +4, 8, B1111111B1000000B1000000B1000000B0000000, // L 
-4, 8, B01111111B00001000B00010100B01100011B00000000, // K +5, 8, B1111111B0000010B0001100B0000010B1111111, // M 
-4, 8, B01111111B01000000B01000000B01000000B00000000, // L +5, 8, B1111111B0000100B0001000B0010000B1111111, // N 
-5, 8, B01111111B00000010B00001100B00000010B01111111, // M +4, 8, B0111110B1000001B1000001B0111110B0000000, // O 
-5, 8, B01111111B00000100B00001000B00010000B01111111, // N +4, 8, B1111111B0001001B0001001B0000110B0000000, // P 
-4, 8, B00111110B01000001B01000001B00111110B00000000, // O +4, 8, B0111110B1000001B1000001, B10111110, B0000000, // Q 
-4, 8, B01111111B00001001B00001001B00000110B00000000, // P +4, 8, B1111111B0001001B0001001B1110110B0000000, // R 
-4, 8, B00111110B01000001B01000001, B10111110, B00000000, // Q +4, 8, B1000110B1001001B1001001B0110010B0000000, // S 
-4, 8, B01111111B00001001B00001001B01110110B00000000, // R +5, 8, B0000001B0000001B1111111B0000001B0000001, // T 
-4, 8, B01000110B01001001B01001001B00110010B00000000, // S +4, 8, B0111111B1000000B1000000B0111111B0000000, // U 
-5, 8, B00000001B00000001B01111111B00000001B00000001, // T +5, 8, B0001111B0110000B1000000B0110000B0001111, // V 
-4, 8, B00111111B01000000B01000000B00111111B00000000, // U +5, 8, B0111111B1000000B0111000B1000000B0111111, // W 
-5, 8, B00001111B00110000B01000000B00110000B00001111, // V +5, 8, B1100011B0010100B0001000B0010100B1100011, // X 
-5, 8, B00111111B01000000B00111000B01000000B00111111, // W +5, 8, B0000111B0001000B1110000B0001000B0000111, // Y 
-5, 8, B01100011B00010100B00001000B00010100B01100011, // X +4, 8, B1100001B1010001B1001001B1000111B0000000, // Z 
-5, 8, B00000111B00001000B01110000B00001000B00000111, // Y +2, 8, B1111111B1000001B0000000B0000000B0000000, // [ 
-4, 8, B01100001B01010001B01001001B01000111B00000000, // Z +4, 8, B0000001B0000110B0011000B1100000B0000000, // backslash 
-2, 8, B01111111B01000001B00000000B00000000B00000000, // [ +2, 8, B1000001B1111111B0000000B0000000B0000000, // ] 
-4, 8, B00000001B00000110B00011000B01100000B00000000, //  +3, 8, B0000010B0000001B0000010B0000000B0000000, // hat 
-2, 8, B01000001B01111111B00000000B00000000B00000000, // ] +4, 8, B1000000B1000000B1000000B1000000B0000000, // _ 
-3, 8, B00000010B00000001B00000010B00000000B00000000, // sombrero +2, 8, B0000001B0000010B0000000B0000000B0000000, // ` 
-4, 8, B01000000B01000000B01000000B01000000B00000000, // _ +4, 8, B0100000B1010100B1010100B1111000B0000000, // a 
-2, 8, B00000001B00000010B00000000B00000000B00000000, // ` +4, 8, B1111111B1000100B1000100B0111000B0000000, // b 
-4, 8, B00100000B01010100B01010100B01111000B00000000, // a +4, 8, B0111000B1000100B1000100B0101000B0000000, // c 
-4, 8, B01111111B01000100B01000100B00111000B00000000, // b +4, 8, B0111000B1000100B1000100B1111111B0000000, // d 
-4, 8, B00111000B01000100B01000100B00101000B00000000, // c +4, 8, B0111000B1010100B1010100B0011000B0000000, // e 
-4, 8, B00111000B01000100B01000100B01111111B00000000, // d +3, 8, B0000100B1111110B0000101B0000000B0000000, // f 
-4, 8, B00111000B01010100B01010100B00011000B00000000, // e +4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g 
-3, 8, B00000100B01111110B00000101B00000000B00000000, // f +4, 8, B1111111B0000100B0000100B1111000B0000000, // h 
-4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g +3, 8, B1000100B1111101B1000000B0000000B0000000, // i 
-4, 8, B01111111B00000100B00000100B01111000B00000000, // h +4, 8, B1000000, B10000000, B10000100, B1111101B0000000, // j 
-3, 8, B01000100B01111101B01000000B00000000B00000000, // i +4, 8, B1111111B0010000B0101000B1000100B0000000, // k 
-4, 8, B01000000, B10000000, B10000100, B01111101B00000000, // j +3, 8, B1000001B1111111B1000000B0000000B0000000, // l 
-4, 8, B01111111B00010000B00101000B01000100B00000000, // k +5, 8, B1111100B0000100B1111100B0000100B1111000, // m 
-3, 8, B01000001B01111111B01000000B00000000B00000000, // l +4, 8, B1111100B0000100B0000100B1111000B0000000, // n 
-5, 8, B01111100B00000100B01111100B00000100B01111000, // m +4, 8, B0111000B1000100B1000100B0111000B0000000, // o 
-4, 8, B01111100B00000100B00000100B01111000B00000000, // n +4, 8, B11111100, B0100100B0100100B0011000B0000000, // p 
-4, 8, B00111000B01000100B01000100B00111000B00000000, // o +4, 8, B0011000B0100100B0100100, B11111100, B0000000, // q 
-4, 8, B11111100, B00100100B00100100B00011000B00000000, // p +4, 8, B1111100B0001000B0000100B0000100B0000000, // r 
-4, 8, B00011000B00100100B00100100, B11111100, B00000000, // q +4, 8, B1001000B1010100B1010100B0100100B0000000, // s 
-4, 8, B01111100B00001000B00000100B00000100B00000000, // r +3, 8, B0000100B0111111B1000100B0000000B0000000, // t 
-4, 8, B01001000B01010100B01010100B00100100B00000000, // s +4, 8, B0111100B1000000B1000000B1111100B0000000, // u 
-3, 8, B00000100B00111111B01000100B00000000B00000000, // t +5, 8, B0011100B0100000B1000000B0100000B0011100, // v 
-4, 8, B00111100B01000000B01000000B01111100B00000000, // u +5, 8, B0111100B1000000B0111100B1000000B0111100, // w 
-5, 8, B00011100B00100000B01000000B00100000B00011100, // v +5, 8, B1000100B0101000B0010000B0101000B1000100, // x 
-5, 8, B00111100B01000000B00111100B01000000B00111100, // w +4, 8, B10011100, B10100000, B10100000, B1111100B0000000, // y 
-5, 8, B01000100B00101000B00010000B00101000B01000100, // x +3, 8, B1100100B1010100B1001100B0000000B0000000, // z 
-4, 8, B10011100, B10100000, B10100000, B01111100B00000000, // y +3, 8, B0001000B0110110B1000001B0000000B0000000, // { 
-3, 8, B01100100B01010100B01001100B00000000B00000000, // z +1, 8, B1111111B0000000B0000000B0000000B0000000, // | 
-3, 8, B00001000B00110110B01000001B00000000B00000000, // { +3, 8, B1000001B0110110B0001000B0000000B0000000, // } 
-1, 8, B01111111B00000000B00000000B00000000B00000000, // | +4, 8, B0001000B0000100B0001000B0000100B0000000, // ~
-3, 8, B01000001B00110110B00001000B00000000B00000000, // } +
-4, 8, B00001000B00000100B00001000B00000100B00000000, // ~+
 }; };
    
Line 318: Line 347:
   while (*s != 0){   while (*s != 0){
     printCharWithShift(*s, shift_speed);     printCharWithShift(*s, shift_speed);
 +    s++;
 +  }
 +}
 +</code>
 +
 +====== Contador de números del 1 al 10 ======
 +Como convertir número a cadena: sprintf:
 +
 +https://programarfacil.com/blog/arduino-blog/conversion-de-numeros-a-cadenas-en-arduino/
 +
 +<code>
 +#include <MaxMatrix.h>
 +//#include <avr/pgmspace.h>
 +
 +PROGMEM const byte CH[] = {
 +3, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
 +1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
 +3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
 +5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
 +4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
 +5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
 +5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
 +1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
 +3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
 +3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
 +5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
 +5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
 +2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
 +4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
 +2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
 +4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
 +3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
 +4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
 +4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
 +4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
 +4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
 +4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
 +4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
 +4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
 +4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
 +2, 8, B01010000, B0000000, B0000000, B0000000, B0000000, // :
 +2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
 +3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
 +3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
 +3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
 +4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
 +5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
 +4, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
 +4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
 +4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
 +4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
 +4, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
 +4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
 +4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
 +4, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
 +3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
 +4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
 +4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
 +4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
 +5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
 +5, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
 +4, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
 +4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
 +4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
 +4, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
 +5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
 +4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
 +5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
 +5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
 +5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
 +5, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
 +4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
 +2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
 +4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
 +2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
 +3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
 +4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
 +2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
 +4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
 +4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
 +4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
 +4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
 +4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
 +3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
 +4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
 +4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
 +3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
 +4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
 +4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
 +3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
 +5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
 +4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
 +4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
 +4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
 +4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
 +4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
 +4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
 +3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
 +4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
 +5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
 +5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
 +5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
 +4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
 +3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
 +3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
 +1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
 +3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
 +4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
 +};
 +
 +int data = 12;
 +int load = 10;
 +int clock = 11;
 +int maxInUse = 1;    //change this variable to set how many MAX7219's you'll use
 +MaxMatrix m(data, load, clock, maxInUse);
 +byte buffer[10];
 +void setup()
 +{
 +  Serial.begin(115200);
 +  m.init();
 +  m.setIntensity(5);
 +}
 +
 +
 +void loop()
 +{
 +   for (int i=0; i <= 10; i++)
 +   {
 +     char msg[2];
 +     sprintf (msg,"%i ", i);
 +     printString(msg);
 +     Serial.print(i);
 +     delay(1000);
 +   
 +   printString("x");
 +   delay(1000);   
 +}
 +
 +void printString(char* s)
 +{
 +  int col = 0;
 +  while (*s != 0)
 +  {
 +    if (*s < 32) continue;
 +    char c = *s - 32;
 +    memcpy_P(buffer, CH + 7*c, 7);
 +    m.writeSprite(col, 0, buffer);
 +    m.setColumn(col + buffer[0], 0);
 +    col += buffer[0] + 1;
 +    s++;
 +  }
 +}
 +</code>
 +
 +====== Lee variable de serial ======
 +Con un 1 suma el primer dígito y con un 2 suma el segundo
 +
 +<code>
 +#include <MaxMatrix.h>
 +//#include <avr/pgmspace.h>
 +
 +PROGMEM const byte CH[] = {
 +3, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
 +1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
 +3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
 +5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
 +4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
 +5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
 +5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
 +1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
 +3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
 +3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
 +5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
 +5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
 +2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
 +4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
 +2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
 +4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
 +3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
 +4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
 +4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
 +4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
 +4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
 +4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
 +4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
 +4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
 +4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
 +2, 8, B01010000, B0000000, B0000000, B0000000, B0000000, // :
 +2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
 +3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
 +3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
 +3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
 +4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
 +5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
 +4, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
 +4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
 +4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
 +4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
 +4, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
 +4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
 +4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
 +4, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
 +3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
 +4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
 +4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
 +4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
 +5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
 +5, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
 +4, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
 +4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
 +4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
 +4, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
 +5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
 +4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
 +5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
 +5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
 +5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
 +5, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
 +4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
 +2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
 +4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
 +2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
 +3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
 +4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
 +2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
 +4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
 +4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
 +4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
 +4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
 +4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
 +3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
 +4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
 +4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
 +3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
 +4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
 +4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
 +3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
 +5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
 +4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
 +4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
 +4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
 +4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
 +4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
 +4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
 +3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
 +4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
 +5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
 +5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
 +5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
 +4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
 +3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
 +3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
 +1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
 +3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
 +4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
 +};
 +
 +int data = 12;
 +int load = 10;
 +int clock = 11;
 +int maxInUse = 1;    //change this variable to set how many MAX7219's you'll use
 +MaxMatrix m(data, load, clock, maxInUse);
 +byte buffer[10];
 +void setup()
 +{
 +  Serial.begin(115200);
 +  m.init();
 +  m.setIntensity(5);
 +}
 +int estado=0;
 +int i;
 +
 +void loop()
 +{
 +     if(Serial.available()>0)
 +     {
 +       estado = Serial.read();
 +     }
 +     if (estado == '1')
 +     {
 +       i=i+10;
 +     }
 +     if (estado == '2')
 +     {
 +       i=i+1;
 +     }
 +     char msg[1];
 +     sprintf (msg,"%i ", i);
 +     printString(msg);
 +     delay(1000);
 +     estado=0;
 +}
 +
 +void printString(char* s)
 +{
 +  int col = 0;
 +  while (*s != 0)
 +  {
 +    if (*s < 32) continue;
 +    char c = *s - 32;
 +    memcpy_P(buffer, CH + 7*c, 7);
 +    m.writeSprite(col, 0, buffer);
 +    m.setColumn(col + buffer[0], 0);
 +    col += buffer[0] + 1;
 +    s++;
 +  }
 +}
 +</code>
 +
 +====== Marcador con dos displays ======
 +<code>
 +#include <MaxMatrix.h>
 +#include <SoftwareSerial.h>
 +SoftwareSerial BT1(4,2);      // RX, TX recorder que se cruzan
 +//#include <avr/pgmspace.h>
 +
 +PROGMEM const byte CH[] = {
 +3, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
 +1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
 +3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
 +5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
 +4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
 +5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
 +5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
 +1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
 +3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
 +3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
 +5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
 +5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
 +2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
 +4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
 +2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
 +4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
 +3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
 +4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
 +4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
 +4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
 +4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
 +4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
 +4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
 +4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
 +4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
 +2, 8, B01010000, B0000000, B0000000, B0000000, B0000000, // :
 +2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
 +3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
 +3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
 +3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
 +4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
 +5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
 +4, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
 +4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
 +4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
 +4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
 +4, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
 +4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
 +4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
 +4, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
 +3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
 +4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
 +4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
 +4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
 +5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
 +5, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
 +4, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
 +4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
 +4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
 +4, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
 +5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
 +4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
 +5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
 +5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
 +5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
 +5, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
 +4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
 +2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
 +4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
 +2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
 +3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
 +4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
 +2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
 +4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
 +4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
 +4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
 +4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
 +4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
 +3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
 +4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
 +4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
 +3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
 +4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
 +4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
 +3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
 +5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
 +4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
 +4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
 +4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
 +4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
 +4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
 +4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
 +3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
 +4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
 +5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
 +5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
 +5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
 +4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
 +3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
 +3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
 +1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
 +3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
 +4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
 +};
 +
 +int data = 12;
 +int load = 10;
 +int clock = 11;
 +int maxInUse = 1;    //change this variable to set how many MAX7219's you'll use
 +MaxMatrix m(data, load, clock, maxInUse);
 +
 +int vdata = 9;
 +int vload = 7;
 +int vclock = 8;
 +int vmaxInUse = 1;    //change this variable to set how many MAX7219's you'll use
 +MaxMatrix v(vdata, vload, vclock, vmaxInUse);
 +
 +byte buffer[10];
 +void setup()
 +{
 +  Serial.begin(9600);
 +  BT1.begin(9600);
 +  m.init();
 +  m.setIntensity(5);
 +  v.init();
 +  v.setIntensity(5);
 +}
 +int estado=0;
 +int i;
 +int j;
 +
 +void loop()
 +{
 +     if(BT1.available())
 +     {
 +       estado = BT1.read();
 +     }
 +     if (estado == '1')
 +     {
 +       i=i+1;
 +       char msg[1];
 +       sprintf (msg,"%i ", i);
 +       printString(msg);
 +       delay(1000);
 +       estado=0;
 +     }
 +     if (estado == '2')
 +     {
 +       j=j+1;
 +       char msg[1];
 +       sprintf (msg,"%i ", j);
 +       vprintString(msg);
 +       delay(1000);
 +       estado=0;
 +     }
 +     if (estado == '0')
 +     {
 +       printString("0");
 +       vprintString("0");
 +       i=0;
 +       j=0;
 +     }
 +
 +}
 +
 +void printString(char* s)
 +{
 +  int col = 0;
 +  while (*s != 0)
 +  {
 +    if (*s < 32) continue;
 +    char c = *s - 32;
 +    memcpy_P(buffer, CH + 7*c, 7);
 +    m.writeSprite(col, 0, buffer);
 +    m.setColumn(col + buffer[0], 0);
 +    col += buffer[0] + 1;
 +    s++;
 +  }
 +}
 +
 +void vprintString(char* s)
 +{
 +  int col = 0;
 +  while (*s != 0)
 +  {
 +    if (*s < 32) continue;
 +    char c = *s - 32;
 +    memcpy_P(buffer, CH + 7*c, 7);
 +    v.writeSprite(col, 0, buffer);
 +    v.setColumn(col + buffer[0], 0);
 +    col += buffer[0] + 1;
 +    s++;
 +  }
 +}
 +</code>
 +
 +3 y 4 borra y bug 0 arreglado
 +
 +<code>
 +#include <MaxMatrix.h>
 +#include <SoftwareSerial.h>
 +SoftwareSerial BT1(4,2);      // RX, TX recorder que se cruzan
 +//#include <avr/pgmspace.h>
 +
 +PROGMEM const byte CH[] = {
 +3, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
 +1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
 +3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
 +5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
 +4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
 +5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
 +5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
 +1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
 +3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
 +3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
 +5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
 +5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
 +2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
 +4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
 +2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
 +4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
 +3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
 +4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
 +4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
 +4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
 +4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
 +4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
 +4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
 +4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
 +4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
 +2, 8, B01010000, B0000000, B0000000, B0000000, B0000000, // :
 +2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
 +3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
 +3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
 +3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
 +4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
 +5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
 +4, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
 +4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
 +4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
 +4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
 +4, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
 +4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
 +4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
 +4, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
 +3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
 +4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
 +4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
 +4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
 +5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
 +5, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
 +4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
 +4, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
 +4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
 +4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
 +4, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
 +5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
 +4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
 +5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
 +5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
 +5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
 +5, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
 +4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
 +2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
 +4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
 +2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
 +3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
 +4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
 +2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
 +4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
 +4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
 +4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
 +4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
 +4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
 +3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
 +4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
 +4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
 +3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
 +4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
 +4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
 +3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
 +5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
 +4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
 +4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
 +4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
 +4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
 +4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
 +4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
 +3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
 +4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
 +5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
 +5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
 +5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
 +4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
 +3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
 +3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
 +1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
 +3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
 +4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
 +};
 +
 +int data = 12;
 +int load = 10;
 +int clock = 11;
 +int maxInUse = 1;    //change this variable to set how many MAX7219's you'll use
 +MaxMatrix m(data, load, clock, maxInUse);
 +
 +int vdata = 9;
 +int vload = 7;
 +int vclock = 8;
 +int vmaxInUse = 1;    //change this variable to set how many MAX7219's you'll use
 +MaxMatrix v(vdata, vload, vclock, vmaxInUse);
 +
 +byte buffer[10];
 +void setup()
 +{
 +  Serial.begin(9600);
 +  BT1.begin(9600);
 +  m.init();
 +  m.setIntensity(5);
 +  v.init();
 +  v.setIntensity(5);
 +}
 +int estado=0;
 +int i;
 +int j;
 +
 +void loop()
 +{
 +     if(BT1.available())
 +     {
 +       estado = BT1.read();
 +     }
 +     if (estado == '2')
 +     {
 +       i=i+1;
 +       char msg[1];
 +       sprintf (msg,"%i ", i);
 +       printString(msg);
 +       delay(1000);
 +       estado=0;
 +     }
 +     if (estado == '1')
 +     {
 +       j=j+1;
 +       char msg[1];
 +       sprintf (msg,"%i ", j);
 +       vprintString(msg);
 +       delay(1000);
 +       estado=0;
 +     }
 +     if (estado == '4')
 +     {
 +       i=i-1;
 +       char msg[1];
 +       sprintf (msg,"%i ", i);
 +       printString(msg);
 +       delay(1000);
 +       estado=0;
 +     }
 +     if (estado == '3')
 +     {
 +       j=j-1;
 +       char msg[1];
 +       sprintf (msg,"%i ", j);
 +       vprintString(msg);
 +       delay(1000);
 +       estado=0;
 +     }
 +     if (estado == '0')
 +     {
 +       printString("0 ");
 +       vprintString("0 ");
 +       i=0;
 +       j=0;
 +     }
 +
 +}
 +
 +void printString(char* s)
 +{
 +  int col = 0;
 +  while (*s != 0)
 +  {
 +    if (*s < 32) continue;
 +    char c = *s - 32;
 +    memcpy_P(buffer, CH + 7*c, 7);
 +    m.writeSprite(col, 0, buffer);
 +    m.setColumn(col + buffer[0], 0);
 +    col += buffer[0] + 1;
 +    s++;
 +  }
 +}
 +
 +void vprintString(char* s)
 +{
 +  int col = 0;
 +  while (*s != 0)
 +  {
 +    if (*s < 32) continue;
 +    char c = *s - 32;
 +    memcpy_P(buffer, CH + 7*c, 7);
 +    v.writeSprite(col, 0, buffer);
 +    v.setColumn(col + buffer[0], 0);
 +    col += buffer[0] + 1;
     s++;     s++;
   }   }
informatica/arduino/led.txt · Last modified: 2022/04/25 19:43 by jose