Premiers pas avec la Pyboard

Je vous ai déjà parlé de la Pyboard dans l’article qui présentait le livre de Dominique Meurisse : MicroPython et Pyboard (Editions ENI).

Pyboard V1.1

La Pyboard est très bien équipée. Elle possède un microcontrôleur (ARM STM32F405RG), 30 entrées/sorties, 4 LED (rouge, verte jaune et bleu), un bouton programmable (et le bouton reset), un accéléromètre, une horloge en temps réel et un lecteur de carte micro SD.

Composants de la Pyboard

Je précise que mes amis de MCHobby m’ont gentiment offert un exemplaire de la carte Pyboard, pour que je puisse en parler dans mon prochain livre (et dans cet article). Mais, je ne suis pas payé pour en faire la publicité et je n’ai pas de lien d’affiliation (si vous cliquez sur un lien ou si vous achetez ce produit, je ne touche aucune commission).

Programmation avec un éditeur de texte

La carte se programme en MicroPython, mais elle nécessite pas l’installation d’un IDE (Integrated Development Environment ou environnement de développement intégré, en français). Lorsque vous reliez le connecteur micro-USB à une prise USB de votre ordinateur, la Pyboard et reconnu comme un périphérique de stockage (clé USB ou disque dur externe).

Contenu de la Pyboard

Pour programmer la carte il suffit simplement de modifier le fichier main.py avec un éditeur de texte, comme par exemple Notepad++, qui est quand même beaucoup plus confortable à utiliser que le Bloc-notes de Windows (n’utilisez surtout pas Wordpad).

Le fichier main.py

Pour commencer, nous allons faire clignoter une LED (comme avec l’Arduino). Là vous avez le choix puisse qu’il y en a 4. Chacune porte un numéro (1 = rouge, 2 = vert, 3 = jaune, 4 = bleu); Vous pouvez bien sûr, modifier le programme suivant pour faire clignoter les autres.

# Pyboard_Blink
import pyb
# 1 = rouge, 2 = vert, 3 = jaune, 4 = bleu
while True:
	pyb.LED(3).on()
	pyb.delay(250)
	pyb.LED(3).off()
	pyb.delay(250)

Ensuite, vous pouvez enregistrer le fichier (directement sur la Pyboard ou en copiant le fichier depuis votre ordinateur).

Pendant l’enregistrement du fichier, la LED rouge s’allume.

Le programme Blink sur Pyboard

Pour le moment, vous ne voyez pas votre LED clignoter. C’est normal, il faut maintenant redémarrer la carte pour que le programme s’exécute.

Attendez un peu, le temps que la LED rouge s’éteigne et n’oubliez surtout pas d’éjectez proprement la carte.

Il faut toujours éjecter proprement la carte Pyboard

La Pyboard est beaucoup plus sensible que l’Arduino ou le Micro:Bit. Si vous oubliez de l’éjecter vous avez de grandes chances de corrompre le système de fichier (voir « Réinitialisation d’usine », un peu plus loin).

Vous pouvez maintenant appuyer sur le bouton RST (reset) pour redémarrer la carte ou débrancher et rebrancher la carte (il existe une 3ème solution que nous verrons un peu plus loin).

Test du programme Blink avec la carte Pyboard

Mode terminal

Vous pouvez aussi vous connecter à la carte et la contrôler en lui envoyant directement des instructions depuis un émulateur de terminal, comme par exemple PuTTy.

Mais vous devez connaitre le numéro de port attribué à la Pyboard par votre ordinateur. Pour cela :

  • Connectez la PyBoard à l’ordinateur
  • Faites un clic droit sur l’icône Windows (dans la barre des tâches, en bas à gauche).
  • Sélectionnez Gestionnaire de périphériques.
  • Dépliez la partie Ports (COM et LPT)
  • Regardez le numéro attribué à la PyBoard (COM13, dans cet exemple).
Port attribué à la Pyboard

Ensuite, vous pouvez lancer PuTTy (après l’avoir téléchargé et installé). Cochez la case Serial, indiquez le numéro de port (COM13) et cliquez sur Open.

Configuration de PuTTY pour communiquer avec la Pyboard

La fenêtre de terminal s’ouvre, mais si vous avez modifié le fichier main.py et qu’il contient une boucle infinie (comme dans le Pyboard_Blink), le programme est toujours en cours d’exécution. Vous devriez donc voir une fenêtre comme celle ci :

Fenêtre de terminal (PuTTY)

Pour obtenir l’invite de commande qui permettra de contrôler la carte, vous devez interrompre le programme en cours. Pour cela utilisez la combinaison de touches CTRL + C.

Obtenir l'invite de commande avec CTRL +C

Vous pouvez maintenant allumer ou éteindre les LED en tapant successivement :

pyb.LED(3).on()

Puis :

pyb.LED(3).off()
Allumer ou éteindre les LED en mode terminal

Si vous voulez relancer le programme contenu dans le fichier main.py, vous pouvez redémarrer la carte avec la combinaison de touches CTRL + D (soft reset) ou comme précédemment en appuyer sur le bouton RST (hard reset).

Soft reset avec CTRL + D

Réinitialisation d’usine

Si vous aussi, vous avez l’habitude de débranchez votre carte de développement sans prendre la peine de l’éjecter proprement, vous allez certainement à rencontrer ce problème. En effet, il suffit d’un moment d’inattention pour corrompre le système de fichier et vous ne pourrez plus ouvrir le fichier main.py.

Système de fichier corrompu

Avec un peu de chance, vous pourrez supprimer votre fichier main.py et en recréer un autre du même nom (en espérons que vous avez au préalable, sauvegardé sont contenu quelque part). Mais si cela ne fonctionne toujours pas : « C’est vraiment la CA-TA, la CA-TA, c’est la CA-TA-STROPHE« 

Mais là je dis : NON ! Parce que j’ai la solution pour faire une réinitialisation d’usine.

Bien sûr, vous allez perdre toutes les données enregistrées sur la carte puisse que la Pyboard va se retrouver comme neuve (dans le même état que lorsque vous l’avez sorti pour la 1ère fois de son emballage). Mais parfois, c’est la seule solution pour sauver cette pauvre petite carte, alors suivez cette procédure :

  • Connectez la carte à l’ordinateur
  • Appuyez sur le bouton USR, mais ne le relâchez pas (pour le moment)
  • Appuyez et relâchez le bouton RST
    Les LED vont clignoter en cycle et s’allumer en vert, en orange puis en vert + orange
  • Relâchez le bouton USR au moment où les LED verte et orange sont allumées (en même temps)
    Les LED verte et orange clignotent 4 fois, la LED rouge s’allume et au bout de quelques secondes toutes les LED s’éteignent.

Et là regardez bien Mesdames et Messieurs, sous vos yeux ébahis, la carte a été réinitialisée, c’est le MI-MI, c’est le RA-RA, c’est le MI-RA-CLE !

Conclusion

Je ne conseillerais pas forcement à un débutant qui voudrait s’initier au monde merveilleux des cartes de développement de débuter avec la Pyboard (dans ce cas, le Micro:Bit serait certainement plus adapté). Mais la Pyboard offre beaucoup plus de possibilités car elle est plus puissante et possède plus de ports (de plus ils sont directement accessibles).

J’en parle un peu dans mon prochain livre (sur le Micro:Bit) mais mon ami Dominique Meurisse y consacre presque 800 pages dans le sien.

Sources


Une réflexion sur “Premiers pas avec la Pyboard

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s