==== Tutoriels MAX7219 avec matrice 8X8 ====


{{:start:module-d-affichage-max7219-en-kit-a-monter-pour-arduino.jpg?200|}}

=== Liens web tuto MAX7219 === 

  * [[http://linksprite.com/wiki/index.php5?title=LED_Matrix_Kit|Montage Kit MAX7219 EN]]

  * [[start:arduino:max7219:FR|Montage Kstart:arduino:max7219:FRit MAX7219 FR]]

  * [[https://openclassrooms.com/courses/perfectionnez-vous-dans-la-programmation-arduino/concevez-des-matrices-de-led|Concevez des matrices de LED]]

  * [[http://tiptopboards.free.fr/arduino_forum/viewtopic.php?t=6&p=6|Tuto MAX7219 Arduino]]

  * [[http://wiki.labaixbidouille.com/index.phLien externep/Matrice_de_LED|Matrice 8X8]]

  * [[http://idehack.com/blog/tutoriel-arduino-max7219-afficheur-8x8-led/|Tutoriel Arduino – MAX7219 Afficheur 8X8 LED]]

  *[[http://tronixstuff.com/2013/10/11/tutorial-arduino-max7219-led-display-driver-ic/|MAX 7219]]

  * [[http://linksprite.com/wiki/index.php5?title=LED_Matrix_Kit&oldid=9477|LED Matrix Kit]]

  * [[http://electroniqueamateur.blogspot.fr/2015/12/matrice-de-64-leds-max7219-et-arduino.html|64 LEDS et MAX7219]]

  * [[http://www.instructables.com/id/Multiple-LED-Matrixes-with-Arduino/|MAX7219 avec 4 matrices de LEDS 8X8  en cascade]]
           * [[start:arduino:max7219:Matrice LED 4X_8x8-en Francais |]]

  * [[http://www.fabriqueurs.com/arduino-et-matrices-de-leds-un-afficheur-pilote-depuis-internet/|LEDS 8X8 par internet]]

  * [[https://youtu.be/TOuKnOG8atk|Une Video]]


=== Programmes ===

==  Préparation Logiciels ==

{{:start:arduino:arduino.jpg?200|}}Utiliser ou télécharger la dernière version de [[https://www.arduino.cc/en/Main/Software|l'IDE Arduino]] 

Le diagramme de synchronisation pour Max7219 et son format de données série sont joints ci-dessous avec ses caractéristiques électroniques.

{{:start:arduino:400px-software1.jpg?400|}}

{{:start:arduino:400px-software2.jpg?300|}}

== Un programme de test sans librairie à inclure ==

<code .cpp exemple_code_MAX7219.ino>
 unsigned char i;
 unsigned char j; 
/*Port Definitions*/
int Max7219_pinCLK = 10;
int Max7219_pinCS = 9;
int Max7219_pinDIN = 8;
 
unsigned char disp1[38][8]={
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
{0x10,0x18,0x14,0x10,0x10,0x10,0x10,0x10},//1
{0x7E,0x2,0x2,0x7E,0x40,0x40,0x40,0x7E},//2
{0x3E,0x2,0x2,0x3E,0x2,0x2,0x3E,0x0},//3
{0x8,0x18,0x28,0x48,0xFE,0x8,0x8,0x8},//4
{0x3C,0x20,0x20,0x3C,0x4,0x4,0x3C,0x0},//5
{0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C,0x0},//6
{0x3E,0x22,0x4,0x8,0x8,0x8,0x8,0x8},//7
{0x0,0x3E,0x22,0x22,0x3E,0x22,0x22,0x3E},//8
{0x3E,0x22,0x22,0x3E,0x2,0x2,0x2,0x3E},//9
{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A
{0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},//B
{0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x0},//C
{0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x0},//D
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C},//E
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40},//F
{0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C},//G
{0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44},//H
{0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C},//I
{0x3C,0x8,0x8,0x8,0x8,0x8,0x48,0x30},//J
{0x0,0x24,0x28,0x30,0x20,0x30,0x28,0x24},//K
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C},//L
{0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81},//M
{0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0},//N
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O
{0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20},//P
{0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D},//Q
{0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21},//R
{0x0,0x1E,0x20,0x20,0x3E,0x2,0x2,0x3C},//S
{0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x8},//T
{0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C},//U
{0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18},//V
{0x0,0x49,0x49,0x49,0x49,0x2A,0x1C,0x0},//W
{0x0,0x41,0x22,0x14,0x8,0x14,0x22,0x41},//X
{0x41,0x22,0x14,0x8,0x8,0x8,0x8,0x8},//Y
{0x0,0x7F,0x2,0x4,0x8,0x10,0x20,0x7F},//Z
};
 
 
 
void Write_Max7219_byte(unsigned char DATA) 
{   
            unsigned char i;
	    digitalWrite(Max7219_pinCS,LOW);		
	    for(i=8;i>=1;i--)
          {		  
             digitalWrite(Max7219_pinCLK,LOW);
             digitalWrite(Max7219_pinDIN,DATA&0x80);// Extracting a bit data
             DATA = DATA<<1;
             digitalWrite(Max7219_pinCLK,HIGH);
           }                                 
}
 
 
void Write_Max7219(unsigned char address,unsigned char dat)
{
        digitalWrite(Max7219_pinCS,LOW);
        Write_Max7219_byte(address);           //address，code of LED
        Write_Max7219_byte(dat);               //data，figure on LED 
        digitalWrite(Max7219_pinCS,HIGH);
}
 
void Init_MAX7219(void)
{
 Write_Max7219(0x09, 0x00);       //decoding ：BCD
 Write_Max7219(0x0a, 0x03);       //brightness 
 Write_Max7219(0x0b, 0x07);       //scanlimit；8 LEDs
 Write_Max7219(0x0c, 0x01);       //power-down mode：0，normal mode：1
 Write_Max7219(0x0f, 0x00);       //test display：1；EOT，display：0
}
 
 
 
void setup()
{
 
  pinMode(Max7219_pinCLK,OUTPUT);
  pinMode(Max7219_pinCS,OUTPUT);
  pinMode(Max7219_pinDIN,OUTPUT);
  delay(50);
  Init_MAX7219();
}
 
 
void loop()
{ 
   for(j=0;j<38;j++)
  {
   for(i=1;i<9;i++)
    Write_Max7219(i,disp1[j][i-1]);
   delay(500);
  } 		
}
</code>


== Programmes avec librairies à inclure ==

   *{{ :start:afficheur8x8.zip |}}

   *{{ :start:max7219_dot_matrix_scroll_text.ino.zip |}}

   *{{ :start:arduino:web-scroll-matrix-master.zip |}}

   *{{ :start:arduino:max7219_100.ino.tar.gz |}}

== Librairies ==

Différentes librairies à tester

    *{{ :start:arduino:ledcontrol.zip |}}

    *{{ :start:arduino:ledcontrol-master.zip |}}

    *{{ :start:arduino:maxmatrix.zip |}}

Une librairie pour les matrices en cascade ( à essayer ...)
   *{{ :start:arduino:ledcontrolms_f79uc7xhkcjmpgv.zip |}}

Une autre librairie mais pour le Raspberry ( A voir lors d'une autre soirée ...)
   * {{ :start:arduino:luma.led_matrix-master_raspberry.zip |}}
   * On peut y voir une demo en image animée...
     
=== Pour la  création de codes pour matrices de LEDS ===
 

 Envoyer par Fernand
  
   
[[http://jorydotcom.github.io/matrix-emoji/|8x8 Matrix Character Creator]]

Pour la création de caractères 8X8 sur la matrice de LEDs

     *[[http://xantorohara.github.io/led-matrix-editor/|Leds Matrice editor]]

     *Le programme qui va avec :

     *[[http://xantorohara.blogspot.fr/2015/09/arduino-store-64-bit-integers-in-progmem.html|Programme pour matrice]]

Toujours envoyer par Fernand : un programme de test, ne pas oublier d'inclure les 2 librairies ci-dessous

[[https://www.tokopedia.com/daelectronics/module-led-dot-matrix-32x8-display-with-max7219-for-arduino| Matrix 32x8 Max7219 ]]
     *{{:start:arduino:650000_c462b588-77d8-4da2-a90c-8fb744af3f10.jpg?200|}}
     *{{ :start:arduino:exemple_002_code_max7219.ino.zip |exemple 002 programme 32X8}}
       * {{ :start:arduino:adafruit-gfx-library-master.zip |Librairie Adafruit_gfx}}
       * {{ :start:arduino:arduino-max72xxpanel-master.zip |Librairie Max72xx}}


