marrant tout ça, j'aurais pensé que la luminosité était plutôt liée à une tension électrique à faire varier...
Oui quand c'est une ampoule, non quand c'est une LED.
La luminosité de la LED ne dépend pas d'une tension, mais du courant qui la traverse.
Et vu que c'est merdique, on ne fait jamais varier le courant d'une LED.
Donc pour les LEDs, on utilise généralement de la
PWM.
Sauf que les panneaux à LEDs ne font pas de PWM.
Ils sont juste capables de faire du ON/OFF sur les LEDs, et en plus seulement 2 lignes sur 32 à la fois (1/16e de scan) !
Du coup, on doit utiliser la
modulation binaire.
Aganyte a choisi de moduler sur 3 bits (512 couleurs), et moi sur 4 bits (4096 couleurs).
Chaque image d'une anim est en fait affichée 4 fois :
- Le 1er affichage dure <X> microsecondes, on utilise les bits de rang 0 des couleurs
- Le 2e affichage dure <2*X> microsecondes, on utilise les bits de rang 1 des couleurs
- Le 3e affichage dure <4*X> microsecondes, on utilise les bits de rang 2 des couleurs
- Le 4e affichage dure <8*X> microsecondes, on utilise les bits de rang 3 des couleurs
L'électronique des panneaux n'aime pas du tout quand <X> est trop petit.
Il existe une limite basse qui fait déconner le panneau quand on essaie de faire moins.
Aujourd'hui, je suis déjà proche de la limite basse que les panneaux acceptent.
Pour diminuer la luminosité, il est possible de ne pas faire le 4e affichage (qui contribue pour 50% de la luminosité).
La conséquence, c'est qu'on perd 1 bit de chaque couleur.
La manip de test que j'ai indiquée plus haut consiste à avoir tous les bits de rang 3 à 0, donc à faire un 4e affichage en noir.