Table des matières:
- Fournitures
- Étape 1: Vérifiez le paquet
- Étape 2: Un peu sur cette matrice de points particulière
- Étape 3: Le pilote MAX7219
- Étape 4: Le circuit
- Étape 5: Le code
- Étape 6: la sortie
Vidéo: Assemblage et test de la matrice de points LED MAX7219 : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Un affichage matriciel est un dispositif d'affichage qui contient des diodes électroluminescentes alignées sous forme de matrice. Ces affichages matriciels sont utilisés dans des applications où les symboles, graphiques, caractères, alphabets, chiffres doivent être affichés ensemble en statique ainsi que Mouvement de défilement. L'affichage matriciel à points est fabriqué en différentes dimensions telles que 5x7, 8x8, 16x8, 128x16, 128x32 et 128x64 où les chiffres représentent les LED en rangées et en colonnes. Ces écrans sont également disponibles en différentes couleurs telles que rouge, vert, jaune, bleu, Orange, Blanc.
Dans ce Instructable, je vais passer par l'interfaçage d'une matrice de points 8 x 8 qui a un pilote MAX7219 à un Arduino Uno. Commençons.
Fournitures
MAX7219
Étape 1: Vérifiez le paquet
Comme vous pouvez le voir, j'ai une version smt de la carte pilote, il est très important de vérifier chaque composant nécessaire car les composants smd sont de très petite taille et vous pouvez facilement les perdre. Il existe également une version dip disponible en ligne mais j'ai utilisé la version smt pour sa taille.
Étape 2: Un peu sur cette matrice de points particulière
Un seul module peut piloter une cathode commune à matrice de points 8x8.
Tension de fonctionnement: 5 v
Dimensions: longueur 3,2 cm X 3,2 cm de large X 1,3 cm de haut, trous avec quatre vis, le diamètre de 3 mm
Modules avec interfaces d'entrée et de sortie, prise en charge de la mise en cascade de plusieurs modules.
Les bornes Data IN et OUT sont spécifiées sur le module.
Étape 3: Le pilote MAX7219
Le MAX7219 est un circuit intégré conçu pour contrôler une matrice LED 8x8. Le circuit intégré est un pilote d'affichage à cathode commune (commun négatif) d'entrée série qui interface des microprocesseurs (ou un microcontrôleur) avec des affichages à LED numériques à 7 segments jusqu'à 8 chiffres, des affichages à barres ou 64 LED individuelles.
Caractéristiques et spécifications
Plage de tension de fonctionnement: +4,0 à +5,5 V
Tension de fonctionnement recommandée: +5V
Tension d'alimentation maximale: 6V
Courant maximum autorisé à tirer à travers chaque broche de segment: 100 mA
Courant maximum autorisé à travers chaque broche de masse DIGIT: 500 mA
Basse consommation énergétique
Délai de transmission des données au segment: 2,2 msec
Température de fonctionnement: 0°C à +70°C
Température de stockage: -65°C à +150°C
Étape 4: Le circuit
Le circuit est assez simple et peut être construit en utilisant des cavaliers mâles à femelles. Suivez simplement le brochage et construisez le circuit. Vous pouvez ensuite l'assembler sur un PCB si vous faites une demande permanente pour la matrice.
La configuration des broches est la suivante:
- Vcc à 5V Pin d'Arduino.
- Gnd à Gnd Pin de l'Arduino.
- DIN à la broche numérique 12 de l'Arduino.
- CS à la broche numérique 11 de l'Arduino
- CLK à la broche numérique 10 de l'Arduino.
Étape 5: Le code
Ici, dans ce Instructable, je vais vous fournir deux codes différents. On va générer des alphabets anglais et des smileys sur la matrice. L'autre allumera les 64 LED une par une. Vous devez utiliser la bibliothèque lledcontrol pour le faire fonctionner.
C'est le code pour les alphabets anglais et les sourires
#include int DIN = 12; int CS = 11; int CLK = 10; octet e[8]= {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; octet d[8]= {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; octet u[8]= {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; octet c[8]= {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; octet huit[8]= {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; octet s[8]= {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; octet point[8]= {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; octet o[8]= {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; octet m[8]= {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc=LedControl(DIN, CLK, CS, 0); void setup(){ lc.shutdown(0, false); //Le MAX72XX est en mode d'économie d'énergie au démarrage lc.setIntensity(0, 15); // Définit la luminosité à la valeur maximale lc.clearDisplay(0); // et efface l'affichage } void loop(){ byte smile[8]= {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; octet neutre[8]= {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; octet froncement de sourcils[8]= {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte(sourire); retard(1000); printByte(neutre); retard(1000); printByte(froncer les sourcils); retard(1000); printEduc8s(); lc.clearDisplay(0); retard(1000); } void printEduc8s() { printByte(e); retard(1000); printByte(d); retard(1000); printByte(u); retard(1000); printByte(c); retard(1000); printByte(huit); retard(1000); octet(s) d'impression; retard(1000); printByte(point); retard(1000); printByte(c); retard(1000); printByte(o); retard(1000); printByte(m); retard(1000); } void printByte(caractère d'octet ) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0, i, character); } }
et le code pour tester les 64 LED
//Nous devons toujours inclure la bibliothèque#include "LedControl.h"
/*
Maintenant, nous avons besoin d'un LedControl avec lequel travailler. ***** Ces numéros de broches ne fonctionneront probablement pas avec votre matériel ***** La broche 12 est connectée au DataIn La broche 10 est connectée au CLK La broche 11 est connectée à LOAD Nous n'avons qu'un seul MAX72XX. */LedControl lc=LedControl(12, 11, 10, 1);
/* on attend toujours un peu entre les mises à jour de l'affichage */
délai long non signé = 100;
void setup() {
/* Le MAX72XX est en mode d'économie d'énergie au démarrage, nous devons faire un appel de réveil */ lc.shutdown(0, false); /* Régler la luminosité sur des valeurs moyennes */ lc.setIntensity(0, 8); /* et efface l'affichage */ lc.clearDisplay(0); }
/*
Cette méthode affichera les caractères du mot "Arduino" les uns après les autres sur la matrice. (vous avez besoin d'au moins 5x7 leds pour voir tous les caractères) */ void writeArduinoOnMatrix() { /* voici les données pour les caractères */ byte a[5]={B01111110, B10001000, B10001000, B10001000, B01111110}; octet r[5]={B00111110, B00010000, B00100000, B00100000, B00010000}; octet d[5]={B00011100, B00100010, B00100010, B00010010, B11111110}; octet u[5]={B00111100, B00000010, B00000010, B00000100, B00111110}; octet i[5]={B00000000, B00100010, B10111110, B0000010, B00000000}; octet n[5]={B00111110, B00010000, B00100000, B00100000, B00011110}; octet o[5]={B00011100, B00100010, B00100010, B00100010, B00011100};
/* les affiche maintenant un par un avec un petit délai */
lc.setRow(0, 0, a[0]); lc.setRow(0, 1, a[1]); lc.setRow(0, 2, a[2]); lc.setRow(0, 3, a[3]); lc.setRow(0, 4, a[4]); retard (délai); lc.setRow(0, 0, r[0]); lc.setRow(0, 1, r[1]); lc.setRow(0, 2, r[2]); lc.setRow(0, 3, r[3]); lc.setRow(0, 4, r[4]); retard (délai); lc.setRow(0, 0, d[0]); lc.setRow(0, 1, d[1]); lc.setRow(0, 2, d[2]); lc.setRow(0, 3, d[3]); lc.setRow(0, 4, d[4]); retard (délai); lc.setRow(0, 0, u[0]); lc.setRow(0, 1, u[1]); lc.setRow(0, 2, u[2]); lc.setRow(0, 3, u[3]); lc.setRow(0, 4, u[4]); retard (délai); lc.setRow(0, 0, i[0]); lc.setRow(0, 1, i[1]); lc.setRow(0, 2, i[2]); lc.setRow(0, 3, i[3]); lc.setRow(0, 4, i[4]); retard (délai); lc.setRow(0, 0, n[0]); lc.setRow(0, 1, n[1]); lc.setRow(0, 2, n[2]); lc.setRow(0, 3, n[3]); lc.setRow(0, 4, n[4]); retard (délai); lc.setRow(0, 0, o[0]); lc.setRow(0, 1, o[1]); lc.setRow(0, 2, o[2]); lc.setRow(0, 3, o[3]); lc.setRow(0, 4, o[4]); retard (délai); lc.setRow(0, 0, 0); lc.setRow(0, 1, 0); lc.setRow(0, 2, 0); lc.setRow(0, 3, 0); lc.setRow(0, 4, 0); retard (délai); }
/*
Cette fonction allume quelques Leds d'affilée. Le motif sera répété sur chaque rangée. Le motif clignotera avec le numéro de ligne. la ligne numéro 4 (index==3) clignotera 4 fois, etc. */ void rows() { for(int row=0;row<8;row++) { delay(delaytime); lc.setRow(0, ligne, B10100000); retard (délai); lc.setRow(0, ligne, (octet)0); for(int i=0;i
/*
Cette fonction allume quelques Leds dans une colonne. Le motif sera répété sur chaque colonne. Le motif clignotera avec le numéro de colonne. la colonne numéro 4 (index==3) clignotera 4 fois etc. */ void colonnes() { for(int col=0;col<8;col++) { delay(delaytime); lc.setColumn(0, col, B10100000); retard (délai); lc.setColumn(0, col, (octet)0); for(int i=0;i
/*
Cette fonction allumera toutes les LED de la matrice. La led clignotera avec le numéro de rangée. la ligne numéro 4 (index==3) clignotera 4 fois etc. */ void single() { for(int row=0;row<8;row++) { for(int col=0;col<8;col++) { retard (délai); lc.setLed(0, ligne, col, vrai); retard (délai); for(int i=0;i
boucle vide() {
writeArduinoOnMatrix(); Lignes(); Colonnes(); Célibataire(); }
Étape 6: la sortie
Regardez la vidéo complète ici:-MAX7219 8x8 LED MATRIX ASSEMBLY AND TESTING utilisant ARDUINO
Eh bien, tout ce travail acharné porte ses fruits quand vous voyez le résultat. Ça en vaut la peine !!
Abonnez-vous à ma chaîne youtube: -Creative Stuff
Conseillé:
Utilisation de la matrice de points de l'horloge intelligente IoT Wemos ESP8266 - Matrice ESP : 12 étapes (avec images)
Matrice de points d'horloge intelligente IoT Utilisez Wemos ESP8266 - Matrice ESP: Créez votre propre horloge intelligente IoT qui peut: Afficher une horloge avec une belle icône d'animation Afficher Rappel-1 à Rappel-5 Afficher le calendrier Afficher les heures de prière musulmanes Afficher les informations météorologiques Afficher les informations Afficher les informations Afficher les conseils Taux Bitcoin Affichage
Comment utiliser la matrice de points Max7219 8x8 avec "skiiiD": 9 étapes
Comment utiliser Max7219 8x8 Dot Matrix avec "skiiiD": Ceci est une instruction vidéo de Max7219 8x8 Dot Matrix via "skiiiD" Avant de commencer, vous trouverez ci-dessous un tutoriel de base sur l'utilisation de skiiiDhttps://www.instructables.com/id /Mise en route-W
Comment construire une matrice LED 8x8 BIG (MAX7219 LED 10mm): 9 étapes (avec photos)
Comment construire une matrice LED 8x8 BIG (MAX7219 LED 10mm): Avez-vous travaillé avec une matrice LED 8x8 prête à l'emploi comme écrans? Ils existent en différentes tailles et sont assez intéressants à travailler. Une grande taille facilement disponible est d'environ 60 mm x 60 mm. Cependant, si vous recherchez une matrice LED prête à l'emploi beaucoup plus grande
Matrice de points ; 8 x 8 avec message ou images : 4 étapes
Dot Matrix ; 8 x 8 avec message ou images : ce Instructable vous montrera les images de la matrice de points que j'ai faites avec la matrice de points 8 x 8… Veuillez regarder les vidéos et les programmes inclus. La matrice de points est un affichage en 2 dimensions. Elle se compose de 8 colonnes et 8 lignes. Si vous regardez attentivement
Affichage à matrice de points LED : 8 étapes (avec images)
Affichage LED Dot-Matrix : il s'agit d'un simple COMMENT FAIRE pour créer votre propre affichage LED Dot-Matrix personnalisé. J'ajouterai le programme complet avec une explication pour allumer les LED. Il est également plutôt piratable, vous pouvez le modifier à votre guise. J'ai décidé de faire mon propre d