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éthodeLe 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émentVoir 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 :

1
np = None
2
3
import board
4
import time
5
import neopixel
6
np = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=.2)
7
while True:
8
  for r in range(10):
9
    np[r] = (255, 0, 0)
10
    np.show()
11
    time.sleep(0.05)
12
  for g in range(10):
13
    np[g] = (0, 255, 0)
14
    np.show()
15
    time.sleep(0.05)
16
  for b in range(10):
17
    np[b] = (0, 0, 255)
18
    np.show()
19
    time.sleep(0.05)
20

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 !