Modifications

Sauter à la navigation Sauter à la recherche
1 837 octets ajoutés ,  8 mars 2025 à 00:26
Ligne 3 : Ligne 3 :  
== MultiTrellis ==
 
== MultiTrellis ==
   −
MultiTrellis est une classe permettant de combiner plusieurs NeoTrellis en mosaïque/damier et de pouvoir accéder aux différents boutons/NeoPixels à partir d'un système de coordonnées X et Y unique.
+
MultiTrellis est une classe permettant de combiner plusieurs NeoTrellis en mosaïque/damier et de pouvoir accéder aux différents boutons/NeoPixels à partir d'un système de coordonnées X et Y commun.
    
[[Fichier:Micropython-neotrellis-multi-00.jpg|800px]]
 
[[Fichier:Micropython-neotrellis-multi-00.jpg|800px]]
    +
L'exemple [https://github.com/mchobby/micropython-neotrellis/blob/main/examples/multitrellistest.py multitrellistest.py] visible ci-dessous indique comment combiner plusieurs NeoTrellis.
 +
 +
Comme pour l'utilisation d'un NeoTrellis seul, le script une instance du bus I2C et les instances de NeoTrellis.
 +
 +
Une nuance cependant, les NeoTrellis sont répertoriés dans la variable {{fname|trelli}}, une liste (un entrée par ligne) contenant des sous-listes (ayant un entrée NeoTrellis pour chaque colonne).
 +
 +
Chaque NeoTrellis est créé en précisant l'adresse de chaque dalle (Note: le paramètre False correspond au paramètre interrupt).
 +
 +
<syntaxhighlight lang="python">
 +
import time
 +
from machine import I2C, Pin
 +
from neotrellis import NeoTrellis
 +
from neotrellis.multitrellis import MultiTrellis
 +
 +
i2c = I2C( 1, sda=Pin.board.GP6, scl=Pin.board.GP7 )
 +
trelli = [
 +
    # 1iere ligne de 2 NeoTrellis de gauche à droite
 +
    [NeoTrellis(i2c, False, addr=0x2E), NeoTrellis(i2c, False, addr=0x2F)], # 2 colonnes
 +
    ]
 +
</syntaxhighlight>
 +
 +
Une fois la structure des dalles définie, il est possible de créer une instance {{fname|MultiTrellis}}.
 +
 +
La classe {{fname|MultiTrellis}} expose une interface similaire à celle de {{fname|NeoTrellis}}.
 +
 +
Chaque appel de méthode sur {{fname|MultiTrellis}} est réparti entre les différentes instances {{fname|NeoTrellis}} renseignées.
 +
 +
<syntaxhighlight lang="python">
 +
trellis = MultiTrellis(trelli)
 +
trellis.brightness = 0.5
 +
 +
# Définition de couleurs
 +
OFF = (0, 0, 0)
 +
RED = (255, 0, 0)
 +
YELLOW = (255, 150, 0)
 +
GREEN = (0, 255, 0)
 +
CYAN = (0, 255, 255)
 +
BLUE = (0, 0, 255)
 +
PURPLE = (180, 0, 255)
 +
</syntaxhighlight>
 +
 +
Comme pour les autres exemples, une fonction de rappel est associée à chaque bouton. La fonction de rappel fournie à {{fname|MultiTrellis}} doit recevoir des paramètres supplémentaires ('
       
{{Micropython-neotrellis-TRAILER}}
 
{{Micropython-neotrellis-TRAILER}}
32 920

modifications

Menu de navigation