Skyduino:~#
Articles
arduino, C/C++, librairie, programmation, projet

[AVR] Matrices RGB et jolies couleurs – V2

Bonjour tout le monde !

Je vous écris un rapide billet pour vous tenir informé qu’une nouvelle version du code pour les matrices de leds RGB est en ligne sur mon github 😉

Voici la liste des nouveautés :
– Le github a été nettoyé et les dossiers triés/renommés (pensez à mettre à jour vos bookmark si vous en avez).
Le code Arduino, le code AVR et les documents pour la carte contrôleur sont désormais chacun dans un dossier dédié.

– Le code a été relu et corrigé pour être plus clair et plus fiable.
Mais ça reste toujours du code bas niveau donc pas de miracle hein 😉

– Le code d’affichage est désormais physiquement séparé du code d’exemple.
Pour faire simple, c’est désormais une librairie C que vous pouvez inclure comme vous voulez dans vos projets.

Remarque : Sauf cas de force majeure, les prototypes des fonctions ne devraient pas changer.
Vous pouvez donc vous amuser à faire des surcouches pour dessiner des lignes, cercles, etc. sans crainte de changement.

– Le support du double et même triple buffering est implémenté.
Il vous suffit de définir le switch qui va bien dans le makefile ou à défaut dans le fichier RgbMatrix.h pour activer cette fonctionnalité.

Attention quand même à l’utilisation de la RAM, 2 matrices à 4K couleur en double buffering ça fait déjà 8Ko de RAM.
À vous de choisir la configuration la plus intéressante en fonction du nombre de matrices 😉

– La correction gamma est désormais une fonctionnalité désactivable.
Si vous voulez du bon vieux décalage de bits à la place de la correction gamma vous pouvez.

– Le brochage en fonction du microcontrôleur est désormais dans un fichier séparé (pinmaps.h) pour ceux qui voudraient jouer les apprentis sorciers avec leur propre carte DIY.

– Le code d’exemple fourni avec le nouveau code d’affichage affiche les différentes nuances de couleurs possibles.
À noter que le code d’exemple prend en compte le double buffering :
Si vous activez le double buffering l’affichage se fait d’un seul coup quand le dessin d’une image est achevé.
Si vous n’activez pas le double buffering l’affichage se fait avec un petit délai entre chaque pixel pour bien voir les artefacts dus au fait qu’on dessine et qu’on affiche en même temps.

– Cerise sur le gâteau, la fréquence de rafraîchissement de base est modifiable, par défaut c’est 60Hz.
Si vous voulez ajuster cette fréquence, il suffit de changer un #define.

Attention quand même si vous choisissez une valeur au-dessus de 60Hz. Avec beaucoup de matrices et/ou de couleurs, les risques de plantages augmentent exponentiellement.

Pour télécharger le nouveau code c’est ici que ça ce passe :
https://github.com/skywodd/RGB_Matrix_Arduino_AVR/tree/master/M1284_Software/led_matrix_m1284

Bon WE à toutes et à tous 😉

PS
– L’article d’explication pour l’ajout des nuances de couleurs (le n°6) est toujours en cours d’écriture.
– Je ferai un article n°7 assez rapide pour le double/triple buffering, mais vraiment un truc simple (il y a eu beaucoup de changement dans le code comme vous pouvez le voir).

Discussion

Rétroliens/Pings

  1. Pingback: [Tuto/Info] Matrice de leds RGB – partie 6 | Skyduino - Le DIY à la française - 18 mai 2014

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.