Exemples d'activités
Sous l'onglet Samples, vous trouverez quelques exemples illustrant l'utilisation des composants intégrés à la carte. Je détaille ci-dessous le premier exemple.
la roue RVB
Dans ce petit exemple, nous allons allumer successivement chacune des LEDS RVB en rouge, en vert puis en bleu en créant une sorte de roue qui tourne.
Méthode : Le programme
La gestion des 10 leds RVB se fait via le module neopixel. Les leds sont accessibles via l'objet np qui est créé par la méthode Neopixel prenant 3 paramètres :
La broche (gpio) qui commande les leds. Ici, cette broche est accessible par la propriété board.NEOPIXEL.
Le nombre de leds à commander. Ici, il y en a 10 sur la carte
La luminosité. Ces leds peuvent éblouir, il faut donc mettre une valeur raisonnable entre 0 et 1.
Il y a ensuite 3 boucles identiques permettant d'afficher chacune des 3 couleurs souhaitées. Pour allumer la led numéro r
, il suffit d'affecter à la variable np[r]
la couleur choisie au format (R,V,B).
Il est important de noter que la led ne s'allume pas immédiatement après lui avoir affecté sa couleur. C'est l'appel à la méthode np.show()
qui déclenche l'allumage de toutes les leds.
Complément : Voir le programme python
On voit bien sur cet exemple la pertinence de l'outil edublocks pour se familiariser avec la syntaxe python. La lecture des blocs donne le programme python à taper. Il est possible de le visualiser
en éditant le fichier main.py qui a été enregistré sur la carte en cliquant sur le bouton blocks en haut à droite qui permet la bascule blocs / python.
Voici ce qu'on obtient :
np = None
import board
import time
import neopixel
np = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=.2)
while True:
for r in range(10):
np[r] = (255, 0, 0)
np.show()
time.sleep(0.05)
for g in range(10):
np[g] = (0, 255, 0)
np.show()
time.sleep(0.05)
for b in range(10):
np[b] = (0, 0, 255)
np.show()
time.sleep(0.05)
A vous de jouer
Je vous laisse le soin de parcourir et d'essayer les différents exemples présents dans la rubrique Samples.
Attention :
Le site est encore en phase de test et des erreurs dans les programmes de démo subsistent. J'ai par exemple constaté à plusieurs reprises la présence de Board.A0 au lieu de board.A0. Il faut donc corriger cette typo sous peine d'une erreur.
Il faut en effet savoir que Python fait la différence entre majuscules et minuscules !