PRÉSENTATION ET CONFIGURATION DES CARTES DE TYPE RASPBERRY PI PICO UTILISÉES POUR L’EXPÉRIMENTATION


MENU

  1. Présentation de cartes utilisées
    1. Pico
    2. Pico2W
    3. RT2350-PLUS 16MB

  2. Installation du logiciel MicroPython

  3. Environnement de développement THONNY


1 Présentation de cartes utilisées

Les cartes microcontrôleur utilisées sont de type Raspberry Pi Pico. Elles permettent de contrôler en toute indépendance leurs ports GPIO et les composants auquels ces ports sont connectés.

Pour leur programmation, toutes les cartes sont munies d'un port USB (USBC ou micro-USB) qui permet de les relier par câble à un ordinateur hôte.
Il faut faire attention au choix du câble : ne pas choisir un câble de charge uniquement et veiller à ce qu'il soit d'un seul tenant (sans adaptateur supplémentaire).
Attention aussi à bien choisir le port USB sur l'hôte car c'est le protocole USB 1.1 qui permet l'échange entre la carte microcontrôleur et l'hôte. Un port USBC sur l'hôte ne permet pas l'échange.


1.1 Pico


Introduction

La Raspberry Pi Pico est une carte microcontrôleur basée sur la puce de microcontrôleur Raspberry Pi RP2040. Il a été conçu pour être une carte de microcontrôleur à faible coût et à haute performance avec des interfaces numériques flexibles. Le Raspberry Pi Pico dispose de deux Cortex-M0 ARM + cœurs fonctionnant jusqu'à 133MHz, 256 Ko de RAM, 30 broches GPIO et une large gamme d'options d'interfaçage. Ceci est associé à 2 Mo de mémoire flash QSPI embarquée pour le stockage de code et de données.
En plus de ressources matérielles puissantes, Pico dispose d'un support logiciel riche et complet et de ressources communautaires. Il est programmable notamment avec MicroPython SDK.

Spécification


1.2 Pico2W

Par facilité pour le développement expérimental, une version avec broches de couleur a été choisie.
La carte est munie d'une prise micro-usb.

CARACTÉRISTIQUES


1.3 RT2350-PLUS - 16MB



Cette carte est inspirée du Raspberry Pi Pico, construite autour du microcontrôleur double cœur Raspberry Pi RP2350A. Elle intègre le même processeur Arm Cortex-M33 double cœur et un processeur Hazard 3 RISC-V double cœur, avec des fréquences d'horloge allant jusqu'à 150 MHz. La carte intègre 520Ko de SRAM et 16Mo (option de la carte ici) de mémoire Flash intégrée, ce qui vous offre de nombreuses ressources pour divers projets. Cette carte permet d'améliorer ou d'ajouter des fonctionnalités supplémentaires.

Pour l'alimentation, un connecteur USB Type-C est disponible. L'une des fonctionnalités supplémentaires absentes du Pico 2 est un connecteur de recharge/décharge de batterie au lithium, très utile pour un projet mobile ! La puce MP28164 DC-DC est un convertisseur abaisseur-élévateur haute efficacité à faible courant de repos, capable de fournir un courant de charge maximal de 2 A. La carte est compatible avec la plupart des modules complémentaires Raspberry Pi Pico.

Avec ses 26 broches GPIO multifonctions, cette carte offre une grande flexibilité pour diverses configurations. Elle prend en charge plusieurs interfaces, dont 2 SPI, 2 I2C, 2 UART, 4 canaux ADC 12 bits et 16 canaux PWM contrôlables. Elle est compatible avec C/C++ et MicroPython. Elle dispose d'un SDK complet, de ressources de développement et de tutoriels pour vous aider à démarrer !

PROPRIÉTÉS

COMPOSANTS

  1. LED utilisateur (Ce n'est pas un indicateur d'alimentation)
  2. Connecteur USB Type-C
  3. ETA6096 : Gestionnaire de recharge de batterie lithium haute efficacité
  4. MP28164 : Puce abaisseur-élévateur CC-CC haute efficacité
  5. Bouton de démarrage : il faut appuyer dessus lors de la réinitialisation pour accéder au mode téléchargement
  6. Mémoire flash intégrée : 4 Mo ou 16 Mo (en option) : W25Q32JVSSIQ
  7. Bouton de réinitialisation
  8. RP2350A : Double cœur et conception architecturale duale, fréquence de fonctionnement jusqu'à 150MHz
  9. Connecteur de batterie : Connecteur MX1.25, pour batterie lithium 3.7V, permettant de recharger la batterie et d'alimenter la carte simultanément
  10. Brochage : Compatible avec Raspberry Pi Pico 2
  11. Points de test USB : Connexion à l'interface USB
  12. Point de test de démarrage : Connexion au bouton de démarrage
  13. Points de débogage

Le bouton de démarrage (5) a le même usage que le bouton BOOTSEL des cartes de type "Pico".
Le bouton de réinitialisation (7) n'existe pas sur les cartes de type "Pico". Il permet d'interrompre le programme en cours d'exécution et de relancer le programme main.py.


2 Installation du logiciel MicroPython

L'installation des logiciels est semblable pour toutes les cartes microcontrôleur utilisées. On présente ci-après l'installation de MicroPython sur la carte Pico2W

La première étape est d'installer MicroPython sur la carte Pico2W via le câble USB.

La dernière version du micrologiciel MicroPython (exemple : mp_firmware_unofficial_latest.uf2 ) spécifique de Pico2W doit être téléchargée, par exemple à partir de l’URL https://www.raspberrypi.com/documentation/microcontrollers/micropython.html#drag-and-drop-micropython.

La carte Pico2W dispose d'un mode BOOTSEL pour la programmation du micrologiciel MicroPython via le port USB.

Le micrologiciel MicroPython est équipé d'un port série USB virtuel auquel on accède via le connecteur micro-USB sur le Pico2W. L’ordinateur auquel est connecté le Pico2W devrait remarquer ce port série et le répertorier comme périphérique de caractères, sous le nom /dev/ttyACM0 suite au lancement dans un terminal de l’instruction
ls /dev/tty*
Toujours à partir du terminal, on peut installer minicom, si ce n’est déjà fait :
sudo apt install minicom
et on peut l’ouvrir par l’instruction
minicom -o -D /dev/ttyACM0
Le prompt >>> doit apparaître. MicroPython attend qu’on saisisse une instruction à interpréter.

La LED intégrée sur le Pico2W est connectée à la broche GP25 mais on peut utiliser la chaîne « LED ». On peut l’allumer et l'éteindre.
On peut ainsi saisir successivement au prompt minicom :
>>> from machine import Pin
>>> led = Pin("LED", Pin.OUT)

Le module machine est utilisé pour contrôler le matériel sur la carte. Il s'agit d'un standard sur tous les ports MicroPython. Ici, on l’utilise pour prendre le contrôle d'un GPIO, afin de pouvoir le piloter en mode HAUT et BAS.

Si on saisit ceci :
>>> led.value(1)
La LED doit s'allumer. On peut l'éteindre à nouveau avec
>>> led.value(0)


3 Environnement de développement THONNY

Porter MicroPython vers les appareils comme la carte Pico2W élaborée autour d'un microcontrôleur de la série RP fonctionne avec les environnements de développement couramment utilisés comme THONNY.

On peut installer THONNY sur l’ordinateur hôte par l’instruction suivante dans un terminal :
sudo apt install thonny

Cela ajoutera une icône THONNY au menu du bureau de l’ordinateur hôte.

Lorsqu’on ouvre THONNY pour la première fois, il faut s’assurer que le Pico2W est branché sur le bon interpréteur. Par défaut, l'interpréteur est la copie que Python exécute sur l’ordinateur hôte. Il doit donc être modifié pour exécuter les programmes en MicroPython sur le Pico2W.
Pour ce faire, il faut cliquer sur l’onglet « exécuter » - « Configurer l’interpréteur … » puis « Interpréteur » et dans le menu déroulant

THONNY peut changer suivant l’ordinateur hôte qui peut être par exemple un Raspberry Pi 5, et la procédure peut être légèrement différence suivant la dénomination des onglets.

Dans le cas le plus simple, la fenêtre de Thonny est découpée en 2 parties : la partie inférieure pour l’interprétation ligne par ligne comme avec minicom, la partie supérieure permet d’écrire des programmes.

Par exemple, si on écrit dans la partie supérieure
from machine import Pin, Timer

led = Pin("LED", Pin.OUT)
tim = Timer()
def tick(timer):
global led
led.toggle()

tim.init(freq=2.5, mode=Timer.PERIODIC, callback=tick)

On peut exécuter directement le programme (Pico_toggle_led.py) en cliquant sur la flèche blanche dans un cercle vert. La led du Pico clignote à la fréquence définie dans le programme. On peut arrêter le programme en cliquant sur le carré blanc dans un cercle rouge.
Il est possible d’enregistrer le programme dans la mémoire flash du Pico pour exécution immédiate ou ultérieure. Si on l’enregistre dans la mémoire flash du Pico sous le nom main.py, le programme sera exécuté dès la mise sous tension du Pico.

À partir des boutons, on devrait aussi pouvoir enregistrer le programme dans l’ordinateur hôte à des fin d’archivage, mais ça ne fonctionne pas, bien que cette option soit proposée. Il existe une solution de secours : utiliser l'onglet « Fichier », puis « Enregistrer sous ... » .