8x8 LED Matrix Animations (9 / 14 étapes)

Étape 9: Modification du code

Ceci est ma version d’optimiser ce que j’ai fait. Il y a probablement de meilleures façons de le faire, mais cela fonctionne pour moi et me permet d’écrire rapidement de nouveaux effets.

Dans le code précédent, j’ai couru code pour allumer chaque ligne et colonne, l’un à la fois. C’est très bien pour un test rapide et montre aux débutants comment fonctionne l’arduino. Mais comme vous obtenez plus complexes alors ses pas très efficace et la taille du programme sera grands pour tenir sur un arduino.

Pour le rendre plus facile à utiliser et développer plus tard, nous allons créer quelques nouvelles fonctions.

La première fonction est appelée resetLEDS(), lorsque cela s’appelle puis s’éteindra toutes les LED en même temps. C’est la même chose que la routine d’installation, mais nous n’avons juste pas de configurer les broches comme sorties. Cette boucle for seulement effectue une itération dans les baies et s’éteint toutes les LEDS.

void resetLEDS() {}
pour (int thisPin = 0; thisPin < 8; thisPin ++) {}
digitalWrite (col [thisPin], faible) ; Désactiver les LEDs
digitalWrite (ligne [thisPin], HIGH) ;
}

La fonction suivante, nous allons créer est à son tour sur une seule LED. Il attendra pour une période déterminée et puis il s’éteint première nous devons ajouter une nouvelle variable au-dessus de la définition de tableau.  Ajoutez la ligne suivante

int delayPin 1 ;  Cela retarde le code avant elle désactive la led

Puis nous ajoutons deux nouvelles fonctions

void resetLEDS() {}
pour (int thisPin = 0; thisPin < 8; thisPin ++) {}
digitalWrite (ligne [thisPin], HIGH) ;
digitalWrite (col [thisPin], faible) ;
}

}

void onLED (int colnum, int rownum) {}
digitalWrite (col [colnum], HIGH) ;
digitalWrite (ligne [rownum], faible) ;
Delay(delaypin) ;
digitalWrite (col [colnum], faible) ;
digitalWrite (ligne [rownum], HIGH) ;
}

La première fonction juste passe par chaque LED et les transforme tout au loin

La deuxième fonction fonctionne en prenant un nombre de col et le rang qui lui est passé par le code du programme principal. Le code tourne ensuite la colonne requis (anode) haut et la ligne requise (cathode) en bas qui s’allume une LED particulière pour. Un retard est ensuite appelé, puis la LED est éteint en inversant les États ci-dessus.

Avec cette fonction, nous pouvons alors changer le code de boucle à lire comme ça

onLED(0,0) ;
onLED(1,1) ;
onLED(0,1) ;
onLED(1,0) ;
onLED(6,0) ;
onLED(7,1) ;
onLED(6,1) ;
onLED(7,0) ;
onLED(3,3) ;
onLED(4,3) ;
onLED(3,2) ;
onLED(4,2) ;
onLED(0,5) ;
onLED(1,6) ;
onLED(2,7) ;
onLED(3,7) ;
onLED(4,7) ;
onLED(5,7) ;
onLED(6,6) ;
onLED(7,5) ;

Cela devrait vous donner un modèle de visage de smiley sur la matrice. Comme cette boucle s’exécute rapidement que les LEDS semble résulter de tous en permanence sur la pensée par cerveau global elle voit toutes les LED en même temps.

Pour agrandir la LED clignote, puis vous pouvez changer la fonction de boucle pour lire ce
pour (int x = 0; x < 500; x ++) ; {
onLED(0,0) ;
onLED(1,1) ;
onLED(0,1) ;
onLED(1,0) ;
onLED(6,0) ;
onLED(7,1) ;
onLED(6,1) ;
onLED(7,0) ;
onLED(3,3) ;
onLED(4,3) ;
onLED(3,2) ;
onLED(4,2) ;
onLED(0,5) ;
onLED(1,6) ;
onLED(2,7) ;
onLED(3,7) ;
onLED(4,7) ;
onLED(5,7) ;
onLED(6,6) ;
onLED(7,5) ;
}

resetLEDS() ;
Delay(500) ;

Télécharger le schéma (ChangedLEDTestFlash) ci-dessous pour voir les changements.

Articles Liés

Effet de flammes avec un 8 x 8 LED Matrix et ATMega328

Effet de flammes avec un 8 x 8 LED Matrix et ATMega328

il y a quelque temps j'ai trouvé quelques messages de blog expliquant comment utiliser une matrice de LED en pendentif (http://hackaday.com/2013/01/10/8x8-led-matrix-pendant-sealed-in-a-block-of-epoxy/ et https://sites.google.com/site/tinymatrix/ ).
Pong avec 8 x 8 Led Matrix sur Arduino

Pong avec 8 x 8 Led Matrix sur Arduino

jeu Pong créé avec 8 x 8 Led Matrix sur Arduino Diecimila (microcontrôleur Atmel ATMega 168). Pour plus d'informations http://blog.bsoares.com.br/arduino/ping-pong-with-8x8-led-matrix-on-arduino
Arduino Bi-color LED Matrix Flappy oiseau jeu basé

Arduino Bi-color LED Matrix Flappy oiseau jeu basé

Nous avons construit un certain projets en utilisant les kits Bi-color (rouge et vert) LED Matrix Module pilote de jolliFactory et ont publié leur comme instructables ici. Chacun de ces modules utilise deux MAX7219 Display Driver ICs pour piloter une
Rond LED Matrix - 340 Pixels x WS2801

Rond LED Matrix - 340 Pixels x WS2801

340 morceaux de pixels WS2801 avec LED RGB 12mm ont été utilisés pour créer un simple à assembler RGB LED matrice/écran. Tout genre de cher, ils sont extrêmement faciles à monter, câbler et au contrôle. Ce type de chipset pixel WS2801 a été choisi po
Horloge LED Matrix Arduino 32 X 16

Horloge LED Matrix Arduino 32 X 16

J'ai trouvé un très joli jouet de l'affaire.Je pensais essayer de faire une très jolie horloge avec les jouets de l'affaire.Malheureusement, très joli jouet de l'affaire est introuvable seul.Défaillance n'est pas autorisé * _ *Étape 1: Matériaux/comp
Arduino basé jeu de Pong Bi-color LED Matrix

Arduino basé jeu de Pong Bi-color LED Matrix

Nous avons créé deux projet de jeu instructables jusqu'en utilisant les kits Bi-color LED Matrix Driver Module SLT jolliFactory que nous avons conçu. Ce module LED Matrix est conçu pour pouvoir chain-donc vous pouvez chaîner les modules ensemble au n
Arduino basé Bi-color LED Matrix Snake Game

Arduino basé Bi-color LED Matrix Snake Game

Nous avons démontré comment un Arduino basé jeu de Tetris Bi-color LED Matrix peut être construit dans notre dernière instructable. Nous étions tout à fait surprenant il a été présenté à la page d'accueil de Instructables et lui ont valu une poignée
Arduino basé Bi-color LED Matrix Game of Life

Arduino basé Bi-color LED Matrix Game of Life

Jeu de la vie de Conway n'est pas un jeu de classique. C'est le plus connu automate cellulaire à deux dimensions créée par le mathématicien John Horton Conway en 1970.Il se joue sur une grille à deux dimensions de cellules. Une cellule peut être mort
Voix d’entrée Arduino Bi-color LED Matrix défilement affichage texte (Bluetooth + Android)

Voix d’entrée Arduino Bi-color LED Matrix défilement affichage texte (Bluetooth + Android)

Tout en naviguant sur des projets intéressants à Instructables, nous sommes tombés sur l'impressionnante voix activée Arduino (Bluetooth + Android) instructable. Vous pouvez consulter il àRécemment, nous avons mis en place une instructable pour const
7 affichage du texte de défilement Bi-color LED Matrix

7 affichage du texte de défilement Bi-color LED Matrix

Ici, nous montrons comment un Bi-color 7 8 x 8 LED Matrix Scrolling Text Display est construite, dans laquelle messages et commandes peuvent être envoyées à lui via Bluetooth à l'aide d'un téléphone intelligent Android. Logiquement, tout appareil cap
Arduino basé Bi-color LED Matrix Audio Spectrum Visualizer

Arduino basé Bi-color LED Matrix Audio Spectrum Visualizer

Après que nous sommes arrivés avec le kit de Bi-color LED Matrix Driver Module, nous avons recherché de projets intéressants de travailler avec elle.Pourrait vous intéresser dans certains de ces projets, que nous avons mis en à instructables à l'aide
Son activé 4 X 7 RGB LED Matrix

Son activé 4 X 7 RGB LED Matrix

cette instructable est sur un son activés RGB Led Matrix fabriqué à partir de RVB Led et maison maintiennent les articles. Les utilisations de la matrice de LED trois compteurs binaire de 4 bits et un décalage de 4-bits s'inscrire (pour les fils de t
Table basse de LED Matrix

Table basse de LED Matrix

quelques photos de la construction de mon contrôlé par Arduino 8 x 8 LED matrix LED table basse.
Arduino basé Bi-color LED Matrix Tetris Game

Arduino basé Bi-color LED Matrix Tetris Game

L'un de l'électronique DIY kit jolliFactory est venu vers le haut avec est le Bi-color LED Matrix Driver Kit de Module. Ce module est conçu pour chaîne-en sorte que vous pouvez chaîner les modules ensemble au nombre de modules dont vous avez besoin e