Table des matières

Matrice LEDS 5 fois 8x8

Une (petite) vidéo pour montrer le déroulement d'un texte horizontal voir programme en dessous

Vidéo 5 Matrices LEDS 8x8 Vertical avec MAX7219.mp4

Le programme pour arduino UNO modifier pour 5 matrices

max7219_dot_matrix_scroll_text.ino

Le but c'est de faire fonctionner la matrice 4 fois 8×8 en un bloc , si l'on prend le même programme avec les 4 matrices 8×8 , on obtient ceci :

Vidéo 4 Matrices LEDS 8x8 horizontal avec MAX7219.mp4

J'ai modifié un peu me programme original comme ceci : J'ai affiché : le caractere 0 sur l'afficheur 4 (ch3) le caractére 1 sur l'afficheur 3 (ch2) etc…

void loop(){

lc.displayChar(0, lc.getCharArrayPosition(ch3));
lc.displayChar(1, lc.getCharArrayPosition(ch2));
lc.displayChar(2, lc.getCharArrayPosition(ch1));
lc.displayChar(3, lc.getCharArrayPosition(ch0));

…..

}

Maintenant il s'agit de tourner les lettres de 90° à l'inverse des aiguilles d'une montre , pour avoir les lettres dans le bon sens. Mais je pense qu'il faut directement modifier la bibliothèque “LedControlMS.h” dans la partie “const static byte alphabetBitmap[41][6]={”

const static byte alphabetBitmap[41][6]={

   {0x0,0x10,0x10,0x10,0x10,0x0},// -
   {0x0,0x0,0x80,0x0,0x0,0x0},// .
   {0xFC,0x9,0x11,0x21,0xFC,0x0},//Ñ
   {0xFE,0x11,0x11,0x11,0xFE,0x0},//A
   {0xFF,0x89,0x89,0x89,0x76,0x0},//B
   
   

Si l'on prend la lettre “B” {0xFF,0x89,0x89,0x89,0x76,0x0},/B et que l'on modifie les valeurs Hexa comme exemple de Test ( programme du début) {0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},/B et que l'on remplace la ligne directement dans la bibliothèque . On fait un test.

Cela ne pourra pas fonctionner car la première lettre B et codée sur 5 colonnes et la deuxième lettre B et codée sur 8 colonnes. Il faut créer de toutes pièces la lettre B vertical sur 5 colonnes. Ou alors modifier la valeur de la const static byte alphabetBitmap[41][6] en [38][8]. A tester

Cela ne fonctionne pas , il faut ( pour l'instant) rester sur [41] mais on peut modifier la deuxième valeur en [8] ce nous donne :

const static byte alphabetBitmap[41][8]={

{0xf8, 0x88, 0x88, 0x88, 0x88, 0xf8, 0x00, 0x00}, //0
{0x18, 0x28, 0x48, 0x08, 0x08, 0x08, 0x00, 0x00},  //1
{0xf0, 0x10, 0x20, 0x40, 0x80, 0x78, 0x00, 0x00},//2
{0xf8, 0x08, 0x38, 0x38, 0x08, 0xf8, 0x00, 0x00},//3
{0x80, 0x80, 0x80, 0xf8, 0x08, 0x08, 0x00, 0x00},//4
{0xf8, 0x80, 0xf0, 0x08, 0x08, 0xf0, 0x00, 0x00},//5
{0x40, 0x80, 0x80, 0xf8, 0x88, 0xf8, 0x00, 0x00},//6
{0xf8, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00},//7
{0xf8, 0x88, 0xf8, 0x88, 0x88, 0xf8, 0x00, 0x00},//8
{0xf8, 0x88, 0xf8, 0x08, 0x08, 0xf8, 0x00, 0x00},//9
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},// blank space
{0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00}, //:
{0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00},// -
{0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00},// .
{0xFC,0x9,0x11,0x21,0xFC,0x0},//Ñ
{0x70, 0x88, 0xf8, 0x88, 0x88, 0x88, 0x00, 0x00},//A
{0xf0, 0x88, 0xf0, 0x88, 0x88, 0xf0, 0x00, 0x00},//B

……………………….

Création de la matrice pour le B

Utilisation du site : Creation de matrice 8x8

Le fickier LedControlMS.h modifié

Fichier LedControlMS.h modifie pour avoir les lettres verticales

ledcontrolms_lettres_verticale.h.zip

A renommer en LedControlMS.h et à insérer dans le dossier Arduino/libraries/LedControlMS pour remplacer l'ancien. Ou alors créer un autre librairie.

Le programme

scroll-vertical_bonjouratous8m.ino.zip

La vidéo

Vidéo Matrice 8 fois 8x8

Il reste à voir comment rendre l'affichage plus fluide et en utilisant toutes les LEDs pour afficher les caractères

Un programme d'affichage avec l horloge

Un programme qui affiche un texte déroulant avec la date et l'heure ( à 5s ). il faut utiliser un shield RTC pour garder l'heure en mémoire

max7219_horloge_08032017-2243.ino.zip

Un programme qui affiche ...

la date, l'heure, les secondes et … le début d'un poème connu … de qui est le poème …

max7219_horloge_12032017-1847.ino.zip

les variables ( le poème) prennent beaucoup de place en mémoire vive. Un arduino mega pourrait convenir pour afficher toutes les strophes du poème. Ou alors mettre les données sur une carte SD et lire au fur et a mesure. Cela reste à faire…