Composants utilisés
Principe
L'afficheur comporte 8 lignes et 8 colonnes de LED, contrôlables individuellement.
Il permet d'afficher avec ces 64 LED 256 x 256 motifs possibles = 65 536 combinaisons lumineuses.
Tous les caractères numériques, alphabétiques, ou caractères spéciaux sont donc affichables.
La brillance des leds peut être ajustée par logiciel.
Montage
L'afficheur MAX7219 Dot Matrix est fourni en kit simple à souder.
Fonctionnement
Il suffit de 3 fils de commandes et 2 fils d'alimentation pour contrôler un ou plusieurs afficheurs.
Le pilotage est très simple depuis une carte Arduino.
Il se fait en mode série et utilise la persistance rétinienne en balayant les 8 colonnes rapidement.
Des modules identiques peuvent s'enchaîner en reliant Din et Dout d'un premier module au suivant.
Câblage 5 fils
Module --> Arduino
Utiliser une alimentation séparée (5 V, 2 A) si on en utilise plusieurs, ou combinés avec d'autres composants.
La consommation des 64 leds allumées à la fois est de 400 mA. (8 x 50mA et temps de cycle de 1/8), le port USB peut fournir 500 mA depuis un PC alimenté.
Programmation
Il n'y a pas besoin de librairie spécifique à installer.
Cet exemple de code affiche successivement 0 1 2 3 4 5 6 7 8 9 puis A--Z.
..
Codage de nouveaux motifs et caractères
Il est facile de créer ses propres motifs personnalisés.
Dessiner un caractère sur une grille carrée 8 x 8. On le décompose ensuite ligne par ligne.
Rappel du codage binaire
Exemple pour afficher "A" il suffit de définir ceci dans un tableau
{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22}, //A
Pour afficher le "1"
{0x10,0x30,0x50,0x10,0x10,0x10,0x10,0x10},//1
Pour afficher un damier alterné
{0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55},//damier
Montage et schéma du module
Références
LED Matric kit
http://linksprite.com/wiki/index.php5?t ... Matrix_Kit
User guide en PDF
https://s3.amazonaws.com/linksprite/Ard ... ide_V2.pdf
http://viewitem.eim.ebay.cz/MAX7219-Red ... 88970/item
MAX7219 driver
http://playground.arduino.cc/Main/MAX72 ... ngPrintout
- Un afficheur Max7219
- Une carte Arduino Uno
- Une breadboard
- Fils de câblage
Principe
L'afficheur comporte 8 lignes et 8 colonnes de LED, contrôlables individuellement.
Il permet d'afficher avec ces 64 LED 256 x 256 motifs possibles = 65 536 combinaisons lumineuses.
Tous les caractères numériques, alphabétiques, ou caractères spéciaux sont donc affichables.
La brillance des leds peut être ajustée par logiciel.
Montage
L'afficheur MAX7219 Dot Matrix est fourni en kit simple à souder.
- Souder la résistance et les deux condensateurs (l'électrolytique est polarisé, attention au sens)
- Souder le support de circuit (placer l'encoche comme sur le schéma imprimé)
- Souder les 2 connecteurs et les 2 supports d'afficheur.
- Placer le circuit intégré et l'afficheur à cathode commune sur leurs supports.
Fonctionnement
Il suffit de 3 fils de commandes et 2 fils d'alimentation pour contrôler un ou plusieurs afficheurs.
Le pilotage est très simple depuis une carte Arduino.
Il se fait en mode série et utilise la persistance rétinienne en balayant les 8 colonnes rapidement.
Des modules identiques peuvent s'enchaîner en reliant Din et Dout d'un premier module au suivant.
Câblage 5 fils
Module --> Arduino
- Gnd --> GND il faut impérativement relier les masses du module et du contrôleur
- +V > 5V
- DIN --> Pin8
- CS --> Pin 9
- CLK --> Pin 10
Utiliser une alimentation séparée (5 V, 2 A) si on en utilise plusieurs, ou combinés avec d'autres composants.
La consommation des 64 leds allumées à la fois est de 400 mA. (8 x 50mA et temps de cycle de 1/8), le port USB peut fournir 500 mA depuis un PC alimenté.
Programmation
Il n'y a pas besoin de librairie spécifique à installer.
Cet exemple de code affiche successivement 0 1 2 3 4 5 6 7 8 9 puis A--Z.
- CODE: TOUT SÉLECTIONNER
// Exemple de code Module Max7219 reseau de 8x8 LEDS
//
// Revision 19 08 2013
unsigned char j;
//Cablage du module (gnd et +V) utilise 3 pins
int Max7219_pinCLK = 10;
int Max7219_pinCS = 9;
int Max7219_pinDIN = 8;
//Définition des pixels a eclairer
//0-9 puis A-Z soit 10+26 = 36 caractères
unsigned char disp1[38][8]={
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
{0x10,0x30,0x50,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
};
//Autre exemple, caracteres speciaux (a definir soi meme)
//Voir explications sur http://tiptopboards.com/arduino_tutoriel/posting.php?mode=edit&f=2&p=6
//{0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55}, //damier1
// {0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA}, //damier2
//Ecriture d'un caractere 8x8
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);
}
}
//Ecriture elementaire d une seule rangee
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);
}
//Initialisation du module Max 7219
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
}
//Le programme d affichage
void setup()
{
//Pins a utiliser
pinMode(Max7219_pinCLK,OUTPUT);
pinMode(Max7219_pinCS,OUTPUT);
pinMode(Max7219_pinDIN,OUTPUT);
delay(50); //Initialiser
Init_MAX7219();
}
void loop()
{
for(j=0;j<38;j++)
{ //Faire défiler les caracteres a afficher
for(int i=1;i<9;i++) //Afficher un caractere à la fois
Write_Max7219(i,disp1[j][i-1]);
delay(500); //Attente pour laisser le temps de lire
}
}
..
Codage de nouveaux motifs et caractères
Il est facile de créer ses propres motifs personnalisés.
Dessiner un caractère sur une grille carrée 8 x 8. On le décompose ensuite ligne par ligne.
Rappel du codage binaire
Exemple pour afficher "A" il suffit de définir ceci dans un tableau
{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22}, //A
Pour afficher le "1"
{0x10,0x30,0x50,0x10,0x10,0x10,0x10,0x10},//1
Pour afficher un damier alterné
{0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55},//damier
Montage et schéma du module
Références
LED Matric kit
http://linksprite.com/wiki/index.php5?t ... Matrix_Kit
User guide en PDF
https://s3.amazonaws.com/linksprite/Ard ... ide_V2.pdf
http://viewitem.eim.ebay.cz/MAX7219-Red ... 88970/item
MAX7219 driver
http://playground.arduino.cc/Main/MAX72 ... ngPrintout
Labels:
Android,
LED Matrix
Thanks for reading Arduino Uno LED 8x8 MAX7219 Led 8x32 - Projects Arduino. Please share...!
0 Comment for "Arduino Uno LED 8x8 MAX7219 Led 8x32 - Projects Arduino"