8x32 PI : vitesse de lecture, QR code et affiche, sens de l'image sur la vitrine
- Vitesse de lecture : réglage VITESSE du lecteur et menu « Vitesse » sur la page web (×0,25 à ×2, gardé dans .vitesse.txt du dossier des animations). - QR code d'accès à la page web et affiche A5 (outils/generer_qrcode.py → qrcode/) : une coulée inspirée de « cascade » en haut, une partie de « tetris » en bas, couleurs tirées des animations de l'équipe (qrcode/sources/), titre en pixels de couleur. - Matrice de la vitrine : image retournée d'un demi-tour (INVERSER_X et INVERSER_Y) et nouveau réglage DECALAGE_X / DECALAGE_Y (ici 1 pixel vers la droite). - Doc : README, INTERFACE_WEB.md et CLAUDE.md à jour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+21
-4
@@ -121,8 +121,16 @@ COURANT_MAX_MA = 2500
|
||||
# - rouge et vert inversés (gauche/droite) → INVERSER_X = True
|
||||
# - rouge et vert en bas au lieu d'en haut → INVERSER_Y = True
|
||||
# - les deux à la fois (image à l'envers) → les deux à True
|
||||
INVERSER_X = False
|
||||
INVERSER_Y = False
|
||||
INVERSER_X = True
|
||||
INVERSER_Y = True
|
||||
|
||||
# DÉCALAGE de l'image sur la matrice, en pixels (après INVERSER_X / Y).
|
||||
# DECALAGE_X = 1 : toute l'image glisse d'un pixel vers la DROITE ;
|
||||
# la colonne de gauche reste éteinte, la dernière colonne de l'image sort
|
||||
# de la matrice. Utile si un bord de la matrice est caché dans la vitrine.
|
||||
# (Valeurs négatives : vers la gauche ; DECALAGE_Y : vers le bas.)
|
||||
DECALAGE_X = 1
|
||||
DECALAGE_Y = 0
|
||||
|
||||
# CORRECTION GAMMA (voir partie 4). 2.2 = comme un écran d'ordinateur.
|
||||
# 1.0 = pas de correction (les couleurs sombres paraîtront trop claires).
|
||||
@@ -526,9 +534,18 @@ def assombrir(pourcentage):
|
||||
for (r, v, b) in pixels_de(toile)])
|
||||
|
||||
|
||||
def decaler(image):
|
||||
"""Applique DECALAGE_X / DECALAGE_Y : l'image glisse, le vide est noir."""
|
||||
if DECALAGE_X == 0 and DECALAGE_Y == 0:
|
||||
return image
|
||||
decalee = Image.new("RGB", (LARGEUR, HAUTEUR))
|
||||
decalee.paste(image, (DECALAGE_X, DECALAGE_Y))
|
||||
return decalee
|
||||
|
||||
|
||||
def montrer(image=None):
|
||||
"""Affiche la toile (ou une autre image de 32 × 8) sur l'écran."""
|
||||
_ecran.afficher(image if image is not None else toile)
|
||||
"""Affiche la toile (ou une autre image de la taille de la matrice) sur l'écran."""
|
||||
_ecran.afficher(decaler(image if image is not None else toile))
|
||||
|
||||
|
||||
def attendre(millisecondes):
|
||||
|
||||
Reference in New Issue
Block a user