Modifications

Sauter à la navigation Sauter à la recherche
1 705 octets ajoutés ,  8 mars 2025 à 01:34
Ligne 48 : Ligne 48 :  
</syntaxhighlight>
 
</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 ('
+
Comme pour les autres exemples, une fonction de rappel sera associée à chaque bouton.  
    +
La fonction de rappel qui sera fournie à {{fname|MultiTrellis}} doit recevoir des paramètres supplémentaires, à savoir:
 +
* position X,
 +
* position Y
 +
* type de flan (flan montant avec {{fname|NeoTrellis.EDGE_RISING}} ou flan descendant avec {{fname|NeoTrellis.EDGE_FALLING}})
 +
 +
<syntaxhighlight lang="python">
 +
def blink(xcoord, ycoord, edge):
 +
    # Allumer la LED sur un flan montant (quand le bouton est enfoncé)
 +
    if edge == NeoTrellis.EDGE_RISING:
 +
        trellis.color(xcoord, ycoord, BLUE)
 +
    # Eteindre la LED sur flan descendant (quand le bouton est relâché)
 +
    elif edge == NeoTrellis.EDGE_FALLING:
 +
        trellis.color(xcoord, ycoord, OFF)
 +
</syntaxhighlight>
 +
 +
La section suivante active la détection des flans montant et descendant pour chaque bouton, associe la fonction de rappel et allume la LED (en violet).
 +
 +
<syntaxhighlight lang="python">
 +
for y in range(4):    # Lignes de 0 à 3
 +
    for x in range(8): # Colonnes de 0 à 7
 +
        trellis.activate_key(x, y, NeoTrellis.EDGE_RISING)
 +
        trellis.activate_key(x, y, NeoTrellis.EDGE_FALLING)
 +
        trellis.set_callback(x, y, blink)
 +
        trellis.color(x, y, PURPLE)
 +
        time.sleep(0.05)
 +
</syntaxhighlight>
 +
 +
Vient le moment d'éteindre les LEDs en fixant la couleur noir (0,0,0) .
 +
 +
<syntaxhighlight lang="python">
 +
for y in range(4):
 +
    for x in range(8):
 +
        trellis.color(x, y, OFF)
 +
        time.sleep(0.05)
 +
</syntaxhighlight>
 +
 +
Enfin comme, comme dans les autres exemples, le corps du script doit appeler régulièrement la méthode {{fname|trellis.sync()}} .
 +
 +
Cela permet à la bibliothèque de détecter l'état des boutons sur les différentes dalle NeoTrellis afin de générer les différents événements.
 +
 +
 +
<syntaxhighlight lang="python">
 +
while True:
 +
    trellis.sync()
 +
    time.sleep(0.02)
 +
</syntaxhighlight>
    
{{Micropython-neotrellis-TRAILER}}
 
{{Micropython-neotrellis-TRAILER}}
32 920

modifications

Menu de navigation