Projet 10 - Dispositif d’affichage utilisant la persistance rétinienne
Présentation
Pour visualiser les vidéos du projet :
https://youtu.be/7ZVs255Tg6E, https://www.youtube.com/watch?v=QYP2LfkKM8E et https://youtu.be/-9hzriKzHjM

Ce projet consiste à réaliser un dispositif utilisant le phénomène de la persistance rétinienne (POV ou Persistance Of Vision en anglais) pour afficher des graphismes évolutifs sur un objet tournant, comme une roue de vélo.
Ce montage permettra de découvrir le fonctionnement et l’usage des leds RVB adressables qui, bien que montées en ruban, peuvent être réglées indépendamment. Il offrira ainsi l’occasion de découvrir le principe du dessin génératif, qui consiste à dessiner à l’aide d’algorithmes au lieu de simplement lire des images mémorisées.
1. Principe de fonctionnement
Le dispositif est constitué d’une Arduino NANO contrôlant un ruban de leds adressables multicolores APA102. Le montage est alimenté par une pile 9 V de manière à être autonome et monté sur un objet rotatif sans nécessiter de fil d’alimentation qui empêcherait la rotation sur plusieurs tours.
Le code exécuté par l’Arduino permet de créer une séquence graphique sur la portion de ruban de leds. En mettant ce ruban en mouvement (de manière linéaire ou circulaire)...
Matériel et outillage
Le matériel nécessaire représente un budget d’environ 50 euros.
1. Matériel
-
Une Arduino NANO.
-
Un ruban de 32 leds DotStar (basées sur la puce APA102, par exemple les Adafruit DotStar).
-
Un régulateur de tension 5 V L7805CV.
-
Une petite plaque de prototypage.
-
Un boîtier de piles 9 V avec une pile.
-
Des fils de connexion.
-
4 colliers auto-serrants.

Arduino NANO

Régulateur de tension

Ruban de leds adressables APA102 : https://www.gotronic.fr/art-flexible-dotstar-ada2240-25630.htm
2. Outillage
Pour réaliser ce projet, il sera nécessaire d’utiliser un ordinateur pour programmer l’Arduino et un fer à souder pour réaliser le montage définitif.
Montage

Montage du dispositif d’affichage utilisant la persistance rétinienne
Le montage est assez simple puisqu’il se résume en la connexion du régulateur de tension et de la pile, suivie du branchement du ruban de leds.

Circuit du dispositif d’affichage utilisant la persistance rétinienne
1. Alimentation électrique
L’alimentation électrique du montage demande un peu d’attention pour deux raisons : d’une part, elle doit être autonome, de manière à pouvoir installer le dispositif n’importe où, et notamment sur un objet tournant comme une roue de vélo ; d’autre part, les rubans de leds adressables réclament une alimentation à la tension constante de 5 V.
Pour une plus grande autonomie, le circuit est alimenté à l’aide d’une pile 9 V, mais pour réduire la tension d’alimentation des leds à 5 V, il faut utiliser un composant très utile : le régulateur de tension. Celui-ci est de type L7805CV, un modèle courant et facile à trouver. Il accepte une tension d’alimentation comprise entre 6 et 35 V. Pour le câbler, il suffit de relier sa masse à celle du reste du circuit, l’entrée au boîtier de piles 9 V (mettez celui-ci en position d’arrêt pendant le montage pour éviter toute fausse manœuvre), et la sortie à l’alimentation du ruban de leds.

Alimentation électrique...
Programmation
La programmation du dispositif de persistance rétinienne se passe en trois temps. D’abord, vous manipulerez les leds adressables une à une pour vérifier que le ruban est correctement câblé et que vous maîtrisez bien l’usage de la bibliothèque DotStar, puis vous animerez les lumières selon un modèle généré par un code. Enfin, vous utiliserez l’EEPROM pour hacker le bouton reset de l’Arduino afin de vous en servir comme sélecteur de modèle.
1. Test des leds adressables
Afin de vérifier que le circuit est correctement câblé et que les leds sont toutes fonctionnelles, il faut exécuter un code qui provoque l’allumage successif de chacune d’entre elles.
Mais avant d’écrire ce code, il est nécessaire d’installer la bibliothèque DotStar, qui simplifie le pilotage de ce type de leds.
Pour installer cette bibliothèque, dans le programme Arduino choisissez Croquis - Inclure une bibliothèque - Gérer les bibliothèques, puis saisissez dotstar dans le champ de recherche et cliquez sur Installer.

Installation de la bibliothèque Adafruit DotStar
Une fois l’installation faite, passez à la rédaction du code chargé d’allumer alternativement les leds en changeant de couleur avec un effet "chenillard", afin de vérifier leur bon fonctionnement.
Les déclarations initiales contiennent quatre lignes : les deux premières chargent la bibliothèque Adafruit DotStar et la bibliothèque SPI, celle-ci étant nécessaire à la bibliothèque DotStar. En effet, comme expliqué précédemment, le ruban de leds communique grâce au protocole SPI.
#include <Adafruit_DotStar.h>
#include <SPI.h>
Les deux lignes suivantes permettent d’instancier une chaîne de leds DotStar (ou APE102). La variable NOMBREPIXELS reflète le nombre de pixels effectivement présents sur le ruban.
#define NOMBREPIXELS 16
Adafruit_DotStar ruban = Adafruit_DotStar(NOMBREPIXELS, DOTSTAR_BRG);
Le second paramètre de l’instanciation de la chaîne de leds (appelée ici ruban), réglé à la valeur DOTSTAR_BRG, reflète l’ordre de codage des trois...
Pour aller plus loin
1. Améliorations possibles
Cet afficheur utilisant la persistance rétinienne est déjà très amusant, mais il peut être amélioré de plusieurs manières.
Créer des dessins figuratifs
La formule de l’harmonographe recèle bien des possibilités. Apparentée à la superellipse (ou courbe de Lamé) ou à la controversée "superformule" de Johan Gielis, elle est potentiellement capable de dessiner à peu près tout ce qui apparaît dans notre monde. Comment, avec harmonographe, dessiner un trèfle à quatre feuilles ? Ou des engrenages ?
Faire varier les motifs
Créez des motifs additionnels, avec par exemple des paramètres générés par un nombre aléatoire, ou mieux par l’information venue d’un capteur (accéléromètre, thermomètre...). Les variations de l’environnement provoqueront des fluctuations de forme, rendant le dessin plus ”vivant”.
Surveiller la batterie
La pile peut être avantageusement remplacée par un accu lithium-ion, moins lourd et plus compact. Dans ce cas, pensez à afficher le niveau de tension de la batterie à l’aide des leds, afin de surveiller son état de charge.
Synchroniser l’affichage
Pour générer des images parfaitement synchronisées...