===== Matrice LEDS 5 fois 8x8 ===== Une (petite) vidéo pour montrer le déroulement d'un texte horizontal voir programme en dessous [[http://78.204.53.180:16557/share/de4O1TdEMsfxO940/Vid%C3%A9o0015.mp4 |Vidéo 5 Matrices LEDS 8x8 Vertical avec MAX7219.mp4]] Le programme pour arduino UNO modifier pour 5 matrices {{ :start:arduino:max7219:max7219_dot_matrix_scroll_text.ino.zip |max7219_dot_matrix_scroll_text.ino}} Le but c'est de faire fonctionner la matrice 4 fois 8x8 en un bloc , si l'on prend le même programme avec les 4 matrices 8X8 , on obtient ceci : [[http://fablab37110.ovh/owncloud/index.php/s/RCxeYguWPLr76d7 |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 : [[http://jorydotcom.github.io/matrix-emoji/|Creation de matrice 8x8]] {{:start:arduino:max7219:matrice_b.png?600|}} === Le fickier LedControlMS.h modifié === Fichier LedControlMS.h modifie pour avoir les lettres verticales {{ :start:arduino:max7219: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 [[http://arduino103.blogspot.fr/2011/10/creer-une-librairie-pour-arduino.html|créer un autre librairie. ]] === Le programme === {{ :start:arduino:max7219:scroll-vertical_bonjouratous8m.ino.zip |}} === La vidéo === [[http://fablab37110.ovh/owncloud/index.php/s/vLg5kr2BDiuRv3m |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 [[http://www.lextronic.fr/P31366-platine-rtc-shield-pour-arduinoa.html|shield RTC]] pour garder l'heure en mémoire {{:start:arduino:max7219:shield-rtc-pour-arduino1.jpg?400|}} {{ :start:arduino:max7219:max7219_horloge_08032017-2243.ino.zip |}} *[[https://github.com/adafruit/RTClib|La librairie RTClib à inclure ]] === 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 ... {{ :start:arduino:max7219: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...