Une autre plateforme amusante est le Raspberry Pi Pico. Sa toute petite taille (21*51 mm) et la possibilité de le programmer dans un langage proche du Python en fait un allié de choix. On va découvrir comment le configurer, comment le programmer, mais aussi comment ouvrir une console distante et faire interpréter le code ligne à ligne par le Pico.
Installer MicroPython sur le Pico
Pour pouvoir programmer en MicroPython sur le Pico, on installer tout d’abord une image sur le microcontrolleur qui permettra ensuite d’y exécuter nos propres scripts MicroPython. Voici les étapes.
- Le Pico est débranché, on appuie sur le bouton « BOOTSEL » et on reste appuyé en branchant le câble USB qui le relie à un ordinateur. Il démarre et apparaît comme un périphérique USB sur l’ordinateur.
- Télécharger le dernier MicroPython pour le Pico ici: https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2 (pour le Pico W, il faut chercher le fichier UF2 correspondant sur le site)
- Déplacer le fichier UF2 dans le périphérique USB correspondant au Pico (il s’appelle normalement RPI-RP2)
Le Pico reboote tout seul, c’est quasi instantané, et est prêt à recevoir vos ordres en Python
Programmer sur le Pico avec pyCharm
Différents environnement existent. J’apprécie pyCharm pour mes projets en Python, je souhaite continuer avec le même pour le Pico.
- On télécharge pyCharm ici: https://www.jetbrains.com/fr-fr/pycharm/
- Il faut rajouter le plugin MicroPython
- Le plugin Serial Port Monitor sera utile pour consulter les sorties du Pico: toutes les instructions print sont redirigés par la sortie série (à 115200 bauds) et ce plugin vous permettra de consulter cette sortie.
- On crée un nouveau projet sans réglages particuliers, et une fois le projet ouvert, on va activer le support MicroPython dans le menu File/Settings/Languages & Frameworks/MicroPython
- On sélectionne Raspberry Pi Pico dans le menu « Device type »
- Il faudra peut être rajouter certains plugin à la main dans la console, car pyCharm échoue à les installer:
pip install pyserial
pip install docopt
pip install adafruit-ampy==1.0.5
On peut maintenant créer un nouveau fichier main.py (attention, le nom est très important, un autre nom ne se lancera pas sur le Pico par défaut) pour y coller le code suivant:
import machine
import time
led = machine.Pin("LED", machine.Pin.OUT)
while True:
led.off()
time.sleep(0.9)
led.on()
time.sleep(0.1)
Et en lançant ce code (Ctrl+Maj+F10 ou clic droit/ Run « Flash main.py »), le code est transféré au Pico et immédiatement exécuté: la led sur le circuit clignote toutes les secondes.
Communiquer via la console REPL
Il est possible d’ouvrir une console MicroPython qui exécutera directement les entrées clavier sur le Pico. Pour cela, on va dans le menu View/Tool Windows/MicroPython et une fenêtre se rajoute dans l’espace de travail avec un prompt qui invite à taper du MicroPython. On peut enchaîner les led.off() et led.on() et voir le résultat directement sur le circuit.
Le Pico en autonomie
Si vous souhaitez mettre le Pico dans un endroit éloigné d’un ordinateur, munissez vous d’une batterie externe avec sortie USB, branchez la au Pico par le même câble, et sitôt le Pico s’allume et le programme s’exécute.
Deux choses importantes à savoir
- N’oubliez pas d’appeler votre programme main.py ou il ne sera pas exécuté par défaut. Eviter boot.py, jamais essayé, mais les demandes d’aide sur forums semblent indiquer que ce n’est pas une bonne idée.
- Si vous faites un projet qui contient plusieurs scripts, il faudra exécuter le Run sur le nom projet, et pas sur chaque fichier pour s’assurer que l’ensemble des fichiers est envoyé au Pico.