Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Matrice de LED à défilement 48 x 8 utilisant Arduino.

Composants et fournitures

Arduino UNO
× 1
74HC595 Registre à décalage série à parallèle 8 bits
× 7
Résistance 475 ohm
× 56
En-tête masculin 40 position 1 rangée (0,1")
× 2
En-tête féminin 8 position 1 ligne (0,1")
× 21
Carte PCB à usage général 6"x4"
× 4
Matrice LED 8X8
× 6
Transistor BC 548
× 1

Outils et machines nécessaires

Fer à souder (générique)
Pistolet à colle chaude (générique)
Multimètre numérique Digilent Mastech MS8217 Autorange

Applications et services en ligne

Arduino IDE

À propos de ce projet

Bonjour à tous !

Ce projet consiste à créer une matrice de LED à défilement programmable 48x8 à l'aide d'un Arduino UNO et des registres à décalage 74HC595.

C'était mon premier projet avec une carte de développement Arduino. C'était un défi que mon professeur m'avait lancé d'essayer d'en construire un. Donc, au moment où j'ai accepté ce défi, je ne savais même pas comment faire clignoter une LED à l'aide d'un arduino. Donc, je pense que même un débutant peut le faire avec un peu de patience et de compréhension. J'ai trouvé le schéma de circuit en ligne et c'était ma seule référence pour construire ce projet. J'ai commencé par une petite recherche sur les registres à décalage et le multiplexage dans arduino.

Le Circuit

Rassembler des composants

J'ai rassemblé tous les composants de différentes sources. J'ai obtenu cet affichage matriciel LED à cathode commune de 5 mm 8x8 sur un site Web en ligne.

Créer le prototype

Il est montré dans le circuit qu'un seul registre à décalage est utilisé pour contrôler les 8 lignes et pour contrôler les colonnes, nous utilisons un registre à décalage pour chaque 8 colonnes.

Donc, si vous êtes capable de créer une simple matrice 8x8, vous pouvez simplement répliquer la partie du circuit pour le contrôle de colonne et étendre la matrice à un nombre quelconque de colonnes. Il vous suffit d'ajouter un 74hc595 pour chaque 8 colonnes (un module 8x8) que vous ajoutez au circuit. En gardant cela à l'esprit, j'ai réalisé mon prototype 8x8.

Étape de soudure

J'ai pris des tableaux à points séparés pour faire les commandes de ligne et de colonne et des fils et des en-têtes étendus pour les connecter ensemble.

Une fois que vous avez réussi à créer une matrice 8x8, il vous suffit de connecter en guirlande plus de registres à décalage avec une horloge commune pour piloter les colonnes. il suffit d'un seul 74hc595 pour piloter toutes les lignes. Donc, en fonction du nombre de colonnes, plus de registres à décalage peuvent être ajoutés, il n'y a pas de limite pour le nombre de colonnes que vous pouvez ajouter.

Construire la seconde moitié

Comme je n'avais pas accès à l'impression 3D à ce moment-là, j'ai approché un menuisier local pour faire un cas.

Le boîtier qu'il a fabriqué était beaucoup plus grand que ce à quoi je m'attendais, il est préférable de concevoir un boîtier plus petit à l'aide de Fusion 360 ou de tout autre logiciel de conception et d'imprimer le boîtier en 3D. Des trous ont été faits dans le boîtier pour connecter les câbles d'alimentation et USB.

Le Code

Le code peut être trouvé dans les pièces jointes avec ce projet.

Ici, nous allons parcourir les lignes et alimenter les lignes de colonne avec les niveaux logiques appropriés. Le code déterminera la vitesse du défilement du message ainsi que le message que nous allons afficher. La direction du défilement est de droite à gauche par défaut dans le code, mais avec une petite modification, elle peut également être implémentée dans d'autres directions.

Le résultat

Merci ! :)

Code

  • Code Arduino pour matrice LED 48x8
Code Arduino pour matrice LED 48x8C/C++
Code Aduino pour matrice LED 48x8. Les connexions et le code sont expliqués sous forme de commentaires dans le code lui-même.
/*///////////////////////////// ///////////////////////////////////////////////////////////// * Code Arduino pour afficher les caractères défilants sur 6 ou plus matrice LED 8x8. * * Le nombre de matrices peut être augmenté avec un petit changement de code. * * Des commentaires sont donnés dans chaque déclaration pour édition. * * Codé par Prasanth KS * * Contact :[email protected] */*/////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// [] ="WELCOME WIZ";//Changer le texte ici.int scrollspeed=5;//Définir la vitesse de défilement (inférieur=plus rapide)int x;int y;//Columnsint clockPin1 =2; //Broche Arduino connectée à la broche d'horloge 11 de 74HC595int latchPin1 =3; //Broche Arduino connectée à la broche de verrouillage 12 de 74HC595int dataPin1 =4; //Broche Arduino connectée à la broche de données 14 de 74HC595//Rowsint clockPin2 =5 ; //Broche Arduino connectée à la broche d'horloge 11 de 74HC595int latchPin2 =6; //Broche Arduino connectée à la broche de verrouillage 12 de 74HC595int dataPin2 =7 ; //La broche Arduino connectée à la broche de données 14 de 74HC595//BITMAP//Bits dans ce tableau représente une LED de la matrice// 8 est le nombre de lignes, 6 est le nombre de matrices de LED bitmap[8][7] ; int numZones =sizeof(bitmap)/8 ; // Une zone fait référence à une matrice 8 x 8 (groupe de 8 colonnes)int maxZoneIndex =numZones-1;int numCols =numZones * 8;//FONT DEFENITIONbyte alphabets[][8] ={ {0,0,0, 0,0},//@ comme ESPACE //{8,28,54,99,65},//<<{31, 36, 68, 36, 31},//A {127, 73, 73, 73, 54},//B {62, 65, 65, 65, 34},//C {127, 65, 65, 34, 28},//D {127, 73, 73, 65, 65}, //E {127, 72, 72, 72, 64},//F {62, 65, 65, 69, 38},//G {127, 8, 8, 8, 127},//H {0 , 65, 127, 65, 0},//I {2, 1, 1, 1, 126},//J {127, 8, 20, 34, 65},//K {127, 1, 1, 1, 1},//L {127, 32, 16, 32, 127},//M {127, 32, 16, 8, 127},//N {62, 65, 65, 65, 62}, //O {127, 72, 72, 72, 48},//P {62, 65, 69, 66, 61},//Q {127, 72, 76, 74, 49},//R {50 , 73, 73, 73, 38},//S {64, 64, 127, 64, 64},//T {126, 1, 1, 1, 126},//U {124, 2, 1, 2, 124},//V {126, 1, 6, 1, 126},//W {99, 20, 8, 20, 99},//X {96, 16, 15, 16, 96}, //Y {67, 69, 73, 81, 97},//Z};void setup() { pinMode(latchPin1, OUTPUT); pinMode(clockPin1, OUTPUT); pinMode(dataPin1, SORTIE); pinMode(latchPin2, SORTIE); pinMode(clockPin2, OUTPUT); pinMode(dataPin2, SORTIE); //Effacer le bitmap pour (int row =0; row <8; row++) { for (int zone =0; zone <=maxZoneIndex; zone++) { bitmap[row][zone] =0; } }}//FONCTIONS// Affiche le tableau bitmap dans le Matrixvoid RefreshDisplay(){ for (int row =0; row <8; row++) { int rowbit =1 <=0; zone--) { shiftOut (dataPin1, clockPin1, MSBFIRST, bitmap[row][zone]); } //retournez les deux loquets à la fois pour éliminer le scintillement digitalWrite(latchPin1, HIGH);//Remettez la broche de verrouillage 1 en haut pour signaler la puce digitalWrite(latchPin2, HIGH);//Remettez la broche de verrouillage 2 en haut pour signaler la puce //Attendez délaiMicrosecondes (300); }}// Convertit la ligne et la colonne en bit bitmap et les désactive/désactive Plot(int col, int row, bool isOn){ int zone =col / 8; int colBitIndex =x % 8; octet colBit =1 <> 1 ; // Décalage sur le bit le plus bas de la zone suivante en tant que bit le plus élevé de cette zone. if (zone  

Schémas

À des fins de référence seulement. Pour les connexions par broches, reportez-vous aux commentaires dans le code.

Processus de fabrication

  1. Créer un moniteur Ambilight à l'aide d'Arduino
  2. Arduino avec Bluetooth pour contrôler une LED !
  3. Affichage de porte à matrice LED + détecteur de mouvement [Arduino Holiday]
  4. Arduino quadrupède
  5. Contrôle de la luminosité des LED à l'aide de Bolt et Arduino
  6. Horloge à bascule Arduino à matrice LED unique
  7. Mixeur de couleurs Arduino RVB
  8. Contrôler une matrice LED avec Arduino Uno
  9. Radio FM utilisant Arduino et RDA8057M