-
-
Save HectorTorres/7c258f5ca742f7d31c1673f580ecf884 to your computer and use it in GitHub Desktop.
Matriz scroll
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Se incluyen las siguientes librerias, necesarias para usar el modificador de variable PROGREM | |
#include <MaxMatrix.h> | |
#include <avr/pgmspace.h> | |
PROGMEM const unsigned char CAD[] = //Se definen todos los caracteres posibles y se cargan en la memoria del programa. | |
{ | |
3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // espacio | |
1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // ! | |
3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // " | |
5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // # | |
4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $ | |
5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // % | |
5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // & | |
1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // ' | |
3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // ( | |
3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // ) | |
5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // * | |
5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // + | |
2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // , | |
4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // - | |
2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // . | |
4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // / | |
4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0 | |
3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1 | |
4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2 | |
4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3 | |
4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4 | |
4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5 | |
4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6 | |
4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7 | |
4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8 | |
4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9 | |
2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // : | |
2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ; | |
3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // < | |
3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // = | |
3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // > | |
4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ? | |
5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @ | |
4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A | |
4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B | |
4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C | |
4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D | |
4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E | |
4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F | |
4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G | |
4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H | |
3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I | |
4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J | |
4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K | |
4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L | |
5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M | |
5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N | |
4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O | |
4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P | |
4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q | |
4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R | |
4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S | |
5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T | |
4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U | |
5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V | |
5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W | |
5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X | |
5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y | |
4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z | |
2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [ | |
4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ | |
2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ] | |
3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // sombrero | |
4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _ | |
2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // ` | |
4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a | |
4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b | |
4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c | |
4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d | |
4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e | |
3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f | |
4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g | |
4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h | |
3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i | |
4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j | |
4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k | |
3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l | |
5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m | |
4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n | |
4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o | |
4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p | |
4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q | |
4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r | |
4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s | |
3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t | |
4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u | |
5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v | |
5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w | |
5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x | |
4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y | |
3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z | |
3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // { | |
1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // | | |
3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // } | |
4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~ | |
}; | |
// Definimos los pines del arduino | |
int data = 8; // Pin DIN del módulo MAX7219 | |
int load = 9; // Pin CS del módulo MAX7219 | |
int clock = 10; // Pin CLK del módulo MAX7219 | |
// | |
int maxuse = 1; //Definimos cuantas matrices usaremos. En este caso solo se usará 1 | |
MaxMatrix m(data, load, clock, maxuse); // Definimos la funcion de cada pin | |
byte buffer[10]; | |
char string1[] = "Tutoriales HeTPro "; // Texto que aparecerá en la matriz | |
void setup() | |
{ | |
m.init(); // Se inicializa el modulo | |
m.setIntensity(4); // Se define la intensidad de los LED´s (0-15) | |
} | |
void loop() | |
{ | |
byte c; | |
delay(100); // Pausa entre movimientos | |
m.shiftLeft(false, true); | |
printStringWithShift(string1, 100); // Se envia el texto al modulo | |
} | |
void printCharWithShift(char c, int shift_speed) // Funciones para mostrar el texto en el display. | |
{ | |
if (c < 32) return; | |
c -= 32; | |
memcpy_P(buffer, CAD + 7*c, 7); | |
m.writeSprite(maxuse*8, 0, buffer); | |
m.setColumn(maxuse*8 + buffer[0], 0); | |
for (int i=0; i<buffer[0]+1; i++) | |
{ | |
delay(shift_speed); | |
m.shiftLeft(false, false); | |
} | |
} | |
void printStringWithShift(char* s, int shift_speed) | |
{ | |
while (*s != 0) | |
{ | |
printCharWithShift(*s, shift_speed); | |
s++; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment