BlogNews

Utiliser son Raspberry Pico avec Python

Nombre d’entre vous le savent déjà, Raspberry donne désormais également dans le microcontrôleur avec son Raspberry Pi Pico. A 4€10 l’unité, beaucoup de makers ont sauté dessus et … nous n’avons pas dérogé à cette tendance.

Bien que le Pico puisse aussi être programmé en C++ (comme un arduino), il peut aussi être programmé en Python. Comme Python est un langage très simple à apprendre et très utilisé dans les domaines scientifiques, personnellement, je préfère capitaliser sur ce language afin de pouvoir construire de solides compétences chez les adhérents.

Dans ce tuto, nous allons voir comment programmer votre Pico avec Python. Ce tuto s’inspire beaucoup du guide mis à disposition par Raspberry. Il est très bien fait et nous reviendrons très certainement dessus sur d’autres tutos.

Allez on se lance ?

Micropython vs. CircuitPython

Avant de démarrer il va falloir bien distinguer les deux façons de programmer le Pico avec Python.

La première se base sur CircuitPython développé par Adafruit. C’est une version dérivée de MicroPython. CircuitPython a été pensé dès sa conception pour être simple et facile d’accès. Il est parfait si vous débutez dans la programmation python et l’utilisation de microcontrôleurs. Adafruit maintient notamment une très grande base de librairies pour de très nombreux composants, ce qui rend leur utilisation avec CircuitPython très simple et très facile.

La deuxième solution se base sur MicroPython. C’est un compilateur Python développé, à l’origine, par un australien (Damien George) après une campagne Kickstarter. MicroPython est parfait pour les habitués de Python et qui souhaitent pouvoir réaliser des programme plus complexes.

C’est quoi la différence ?

Alors, il y a plusieurs différences, mais en schématisant, la différence fondamentale est que pour CircuitPython, l’intégralité du programme est contenu dans une boucle (loop) et est exécuté pas à pas. Si vous appelez une fonction depuis la boucle principale, le programme principal pause, python va aller dans la fonction, la parcourir puis revenir à l’élément suivant dans la boucle principale. Deux programmes ne peuvent pas être exécutés en même temps (en parallèles). Alors qu’avec Micropython, on peut utiliser ce qu’on appelle des threads et des interruptions. Le programme principal peut déclencher l’éxécution de « sous-programmes » en parallèle de sa propre exécution.

Vous n’y comprenez rien ? Vous débutez? Utilisez CircuitPython !

Vous avez tout compris? Vous êtes un pro du Python? Vous avez besoin de faire du multitâche ou de l’évènementiel? Utilisez MicroPython !

Dans tous les cas nous allons voir comment installer les deux et comment les utiliser.

Installer CircuitPython

Nous aurons besoin :

  • D’un Raspberry Pi Pico avec son cable de connexion micro-usb.
  • Du fichier d’installation .UF2 de CircuitPython pour Raspberry Pico, téléchargeable chez adafruit.
  • Un éditeur de code pour compiler et déposer les programmes sur le Pico : Thonny

Il est possible d’utiliser d’autres éditeurs de code (Mu, Visual Studio Code), mais on verra ça dans un autre tuto. L’objectif ici est d’être opérationnel rapidement (or Mu présente des problèmes de droit d’accès aux fichiers avec les Macs sous Big Sur et VSC, pour les débutants c’est pas ça !). Autre avantage : Thonny est en standard sur la distribution Raspbian (ce qui permet de programmer son pico depuis un RPi !). Go !

  1. Téléchargez l’installation de CircuitPython. Vous pouvez télécharger la dernière version (même en béta), pour débuter ça fonctionnera très bien. Il s’agit d’un fichier qui se termine par .uf2.
  2. Branchez votre Pico sur votre ordinateur en maintenant le bouton BootSel appuyé sur la carte :

    Le Pico doit alors apparaître sur votre ordinateur comme un disque externe (comme une clé USB) avec le nom « RPI-RP2 ».
  3. Déposez le fichier .uf2 que vous venez de télécharger sur ce disque. Il va alors immédiatement se démonter, et au bout de quelques secondes il va réapparaître sous le nom « CIRCUITPY ».
  4. Ca y est CircuitPython est installé. Maintenant il ne reste plus qu’à utiliser Thonny pour programmer votre Pico.
  5. Ouvrez Thonny
  6. Lors de la première utilisation, Thonny vous guide pour choisir le micro-contrôleur et l’interpréteur associé. Il faut choisir « CircuitPython (generic) » comme interpréteur et se connecter au port Serie correspondant à un usbmodemXXXXXX. Sinon vous pouvez accéder à ces options via le lien en bas à droite de la fenêtre (en cliquant dessus) :

    Cela dévoile l’onglet des options pour l’interpréteur :
  7. Copiez le code ci-dessous et exécutez-le, si la led sur le Pico clignote, bravo ! Vous êtes paré pour vos aventures avec CircuitPython.
    Si Thonny n’arrive pas à écrire le fichier sur le Pico (Pour les utilisateurs de Mac sous Big Sur), enregistrez le contenu du programme dans un fichier « code.py » et déposez le fichier sur le « disque » CIRCUITPY.

    import board
    import digitalio
    import time
    led = digitalio.DigitalInOut(board.LED)
    led.direction = digitalio.Direction.OUTPUT
    while True:
         led.value = True
         time.sleep(1)
         led.value = False
         ime.sleep(1)

Installer MicroPython

Nous aurons besoin :

  • D’un Raspberry Pi Pico avec son cable de connexion micro-usb.
  • Du fichier d’installation .UF2 de MicroPython pour Raspberry Pico, téléchargeable chez raspberry (l’onglet « Get started with MicroPython »):
  • Un éditeur de code pour compiler et déposer les programmes sur le Pico : Thonny

Allez on installe :

  1. Téléchargez MicroPython pour Pico (un fichier qui se termine par .uf2).
  2. Branchez votre Pico sur votre ordinateur en maintenant le bouton BootSel appuyé sur la carte :

    Le Pico doit alors apparaître sur votre ordinateur comme un disque externe (comme une clé USB) avec le nom « RPI-RP2 ».
  3. Déposez le fichier .uf2 que vous venez de télécharger sur ce disque. Il va alors immédiatement se démonter, et … rien du tout Oups il a disparut et c’est NORMAL, pas de panique.
  4. Ouvrez Thonny
  5. Lors de la première utilisation, Thonny vous guide pour choisir le micro-contrôleur et l’interpréteur associé. Il faut choisir « MicroPython Raspberry Pi Pico » comme interpréteur et se connecter au port Serie correspondant à un usbmodem0000000000001. Sinon vous pouvez accéder à ces options via le lien en bas à droite de la fenêtre (en cliquant dessus) :

    Cela dévoile l’onglet des options pour l’interpréteur :
  6. Copiez le code ci-dessous,et exécutez le programme : si la led sur le Pico clignote, bravo ! Vous êtes paré pour vos aventures avec CircuitPython.
    Si vous souhaitez que le Pico exécute votre programme aussitôt qu’il s’allume, il faudra écrire le programme dans un fichier nommé « main.py » et le déposer à la racine du Pico (en utilisant Thonny et son système de fichier (colonne de gauche)).
    import machine

    import utime
    led_onboard = machine.Pin(25, machine.Pin.OUT)
    while True:

          led_onboard.value(1)
          utime.sleep(1)
          ed_onboard.value(0)
          utime.sleep(1)

Voilà, normalement, vous devriez être paré pour démarrer vos aventures avec votre Pico. Happy Making !

0 %
Notre site internet utilise des cookies afin d'assurer son fonctionnement. Vous pouvez consulter cette page pour en savoir plus.