Tout sur le Raspberry Pi Pico

tutoriel raspberry pi pico

Si vous cherchez à acheter votre premier Raspberry Pi, le Pico pourrait être une option très intéressante.

Mais la vraie question ici est de savoir si le Raspberry Pi Pico est fait pour vous.

L'achat d'un Raspberry Pi Pico présente de nombreux avantages et inconvénients et il est important de comprendre l'adage "à chacun son métier".

Contenu cacher

Passons en revue le Raspberry Pi Pico

Le Raspberry Pi Pico innove dans la gamme des Raspberry Pi car il s'agit d'une carte de développement à microcontrôleur. Cela représente une rupture avec les autres Raspberry Pi qui sont des micro-ordinateurs.

Il est équipé de la puce RP2040, conçue en interne par Raspberry Pi, et présente les spécifications suivantes :

  • Cœurs de processeur ARM Cortex M0+ à double cœur (jusqu'à 133 MHz)
  • 264K SRAM
  • Mémoire flash de 2 Mo

Le Raspberry Pi Pico se distingue par le fait qu'il s'agit d'un microcontrôleur très performant et qu'il a de nombreuses utilisations intéressantes.

Pro : Bon marché et idéal pour les débutants

Nous vendons le Raspberry Pi Pico pour €4.10 qui est le Raspberry Pi le moins cher que vous puissiez acheter. En fait, si vous êtes novice en matière de bricolage avec le Raspberry Pi Pico, vous pouvez obtenir un kit complet pour 24,95 euros qui comprend tout ce dont vous avez besoin pour réaliser des projets faciles.

Pro : Idéal pour les applications en temps réel

Le Raspberry Pi Pico est parfait pour les projets dans lesquels vous devez chronométrer des événements avec précision. Par exemple, la lecture de capteurs, le fonctionnement de moteurs et la surveillance de tâches.

Pro : entrées analogiques

Le Raspberry Pi Pico est le premier Raspberry Pi qui dispose d'entrées analogiques dès l'usine.

Il est doté d'un total de 5 entrées ADC (Analog Digital Converter). Deux d'entre elles sont utilisées par le Pico pour son capteur de température interne et pour la surveillance de la tension.

En quoi une entrée analogique peut-elle vous être utile ? Par exemple, l'un de mes projets utilise un potentiomètre pour réguler la fréquence de commutation d'un relais. Ainsi, le Raspberry Pi Pico serait capable de lire une valeur sur le potentiomètre et d'utiliser ses valeurs dans le programme que j'ai chargé sur lui.

Le Raspberry Pi Pico résout les signaux ADC à 12 bits, ce qui est mieux que l'ADC 10 bits de l'Arduino Uno. Autres caractéristiques :

  • SAR ADC (ADC à approximation successive)
  • 500 kS/s (avec une horloge externe de 48MHz)
  • Interface DMA sur les entrées ADC qui permet d'accéder à la mémoire sans utiliser le CPU

Pro : IO programmable (PIO)

C'est l'une des caractéristiques les plus cool du Raspberry Pi Pico et c'est aussi ce qui lui donne le dynamisme que certains autres microcontrôleurs n'ont pas.

PIO est une interface matérielle qui peut être programmée indépendamment des processeurs principaux. Elle peut donc émuler de nombreuses interfaces différentes :

  • Port parallèle 8080 et 6800
  • I2C
  • I2S à 3 broches
  • SDIO (interface de carte SD)
  • SPI, DSPI, QSPI
  • UART
  • DPI ou VGA (via réseau de résistances / DAC)

Les machines d'état PIO sont entièrement programmables et exclusivement dédiées aux entrées/sorties. Une attention particulière est accordée à la précision du timing. 

Par exemple, l'interface PIO peut être utilisée pour mettre en place des applications à temps critique (sensibles au temps), comme la commande de bandes de LED, de manière stable et fiable. 

Pro : possibilité de sortie vidéo avec modification

Avez-vous vu "DPI ou VGA" dans la section précédente ? Vous savez ce que cela signifie...

Oui, le Raspberry Pi peut produire de la vidéo, ce qui est quelque chose dont vous ne pourriez même pas rêver sur la plupart des microcontrôleurs.

Nous avons un tutoriel vous montrant comment faire si vous êtes intéressé.

Pro : tient sur une planche à pain

raspberry pi pico sur planche à pain

Sur le Raspberry Pi Pico, les broches se trouvent sur deux côtés opposés du Pi Pico, vous pouvez donc placer le Pi Pico directement sur la planche à pain avec chaque côté en travers de la gouttière de séparation.

Cela facilite le prototypage car vous n'aurez pas besoin de fils mâle-femelle (ou mâle-mâle dans le cas de l'Arduino Uno) pour connecter le Pico sur une planche à pain.

Vous ne pouvez pas faire cela avec les autres Raspberry Pis parce que leurs broches sont toutes regroupées.

Pro : le plus petit Raspberry Pi

comparaison entre raspberry pi et pico
De gauche à droite : Raspberry Pi Pico, Raspberry Pi Zero 2, Raspberry Pi 4

Il est bon d'avoir une petite carte car elle est plus facile à intégrer dans des espaces restreints et plus facile à monter. Par exemple, disons que vous souhaitez fixer le Raspberry Pi Pico au mur, ou dans un environnement fermé : robots, appareils portables, montres, etc.

Le Raspberry Pi Pico mesure 51 mm x 21 mm /Source : Raspberry Pi

Pour : faible consommation d'énergie

J'ai mentionné que le Raspberry Pi Pico est petit et qu'il peut s'adapter à de petits espaces.

L'avantage est que, comme le Pico consomme de l'énergie, vous n'aurez pas besoin d'une grosse batterie pour le faire fonctionner.

Ai-je également mentionné qu'il accepte une large gamme de tensions ? Il peut fonctionner avec une tension comprise entre 1,8 et 5,5 V, ce qui est génial car vous pouvez le faire fonctionner avec une seule pile au lithium (3,7 V) ou des piles à base de nickel connectées en série (1,2 V chacune).

Une analyse de Joey Castillo a montré que l'efficacité du convertisseur buck du Pico culmine entre 2,54V et 3,2V (équivalent à 2 piles rechargeables/alcalines AA entièrement chargées) si vous consommez <=10mA de courant.

Cependant, à des courants plus élevés, il est préférable de fournir 3 piles AA ou la tension d'une pile au lithium.

Ces statistiques peuvent ne pas s'appliquer au Pico W, car ce dernier utilise un convertisseur buck différent. Le Pico W utilise le RT6154 tandis que le Pico utilise le RT6150. Cliquez sur les liens pour voir leurs fiches techniques respectives.

Voici le graphique du convertisseur buck du Pico :

Neutre : Pas de support Linux sur le Raspberry Pi Pico

Que ce soit un avantage ou un inconvénient du Raspberry Pi Pico dépend de votre projet. Le fait de ne pas avoir Linux signifie que vos projets se chargent plus rapidement, mais globalement, vous pouvez faire plus si vous avez un système d'exploitation.

Qu'est-ce que je veux dire par charger plus rapidement ? Eh bien, puisqu'il n'y a pas de système d'exploitation à démarrer, votre code se chargera à peu près au moment même où vous branchez l'alimentation du Pi Pico.

Sur tout autre Raspberry Pi, il faudra beaucoup plus de temps avant de voir une réponse.

Mais malheureusement, sans système d'exploitation, vous êtes limité à la programmation avec MicroPython ou C, alors qu'avec un système d'exploitation, vous pouvez coder dans beaucoup, beaucoup plus de langages. De plus, vous pouvez jouer à des jeux, surfer sur Internet et profiter d'autres applications multimédias.

Neutre : Pas de WiFi

Le fait que ce soit un inconvénient ou non dépend de votre projet, mais si vous développez un projet qui nécessite de vérifier la météo ou de télécharger des données dans Google Sheets, vous ne pourrez pas le faire sur le Raspberry Pi Pico.

Pour être juste, vous pouvez installer du WiFi ou de l'Ethernet en utilisant des pièces de rechange telles que l'article ci-dessous :

Neutre : Sorties GPIO 3.3V

Le fait que ce soit un avantage ou un inconvénient dépend des composants auxquels vous allez associer le Raspberry Pi Pico.

Un scénario où j'ai trouvé que 3,3V était un obstacle était quand j'ai essayé de l'utiliser avec des relais de 5V. Oups ! Je n'ai pas pu faire passer assez de tension pour que le relais commute.

J'ai donc utilisé mon Arduino Uno, dont les broches GPIO délivrent 5V.

L'alternative serait d'ajouter des composants au prototype afin de pouvoir augmenter la tension de 3,3 V, mais pourquoi compliquer les choses alors que je peux le faire avec un Arduino Uno ?

Bien sûr, il ne s'agit que d'un scénario. Votre kilométrage peut varier en fonction de ce que vous faites.

Utilisations du Raspberry Pi Pico

La gamme d'utilisations du Raspberry Pi Pico est infinie. Vous pouvez faire quelque chose qui améliore votre vie ou faire quelque chose juste pour le plaisir.

Microcontrôleur qui lit MicroPython (au lieu de seulement C)

Si vous avez utilisé un Arduino, vous savez que vous devez le programmer en C.

Cependant, il se peut que vous n'aimiez pas programmer en C. Vous êtes peut-être plus à l'aise avec Python.

Et donc, si vous avez eu du mal à écrire du code en C sur l'Arduino, la bonne nouvelle est que tout ce que l'Arduino peut faire, le Raspberry Pi Pico est susceptible de s'adapter à votre cas d'utilisation.

Alors jetez ces accolades et commencez à indenter votre code !

Constructions alimentées par batterie pour une longue durée de fonctionnement

Si vous avez besoin d'un appareil qui consomme le moins d'énergie possible, il est préférable d'opter pour le Raspberry Pi Pico plutôt que pour un appareil plus puissant comme le Raspberry Pi Zero.

Voici pourquoi : vous pouvez utiliser une gamme beaucoup plus large d'entrées d'alimentation (1,8V à 5,5V) et, comme le Raspberry Pi Pico est si efficace, vous pourrez obtenir des durées d'exécution beaucoup plus longues que si vous utilisiez un micro-ordinateur comme le Raspberry Pi Zero.

Oh, ai-je mentionné que le Raspberry Pi Zero est très pointilleux sur la tension que vous lui fournissez ? Il ne prend que 4,75 - 5,25V.*

* Selon Arya, qui a laissé un commentaire ci-dessous, le Raspberry Pi Zero peut fonctionner sur une seule batterie au lithium tant que vous n'avez pas de périphériques USB. Merci Arya.

Macro-claviers, bascules tournantes et autres HIDs

Don Hui avec son clavier macro Discord qui lui permet de basculer facilement les contrôles de volume / Source : YouTube.

Le Raspberry Pi Pico peut être utilisé comme un dispositif d'interaction humaine (DIH).

Mais contrairement à une vieille souris ou un clavier ennuyeux, le Raspberry Pi Pico vous permet de créer un dispositif qui fait quelque chose de niche et de spécifique à votre cas d'utilisation.

Ainsi, vous pouvez créer des claviers macro qui tapent une longue chaîne de caractères en appuyant sur un bouton. Ou vous pouvez l'utiliser pour couper le son de Discord. Ou l'utiliser pour appuyer sur CTRL + ALT + DEL. Les possibilités sont infinies.

Le bouton multifonctionnel de magi qui agit comme un contrôle de volume rotatif ou un épurateur de ligne de temps Premiere Pro. Source : YouTube

sArCaSm kEyBoArD

Quoi de mieux pour exprimer le sarcasme : afficher un /s à la fin de votre texte ou à la fin d'une phrase ?

Je préfère la deuxième parce qu'elle évoque immédiatement le sArCaSm.

Le créateur de ce projet, Ben S, a expliqué qu'il utilisait deux Raspberry Pi Picos pour réaliser ce projet. Un Pico fait office de clavier USB HID pour l'ordinateur et un autre fait office d'hôte USB pour lire les entrées du clavier. L'hôte communique ensuite avec le périphérique via UART pour indiquer la frappe du clavier.

Le clavier sarcasme de Pico active et désactive le verrouillage des majuscules après chaque frappe, ce qui donne un TeXt sArCaStIc.

Que ne peut pas faire le Raspberry Pi Pico ?

Parlons d'une configuration plus typique en sortie de boîte.

Je reconnais qu'il existe de nombreuses façons d'augmenter les capacités du Raspberry Pi Pico. Vous pouvez faire de la vidéo, installer un réseau Ethernet, faire de l'audio...

Avec suffisamment de modifications, le Raspberry Pi Pico se rapprochera des capacités d'un micro-ordinateur.

Cela dit, personne de rationnel ne va aller aussi loin. Au-delà d'un certain niveau de modification, cela devient irréalisable.

Pourquoi cela devient-il irréalisable ?

Parce que vous pourriez aussi bien acheter quelque chose qui vous offre toutes ces caractéristiques dès la sortie de la boîte !

Un concurrent proche que vous devriez garder à l'œil est le Raspberry Pi Zero 2. Nous avons un méga-article qui répondra à toutes vos questions ici.

À un niveau fondamental, le Raspberry Pi Pico a moins de puissance de calcul. Comparé au micro-ordinateur le moins cher, le Raspberry Pi Zero, le Pi Pico a une horloge par défaut de 133MHz et peut faire 361,76 Dhrystone Million d'instructions par seconde (DMIPS), alors que le Raspberry Pi Zero peut faire 1250 DMIPS.

Le Raspberry Pi Zero possède également 512 Mo de RAM, un système d'exploitation, le WiFi et un emplacement pour carte SD. Pour une personne maîtrisant parfaitement JavaScript comme moi, le fait de pouvoir écrire du code Node pour le connecter à Google Cloud est une des raisons pour lesquelles j'aime utiliser les micro-ordinateurs Pi.

Micro-ordinateur et microcontrôleur

En illustrant le scénario précédent, j'ai utilisé les termes micro-ordinateur et microcontrôleur. Je vais résumer quelques utilisations pour lesquelles l'un est meilleur que l'autre.

Un microcontrôleur est beaucoup plus simple qu'un micro-ordinateur, et il est donc beaucoup plus facile de lui faire effectuer des tâches simples. Si vous avez juste besoin de faire clignoter une LED, de faire tourner un servo, de mesurer des données de température, un microcontrôleur peut le faire très facilement et de manière compétente.

En fait, vous bénéficiez de certains avantages tels que le redémarrage rapide et une plus grande autonomie de la batterie.

La simplicité s'accompagne de limites. Par exemple, il est beaucoup plus facile de connecter votre prototype à Internet avec un micro-ordinateur. Par exemple, vous pourriez vouloir connecter votre prototype à un service de messagerie pour vous envoyer un ping lorsque certains seuils sont atteints. Je réaliserais ces projets sur un Raspberry Pi Zero plutôt que d'essayer de les faire fonctionner avec le Raspberry Pi Pico.

ScénarioMicrocontrôleur (par exemple, Raspberry Pi Pico)Micro-ordinateur (par exemple, Raspberry Pi Zero)
Exécuter un serveurNonOui
Faire clignoter une LEDBeaucoup plus rapide du début à la finBeaucoup plus lent ; beaucoup plus de processus à suivre
Redémarrage automatique du programme en cas de panne de courant ?OuiPas par défaut
Jouer à des jeux vidéoNonOui
Fonctionne sur batterie ?Oui, ils sont susceptibles de durer plus longtemps en moyenneOui, ne dure pas aussi longtemps en moyenne
Gestion de la chaleur ?Aucun requis habituellementDissipateurs thermiques, ventilateurs, boîtiers thermoconducteurs.
Les coûts ?Plus basPlus haut

Broches Raspberry Pi

Le Raspberry Pi Pico possède 30 broches GPIO, dont 26 sont utilisables.

  • 2x SPI
  • 2 x UART
  • 2 x I2C
  • 8 x PWM à deux canaux

il y a aussi :

  • 4 x sortie d'horloge à usage général
  • 4 x entrée ADC
  • PIO sur toutes les broches

Voici l'image du brochage du Raspberry Pi Pico :

Broches du Raspberry Pi Pico / Source : Raspberry Pi

En fait, un Redditor appelé C_King_Justice a également créé un outil qui peut vous aider à trouver les broches GPIO de votre Raspberry Pi Pico. Vous pouvez Téléchargez le document ici.

Pinout de papier par C_King_Justice / Source : Reddit

Spécifications du Raspberry Pi Pico

Raspberry Pi Pico
Prix€4.10 (conseil) €24.95 (kit Raspberry Pi Pico pour débutants)
CPURP2040 avec double cœur Cortex M0+ jusqu'à 133MHz
Capacités du CPULa PLL intégrée permet de varier la fréquence du noyau
Fréquence du CPUjusqu'à 133MHz, over/underclockable
GPUPas de GPU
RAM264 kB de SRAM embarquée en 6 banques
RéseauNon inclus, mais vous pouvez l'ajouter
BluetoothNon inclus
Port HDMINon inclus, mais vous pouvez l'ajouter
Port USBMicroUSB pour l'alimentation et les données
Vidéo compositeNon inclus, mais vous pouvez l'ajouter
Broche de réinitialisationNon inclus, mais vous pouvez le souder.
Port de la caméraAucun
Consommation électrique~1,3 mA en mode SLEEP à 93 mA en test "Popcorn".
Alimentation électrique5V via microUSB ou 1.8 - 5.5V via VSYS
facteur de forme51 x 21 mm

Le Raspberry Pi Pico dispose-t-il d'une interface HDMI ?

Raspberry-Pi-Pico-Video-Output-DVI-Sock

Non, il ne le fait pas par défaut. Mais vous pouvez ajouter une vidéo vous-même. Voir notre guide ici.

Notez que bien que l'interface vidéo soit un connecteur HDMI, elle émet en fait un signal DVI. HDMI est le successeur de DVI, les signaux DVI peuvent donc être transmis via HDMI.

Dans le même ordre d'idées, vous pouvez acheter un adaptateur HDMI vers DVI pour convertir le connecteur HDMI en DVI.

Cela dit, notez que cette configuration ne produit pas d'audio.

Le Raspberry Pi Pico dispose-t-il d'un réseau Ethernet ?

Non, il ne le fait pas par défaut. Mais vous pouvez ajouter ethernet vous-même.

Raspberry Pi a officiellement publié un guide que vous pouvez suivre pour installez ethernet sur votre Raspberry Pi Pico.

En gros, vous avez besoin d'un PHY Ethernet RMII tel qu'un LAN8720, d'une planche à pain et de fils de liaison. Votre Raspberry Pi Pico doit également être équipé de connecteurs soudés.

Le Raspberry Pi Pico dispose-t-il du WiFi ?

Non, mais vous pouvez l'installer en utilisant des pièces du marché secondaire. Une puce compatible qui vous aidera à obtenir des capacités WiFi est le co-processeur Adafruit Airlift WiFi Featherwing.

Le Raspberry Pi Pico dispose-t-il d'un port USB ?

Oui, le Raspberry Pi Pico possède un port microUSB. Il peut être utilisé pour alimenter le Raspberry Pi.

En outre, vous pouvez également utiliser le Raspberry Pi Pico comme dispositif d'interaction humaine. En le connectant à votre ordinateur avec les composants et le code appropriés, il peut devenir un joystick, un clavier macro, une bascule, etc.

Le Raspberry Pi Pico est-il équipé de Bluetooth ?

Non, mais vous pouvez l'installer en utilisant des pièces d'après-vente.

En général, l'intégration de Bluetooth sur le Raspberry Pi Pico nécessite l'achat d'un module Bluetooth tel que le module Bluetooth HC-06.

Existe-t-il une caméra Raspberry Pi Pico ?

Le prototype de Ralph Yamamoto utilisant le module caméra HM01B0. Source : Ralph Yamamoto/Élément 14

Oui, vous pouvez intégrer le Raspberry Pi Pico avec un module caméra.

Une caméra que vous pouvez utiliser est la caméra HM01B0 de Himax Imaging. L'avantage de cette caméra est qu'elle consomme très peu d'énergie, soit 1 à 2 milliwatts selon Ralph Yamamoto qui a écrit sur son projet de caméra. expérience pour faire fonctionner une caméra avec le Raspberry Pi Pico.

Aperçu de la caméra fonctionnant à 96×96 pixels. Source : Ralph Yamamoto/Élément 14

Il a conclu que "je suis sûr que cela nécessitera beaucoup de réglages" et a ajouté qu'il se sentait limité par ses capacités de traitement et que la documentation de l'appareil photo était insuffisante.

Système d'exploitation Raspberry Pi Pico

En général, vous n'exécuterez pas de système d'exploitation sur le Raspberry Pi Pico.

Dans la plupart des projets, il est probable que vous n'ayez besoin que de télécharger du code et d'exécuter ce seul programme. Il n'est pas nécessaire d'avoir un système d'exploitation dans ce cas.

Mais êtes-vous du genre à avoir plusieurs onglets sur Chrome ? Maintenant, imaginez si vous ne pouviez utiliser qu'un seul onglet Chrome.

Si la méthode "classique" de programmation du Raspberry Pi Pico est la plus efficace en termes de ressources, elle limite également votre capacité à exécuter plusieurs tâches.

Heureusement, il existe des systèmes d'exploitation qui fonctionnent sur le Raspberry Pi Pico.

RTOS officiel (Real Time Operating System)

Il n'y en a pas, mais Raspberry Pi a indiqué dans sa FAQ (en date de février 2022) qu'ils "travailleront bientôt au portage d'un RTOS".

FreeRTOS

Le Raspberry Pi Pico peut exécuter FreeRTOS. Voici une courte vidéo qui vous guidera de la programmation à nu (la façon "typique" de faire clignoter une LED) à la programmation basée sur le système d'exploitation.

Cette série en cinq parties entre dans les détails de FreeRTOS, comment il fonctionne, et comment vous pouvez le configurer et l'utiliser.

Fuzix

Il n'est pas possible de faire tourner Linux avec une interface utilisateur graphique sur le Raspberry Pi Pico, mais vous pouvez faire tourner un clone d'Unix sur le Raspberry Pi Pico avec Fuzix.

Raspberry Pi a a publié un guide que vous pouvez suivre et ce dont vous avez besoin :

  • Non-Pico Raspberry Pi pour la connexion série
  • Raspberry Pi Pico
  • Lecteur microSD pour le Raspberry Pi Pico.

PyDOS

L'utilisateur de Github RetiredWizard vient de créer un shell de type DOS pour les cartes RP2040/ESP32.

Comme vous pouvez le voir dans la vidéo ci-dessus, il vous ramène vraiment plus de 30 ans en arrière.

Consultez le dépôt Github ici.

Démarrer avec le Raspberry Pi Pico

Nous avons conçu plusieurs kits en nous basant sur ce qui, selon nous, vous aidera le plus à long terme à profiter de votre voyage avec le Raspberry Pi Pico.

Pour l'essentiel, voici quelques accessoires recommandés pour le Raspberry Pi Pico.

La diode Schottky est nécessaire si vous avez l'intention d'alimenter le Pico avec une deuxième source de courant. C'est le moyen le plus simple d'alimenter une source de tension comprise entre 2,3 V et 5,5 V, qui peut être une pile au lithium ou trois piles AA.

L'ajout de cette diode vous permettra de "OU" les deux tensions de VBUS et la tension externe pour alimenter VSYS avec les diodes empêchant l'une des deux alimentations de rétroalimenter l'autre.

Cependant, bien que ce soit le plus simple, il y a des pertes d'efficacité. Fiche technique du Raspberry Pi explique ce phénomène en détail et explique également comment l'atténuer au chapitre 4.5.

Un support de batterie vous permet d'avoir une alimentation de secours (avec une diode Schottky) ou de faire fonctionner votre installation complètement hors réseau.

Celui-ci est explicite. Vous avez besoin de ce câble pour connecter votre Raspberry Pi Pico à votre ordinateur afin de télécharger du code. Il peut également servir de source d'alimentation.

Deux connecteurs à 20 broches sont essentiels car vous en aurez besoin pour connecter votre Raspberry Pi à des composants ou à une planche à pain.

L'embase à trois broches est nécessaire pour le débogage.

N'achetez pas de connecteur à 40 broches car il est destiné aux autres Raspberry Pis.

Si vous ne souhaitez pas souder les connecteurs vous-même, vous pouvez envisager d'acheter un appareil de soudage à l'arc. Pico avec en-têtes pré-soudés.

Programmation sur le Raspberry Pi Pico

Vous pouvez coder en MicroPython, C/C++ et CircuitPython sur le Raspberry Pi Pico. Voici un tableau qui montre l'effort nécessaire pour faire clignoter la LED interne.

LangueMicroPythonC/C++CircuitPython
Configuration requise pour la première exécutionMoyenLe plus hautLe plus bas
Étapes pour créer un nouveau programmeMoyenLe plus hautLe plus bas
Contrôle du matérielMoyenLe plus hautMoyen

MicroPython sur le Raspberry Pi Pico

MicroPython est essentiellement Python lite. Ou Python light.

Il s'agit de Python avec un petit sous-ensemble de la bibliothèque standard Python, optimisé pour fonctionner sur des microcontrôleurs comme le Raspberry Pi Pico.

Afin d'utiliser MicroPython, vous devrez télécharger Thonny et allez en bas à droite où il est écrit "Python 3.7.9" et cliquez dessus, en sélectionnant MicroPython (Raspberry Pi Pico).

Vous serez probablement accueilli par une fenêtre pop-up vous demandant d'effectuer la mise à jour. Allez-y.

La mise à jour a fonctionné correctement lorsque j'ai exécuté Thonny sur mon système d'exploitation Raspberry Pi, mais sous Windows, l'erreur suivante s'est produite : " SSL : CERTIFICATE_VERIFY_FAILED ".

Vous pouvez résoudre ce problème en téléchargeant ce certificat (https://letsencrypt.org/certs/lets-encrypt-r3.der), puis faites un clic droit sur le fichier téléchargé et "Installer le certificat" et vous ne rencontrerez plus cette erreur.

Avec MicroPython installé, vous pouvez faire l'équivalent du "Hello World" du Raspberry Pi Pico et faire clignoter sa LED interne en utilisant ce code

from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()

def blink(timer):
    led.toggle()

timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)

Appuyez sur RUN, sauvegardez-le comme blink.py et la LED interne de votre Raspberry Pi devrait clignoter.

Sur ce, voyons le processus équivalent sur C.

Autres lectures

PiCockpit propose également quelques interfaces pour vous aider à démarrer avec MicroPython sur le Raspberry Pi Pico.

Raspberry Pi Pico et MicroPython sous Windows - nous approfondissons la configuration de MicroPython sous Windows sur le Raspberry Pi, comment installer le bon pilote sous Windows 8.1, la connexion au Pico en utilisant PuTTY et une explication détaillée de Thonny.

Extension C pour MicroPython sur Raspberry Pi Pico - Et si vous pouviez exécuter MicroPython et C simultanément et bénéficier des avantages des deux langages ? Le langage C est plus performant que le langage MicroPython pour les tâches de calcul lourdes et il arrive que vous souhaitiez interfacer du matériel via une API C à partir de MicroPython. Ce guide vous explique comment le faire.

LED clignotante avec C/C++

Si vous avez besoin d'un contrôle beaucoup plus fin, vous voudrez probablement écrire en C/C++.

Faire fonctionner votre Raspberry Pi Pico avec du C demande beaucoup plus de travail. Ce n'est pas aussi facile que d'écrire MicroPython avec Thonny.

Le moyen le plus simple est d'utiliser un micro-ordinateur Raspberry Pi avec Raspberry Pi OS.

Si vous voulez utiliser un Mac ou un Windows, le guide officiel propose des instructions au chapitre 9.

Exécutez ces trois commandes :

wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh 
$ chmod +x pico_setup.sh
./pico_setup.sh

Vous aurez besoin d'environ 2 Go d'espace pour exécuter cette commande. Une fois que c'est fait, redémarrez en exécutant sudo reboot .

Une fois que vous avez démarré, ouvrez Visual Studio Code (sous le dossier Programming dans le menu de démarrage) et ouvrez le dossier situé dans /home/pi/pico/pico-examples. Vous devez charger ce dossier et non un sous-dossier.

Ensuite, vous devez configurer VS Code. En vous référant à l'image ci-dessus, faites ce qui suit :

  1. Cliquez sur la partie qui indique "No Kit" ;
  2. Une fenêtre popup apparaîtra. Choisissez l'option où il est écrit "arm-none-eabi" ;
  3. Cliquez sur le bouton [all] et choisissez le projet que vous voulez compiler. Pour faire clignoter la LED interne, j'ai choisi clignotement
  4. Appuyez sur Construire

Vous pourrez trouver le blink.uf2 dans le fichier /build/blink dossier.

Copiez le fichier UF2 sur votre Raspberry Pi Pico et vous verrez la LED interne commencer à clignoter.

Construire son propre projet est plus compliqué en C/C++. Le guide officiel a chapitre huit qui vous explique comment créer votre propre projet.

CircuitPython

Un troisième participant aux langages de programmation qui fonctionnent avec le Raspberry Pi Pico est CircuitPython.

Pour commencer, Téléchargez le fichier .UF2 ici.

Bouton BOOTSEL

Appuyez sur le bouton BOOTSEL et maintenez-le enfoncé, puis branchez votre Pico à votre ordinateur. Vous devriez voir un nouveau lecteur.

Copiez le fichier .UF2 que vous avez téléchargé sur ce lecteur. Votre Pico se déconnectera et se reconnectera avec un nouveau lecteur appelé CIRCUITPY.

Dans ce dossier, il y a un fichier appelé code.pyouvrez-le avec votre éditeur de code préféré (même Notepad fonctionne).

Mettez ce code :

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

Une fois que vous l'avez enregistré, vous verrez que la LED interne de votre Pico commence à clignoter.

Dans l'ensemble, CircuitPython était le moyen le plus facile et le plus direct de faire clignoter votre LED interne. Les deux autres options étaient plus fastidieuses, en particulier l'utilisation du langage C sur le Pico (d'autant plus si vous essayez de le faire fonctionner sur Mac/Windows).

Cela dit, si vous envisagez d'utiliser CircuitPython à long terme, il y a des arguments en faveur de l'utilisation de Thonny comme IDE, car il peut télécharger des paquets pour vous et vous pouvez également exécuter et arrêter des programmes en appuyant sur le bouton play/stop de la barre de commandes.

Pour plus de références sur CircuitPython, voir La documentation d'Adafruit. Pour revenir à MicroPython, téléchargez un fichier .UF2 à partir d'ici et le télécharger sur votre disque CIRCUITPY.

Bonus : Assembleur sur le Raspberry Pi Pico

Oui, vous pouvez écrire en assembleur si vous ne voulez pas programmer le Raspberry Pi Pico en C ou en Python.

La FAQ de Raspberry Pi indique que le Pico SDK possède quelques fonctions écrites en assembleur et que,

"Le processeur (ARM Cortex M0+ à double cœur) met en œuvre le jeu d'instructions Thumb ARMv6-M, y compris un certain nombre d'instructions 32 bits qui utilisent la technologie Thumb-2. Le jeu d'instructions ARMv6-M comprend toutes les instructions Thumb 16 bits de l'ARMv7-M, à l'exception de CBZ, CBNZ et IT, et les instructions Thumb 32 bits BL, DMB, DSB, ISB, MRS et MSR".

Bonus : le langage de programmation Rust sur le Raspberry Pi Pico

Si vous êtes de mauvaise humeur parce que vous êtes un Rustacéen qui a hâte d'écrire dans sa langue préférée, j'ai de bonnes nouvelles pour vous.

Au cœur de ce dispositif se trouve la couche d'abstraction matérielle RP2040 qui que vous pouvez obtenir sur GitHub (nommé rp-hal). Il fonctionne pour de nombreuses cartes qui utilisent le microcontrôleur RP2040 autres que le Raspberry Pi Pico.

Voici une vidéo qui vous montre comment le configurer.

Qu'est-ce que l'UF2 et pourquoi est-il si souvent utilisé sur le Raspberry Pi Pico ?

C'est magique. Vous faites glisser un fichier UF2 sur votre Raspberry Pi Pico et soudain il se remonte avec un nouveau nom ou bien il fait clignoter une LED.

UF2 (U F au carré) signifie USB Flashing Format. Lorsque vous le faites glisser sur votre Raspberry Pi, vous faites glisser votre code en plus des instructions pour le chargeur de démarrage afin qu'il sache quoi faire avec ce que vous avez téléchargé.

Connexion du Pico via le terminal série

Windows

La connexion au Pico à l'aide du terminal série est simple et rapide. nous avons un guide ici.

Connexion à un Raspberry Pi 4 (Linux)

Afin de connecter le Raspberry Pi Pico à un Raspberry Pi 4, vous pouvez utiliser les broches USB ou UART, minicom et quelques fils de liaison.

Raspberry Pi's Démarrer avec Pico a toutes les informations du chapitre 4, notamment 4.4 et 4.5.

Débogage du Raspberry Pi Pico

A quoi servent ces trois broches en bas ?

broches de débogage pour raspberry pi pico
Broches de débogage du Raspberry Pi Pico

Ces broches vous permettront de réinitialiser le Pico, de charger du code dans la mémoire flash, d'exécuter le code et, surtout, de déboguer.

Le plus grand avantage est la capacité de débogage avancée que vous pouvez obtenir de ces broches. Vous êtes maintenant en mesure de faire une analyse de code beaucoup plus fine parce que vous le pouvez :

  1. Définissez des points d'arrêt dans votre code. Les points d'arrêt vous permettent d'interrompre l'exécution du code pendant que vous vérifiez les valeurs de vos variables, par exemple.
  2. Examinez l'exécution du code ligne par ligne. Quand est-ce que tout va mal ? Le débogage est facilité par l'exécution ligne par ligne.

Ils peuvent être connectés à un micro-ordinateur Raspberry Pi via leurs broches GPIO. Si vous souhaitez les connecter à d'autres machines, probablement via USB, vous aurez besoin d'une sonde de débogage.

Un Raspberry Pi Pico peut également faire office de sonde de débogage qui connecte votre ordinateur au Pico sur lequel vous souhaitez travailler. Pensez-y de la manière suivante : votre ordinateur ne dispose pas des broches GPIO nécessaires pour établir une connexion UART/SWD, vous allez donc utiliser un Pico pour fournir ces connexions ainsi que la sonde de débogage. picoprobe le firmware qui l'activera.

Cependant, si vous avez l'intention d'utiliser le SWD pour le débogage, vous devez utiliser une connexion série basée sur UART plutôt qu'une connexion USB. Le débogage arrête les cœurs du RP2040, ce qui entraîne la déconnexion de la connexion USB.

Parlons un peu de ce que fait chaque broche :

SWDIO: la broche d'entrée/sortie de débogage du fil série achemine le trafic de débogage entre le RP2040 et l'ordinateur hôte (un ordinateur complet ou un micro-ordinateur Raspberry Pi, par exemple).

GND: Masse. Nécessaire pour maintenir une bonne intégrité du signal entre l'hôte et le Pico.

SWCLK: La broche Serial Wire Clock synchronise la connexion.

Votre meilleure chance est de vous référer à la Démarrer avec Pico de Raspberry Pi, avec un accent particulier sur les chapitres 5, 6 et l'annexe A : utilisation de Picoprobe.

Projets Raspberry Pi Pico

Voici quelques bons projets pour les débutants que vous pouvez lancer avec un minimum de pièces supplémentaires.

Clavier sArCasM facile et clavier macro

C'est un projet amusant qui vous permettra de créer un modificateur qui transforme une frappe normale en casse sarcastique. Plus sérieusement, savoir utiliser la bibliothèque HID d'Adafruit avec un interrupteur vous permettra de créer des macros.

Si vous voulez taper sArCaSm à l'échelle, c'est assez fatigant. Il existe un moyen très simple de le faire avec le Raspberry Pi Pico.

Vous n'avez besoin de rien d'autre que votre Raspberry Pi Pico pour la conception la plus basique. Cependant, votre Raspberry Pi Pico devrait avoir CircuitPython avec la bibliothèque HID d'Adafruit.

En mode normal de Thonny, allez à Outils -> Gérer les paquets et chercher adafruit-circuitpython-hid. Installez-le.

Assurez-vous également que vous utilisez l'interpréteur CircuitPython, qui se trouve en bas à droite de Thonny.

Mettez ce code,

import time
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

while True:

        keyboard.press(Keycode.CAPS_LOCK)
        time.sleep(0.2)
        keyboard.release(Keycode.CAPS_LOCK)

Téléchargez le code sur votre Pico. Si nécessaire, appuyez sur le bouton RUN dans Thonny.

Désormais, chaque fois que vous branchez votre Raspberry Pi Pico sur l'ordinateur... Voyez l'image de marque juste devant vos yeux.

Ce que fait ce script, c'est qu'il active et désactive le verrouillage des majuscules toutes les 0,2 secondes, comme le déclare le script suivant temps.sleep(0.2). Si vous modifiez la valeur entre les crochets, vous pouvez régler avec précision la fréquence de changement de caisse.

Ajout d'un interrupteur à ce projet

ajouter un interrupteur à raspberry pi pico

Cette conception de base présente l'inconvénient de devoir tirer sur la clé USB pour arrêter les sarcasmes.

Ajoutons un interrupteur qui nous permettra d'activer et de désactiver cette fonction.

Gardons également la LED du tableau allumée lorsque le sarcasme est activé.

Schéma pour connecter un interrupteur au Raspberry Pi Pico en utilisant Wokwi.

Un interrupteur à bouton poussoir possède quatre broches. Connectez la broche 3,3 V et le GPIO 22 (appelé GP 22) sur les côtés diagonalement opposés du bouton-poussoir.

Lorsque vous appuyez sur l'interrupteur, vous connectez les 3,3 V à la broche GPIO 22, ce qui, en termes simples, l'active.

C'est la seule modification physique que vous devez faire. C'est très facile.

Quant au code, il s'est agrandi de quelques lignes, (gras = lié au bouton, italique = lié à la LED)

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

<strong>btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT #GP22 is an input
btn1.pull = digitalio.Pull.DOWN #DOWN means it outputs False

</strong>
<em>led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT</em> #powering LED, so give it OUTPUT
 
activated = False #this variable stores if sarcasm is on or off

while True:
    <strong>if btn1.value: #if user presses btn1, start sarcasm
        activated = True</strong>
        
    if activated:
        <em>led.value = True</em> #turn on board LED
        keyboard.press(Keycode.CAPS_LOCK)
        time.sleep(0.2)
        keyboard.release(Keycode.CAPS_LOCK)
        if <strong>btn1.value: #if user presses btn1 while activated, cancels sarcasm
            activated = False
            <em>led.value = False</em> #turn off LED
            time.sleep(0.2)</strong> 
            <strong>#pauses while loop to give user time to remove finger from btn1</strong>

Conversion du clavier sarcasme en clavier macro

Vous pouvez utiliser le bouton pour activer des macros comme ALT + TAB, CTRL + ALT + DEL ou n'importe quoi d'autre jusqu'à un maximum de six touches normales.

Il suffit de modifier les touches dans cette méthode keyboard.press et keyboard.release.

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.DOWN

while True:
    if btn1.value:
        <strong>keyboard.press(Keycode.ALT,Keycode.TAB )</strong>
        time.sleep(0.2)
        <strong>keyboard.release(Keycode.ALT,Keycode.TAB)</strong>

Il y a beaucoup d'autres choses que vous pouvez faire avec ce hack clavier. Par exemple, vous pouvez l'utiliser pour empêcher votre écran de veille de s'afficher en appuyant sur une touche inoffensive comme Page Up. Ou vous pouvez l'utiliser spécifiquement pour contrôler Zoom, Discord, OBS, Meet, etc.

Données de température/humidité avec DHT22

raspberry pi pico dht22

Si vous avez un capteur DHT11, DHT22 ou AM2302, vous pouvez l'utiliser avec le Raspberry Pi Pico.

Ces capteurs seraient probablement mieux associés à un écran LCD ou à un moyen de sauvegarder les données, mais commençons par un projet de démarrage rapide.

Vous avez besoin de trois fils de liaison, de connecteurs sur le Raspberry Pi Pico et d'une résistance de 10K. Le paquet suivant contient tout ce dont vous avez besoin, en plus du Raspberry Pi Pico et de ses connecteurs.

C'est très facile avec Thonny, CircuitPython et la bibliothèque DHT d'Adafruit.

Les étapes suivantes utilisent le DHT22.

Connexion du capteur DHT22 au Raspberry Pi Pico

Il est très facile de connecter le DHT22 au Pico.

raspberry pi pico dht22

Il y a quatre broches sur le DHT22. De gauche à droite, avec le côté maillé face à vous, les broches sont les suivantes VCC, DONNÉESNC et GND. Vous n'aurez pas besoin de connecter NC.

Connectez-vous à VCC à la Broche de 3,3 V sur le Pi.

Connectez la résistance 10K de la 3.3V au DONNÉESpuis connectez DONNÉES à GP0. Ceci est plus facile à faire avec une planche à pain afin de pouvoir diviser les 3.3V. Comme on peut le voir sur la photo ci-dessus, une résistance va de la broche la plus à gauche à la deuxième broche, de même, le fil vert est connecté à la GPIO 0.

Connectez-vous à GND à n'importe quelle broche de masse de votre Raspberry Pi Pico.

Vous avez terminé. C'est l'heure du logiciel.

raspberry pi pico dht22
Diagramme réalisé à partir de Wokwi.

Codage du DHT22 dans Thonny pour le Raspberry Pi Pico

Tout d'abord, ouvrez Thonny et assurez-vous que vous êtes en mode normal et en CircuitPython (en bas à droite). Un guide plus détaillé pour Thonny et CircuitPython est disponible ci-dessus.

Allez dans Outils -> Gérer les paquets -> recherchez adafruit-circuitpython-dht.

raspberry pi pico dht22

Ensuite, entrez ce code fourni par Adafruit.

import time

import adafruit_dht
import board

dht = adafruit_dht.DHT22(board.GP0)

while True:
    try:
        temperature = dht.temperature
        humidity = dht.humidity
        # Print what we got to the REPL
        print("Temp: {:.1f} *C \t Humidity: {}%".format(temperature, humidity))
    except RuntimeError as e:
        # Reading doesn't always work! Just print error and we'll try again
        print("Reading from DHT failure: ", e.args)

    time.sleep(1)

Appuyez sur Exécuter dans Thonny et vous devriez voir une sortie :

pi dht22

Afficheur Raspberry Pi Pico

Le Raspberry Pi Pico est assez cool car il peut afficher des images.

L'inconvénient, c'est que cela demande un peu de travail, quelques connaissances techniques et que vous obtiendrez des images qui semblent dater de l'ère Windows 3.1.

Pourquoi ? À cause de la RAM limitée à 264 Ko. Cela limite la résolution et la profondeur des couleurs de votre écran.

Cela dit, voici quelques exemples de ce que vous pouvez produire.

Sortie vidéo facile grâce à la chaussette DVI

La façon la plus simple d'obtenir une sortie vidéo est de suivre notre guide et d'utiliser la chaussette DVI ou la carte d'extension VGA & Audio. La chaussette DVI utilise un câble HDMI qui est probablement le port le plus compatible avec les appareils actuels.

Lisez l'article complet ici sur la façon dont vous pouvez vous lancer

Méthodes de bricolage pour connecter un Pico à un écran

Il existe d'autres moyens de produire des vidéos sans acheter de périphériques.

Miroslav Nemecek a écrit un article sur la manière dont vous pouvez utiliser huit résistances et un port VGA pour connecter un moniteur à votre Raspberry Pi Pico.

Et voici un moyen d'utiliser un câble HDMI et des résistances pour connecter votre Pico à un moniteur HDMI.

Consommation électrique du Raspberry Pi Pico

La fiche technique du Pico de Raspberry Pi nous fournit une bonne base pour comprendre la consommation d'énergie que vous pouvez attendre du Pico en fonction de certaines utilisations typiques.

Ces chiffres ne représentent pas le maximum absolu que vous pouvez tirer du Raspberry Pi Pico, mais constituent un bon point de départ.

Leur premier test comprenait un accès à la vidéo, à l'audio et à la carte SD pour afficher une démo de lecteur multimédia "Popcorn" via la carte VGA, la carte SD et l'audio.

État
Jouer à Popcorn (vidéo, audio, carte SD)93,5mA
Mode BOOTSEL, actif9,9mA
Mode DORMANT0,8mA
Mode SLEEP1,3mA

Vous vous demandez peut-être : quelle est la différence entre DORMIR et DORMIR ?

Dormant nécessite un déclencheur externe qui manipule une broche GPIO pour réveiller le Raspberry Pi Pico, tandis que SLEEP peut faire tourner une horloge interne pour réveiller le RP2040, comme illustré dans l'exemple suivant Fiche technique RP2040.

Dans la FAQ Raspberry Pi Pico, ils apportent des précisions à ce sujet,

"Le mode SLEEP est le mode dans lequel les processeurs sont en wfi/wfe et le DMA est inactif, ce qui permet de désactiver la plupart des horloges du système, y compris des éléments comme le bus fabric.
Le mode DORMANT consiste à éteindre tous les oscillateurs, ce qui permet de consommer moins d'énergie, mais vous avez alors moins d'options pour vous réveiller."

Puis-je faire fonctionner le Raspberry Pi Pico avec une banque d'alimentation ?

raspberry pi pico power bank batterie

Oui, vous pouvez.

Mais il se peut que le Raspberry Pi Pico ne tire pas assez d'énergie de la banque d'alimentation et que celle-ci se mette en mode d'économie d'énergie.

La solution est, malheureusement, de tirer plus de puissance en mettant une résistance entre la banque d'alimentation et le Raspberry Pi Pico. Voici une vidéo pour expliquer les tenants et aboutissants.

Alimentation du Pico (tensions)

Le Raspberry Pi Pico peut être alimenté par le port microUSB. Ceci alimente le VSYS à partir de la tension 5V VBUS, via D1.

Si vous n'utilisez pas le port USB pour alimenter votre Raspberry Pi Pico, alors vous pouvez connecter VSYS à votre source d'alimentation dans la gamme 1.8V à 5.5V.

Cependant, si vous connectez les deux, vous devrez alimenter la deuxième source d'énergie dans le VSYS via une diode Schottky, qui empêche l'une des deux sources d'énergie de rétroalimenter l'autre. La diode Schottky permettra également à la tension la plus élevée, soit la tension VBUS, soit la tension externe, de circuler.

Cependant, il y a une chute de tension sur la diode Schottky, vous devrez donc fournir une tension de 2,3V à 5,5V.

Cela signifie que vous pouvez alimenter le Raspberry Pi Pico avec un minimum de 2x piles rechargeables nickles (2,4V) ou 1x pile au lithium (3,7V).

Pour ne pas perdre en efficacité en utilisant la diode Schottky, vous pouvez utiliser à la place un MOSFET à canal P qui a une faible résistance.

Pour plus d'informations, consultez le Fiche technique du Raspberry Pi Pico.

Puis-je alimenter le Raspberry Pi Pico à partir du port USB d'un téléviseur ?

Oui, vous pouvez. Voici une image où j'ai fait clignoter la LED interne.

consommation d'énergie de raspberry pi pico (2)

Un port USB standard devrait pouvoir fournir jusqu'à 500mA, ce qui est bien plus que ce dont le Raspberry Pi Pico a besoin. Comme vous pouvez le voir dans les tests de consommation d'énergie effectués par Raspberry Pi, le test le plus intense n'a consommé qu'environ 90mA.

Vous pouvez rencontrer des problèmes si votre configuration Raspberry Pi Pico consomme plus de 500 mA, par exemple si votre Pico utilise des périphériques gourmands en énergie.

Raspberry Pi Pico et autres cartes

Le Raspberry Pi Pico est un nouveau venu tardif dans le monde des microcontrôleurs, puisqu'il n'est sorti qu'en 2021. Il y a déjà une forte concurrence dans le monde des microcontrôleurs avec les ESP32 et les Arduinos qui ont de nombreuses variantes qui peuvent vous aider à démarrer votre projet avec les bonnes fonctionnalités telles que le WiFi.

Il n'y a pas de variantes avec le Raspberry Pi Pico, vous devrez donc acheter des HATs et autres add-ons pour atteindre le même objectif.

De plus, si vous devez ajouter de nombreux composants... quand devient-il temps d'acheter simplement un micro-ordinateur ?

Nous allons répondre à cette question en examinant l'ESP32, l'Arduino Uno et le Raspberry Pi Zero.

Raspberry Pi Pico vs Espressif ESP32

L'ESP32 est un grand pas en avant par rapport au Raspberry Pi Pico en termes de capacités technologiques. À des fins de comparaison, j'ai choisi la variante PICO-KIT parce qu'elle me semblait la plus proche du Pico en termes de facteur de forme.

Tout d'abord, le fait de disposer du WiFi et du Bluetooth change radicalement la donne. Par exemple, vous serez en mesure d'exécuter un serveur sur l'Espressif ESP32 qui affiche les valeurs de votre capteur, alors que vous ne pourrez pas le faire sur le Raspberry Pi Pico.

L'ESP32 dispose également d'un processeur plus rapide, de plus de mémoire vive et de plus de mémoire flash, mais tout cela se fait au prix d'une consommation d'énergie plus élevée.

Le Raspberry Pi Pico est un peu plus modeste dans ses spécifications mais deux choses ressortent. Le fait qu'il puisse accepter des tensions de 1,8 V à 5,5 V vous permet réellement d'utiliser une seule pile au lithium, ce qui crée un boîtier très compact. Cela ne serait pas possible avec l'ESP32, à moins de modifier la tension de 3,7 V de la seule pile au lithium.

Raspberry Pi PicoEspressif ESP32-PICO-KIT
Fréquence du CPU133MHz80/160/240MHz
MicrocontrôleurRP2040Xtensa LX6
Cœurs22
Mémoire flash2MB4MB
RAM256KB520KB
GPIO26 (utilisable par l'utilisateur)36
A l'USB ?microUSBmicroUSB
WiFi et/ou BT ?NonOui, les deux
Tension1,8 - 5,5V ou 5V USB3.3V (via les broches) ou 5V via USB ou 5V-12V (via un régulateur de tension)
Consommation électrique (avec activité)93mA (test Popcorn)100-128mA1
Taille51x21mm52x20mm
LanguesMicroPython / CMicroPython / C

Remarque : les chiffres de consommation d'énergie sur l'ESP32 font tourner un programme avec une boucle vide.

Raspberry Pi Pico vs Arduino Uno Rev3

arduino pi zero
Photo par Harrison Broadbent.

Arduino crée un grand nombre de cartes et, en termes de facteur de forme, l'Arduino Nano est probablement la plus proche, avec des dimensions de 45 x 18 mm. Arduino produit également une carte qui utilise le microcontrôleur RP2040.

Cependant, la carte la plus courante est l'Arduino Uno Rev3. Voyons donc comment ces deux cartes se comparent.

Raspberry Pi PicoArduino Uno Rev3
Fréquence du CPU133MHz16 MHz
MicrocontrôleurRP2040ATmega328P
Mémoire flash2MB32KB
RAM256KB2KB
GPIO26 (utilisable par l'utilisateur)14 numériques, 6 analogiques
A l'USB ?microUSBUSB B
WiFi et/ou BT ?NonVariante WiFi disponible
Tension1,8 - 5,5V ou 5V USB6-20V (7-12V recommandé) ou via USB.
Taille51x21mm68x53mm
LanguesMicroPython / CC

Pour les débutants, l'une des plus grandes différences à noter est que l'Arduino Uno fonctionne en logique 5V alors que le Raspberry Pi Pico fonctionne en logique 3.3V.

Le 5V peut potentiellement faciliter les choses pour les débutants car certains composants nécessitent une entrée 5V, comme les relais. Si vous avez un composant 5V que vous voulez faire fonctionner sur le Raspberry Pi Pico, vous devrez fournir des composants supplémentaires pour passer de 3,3V à 5V.

L'autre différence est que l'Arduino Uno est open source, ce qui signifie que vous pouvez acheter des cartes moins chères qui ont exactement les mêmes capacités. Cela dit, le Raspberry Pi Pico est déjà extrêmement bon marché à $4 ou 4,10€.

L'Arduino Uno accepte également une gamme de tensions beaucoup plus large (7-12V recommandés), ce qui signifie que vous pouvez le faire fonctionner avec de nombreux types d'alimentation.

En termes de langages de programmation, le Pico a l'avantage de vous permettre de coder en MicroPython, alors que vous devrez écrire en C pour l'Arduino. Cela dit, l'Arduino dispose d'une plus grande bibliothèque pour faciliter le travail avec les composants.

Raspberry Pi Pico vs Raspberry Pi Zero

pi zero pi pico
Photo par Harrison Broadbent.

Dans une certaine mesure, le Pico et le Zero ont des capacités qui se chevauchent. Dans des circuits simples, vous pouvez utiliser le Pico et le Zero pour faire exactement la même chose.

Mais la façon d'arriver au même point varie entre le Pico et le Zero.

Voici la logique que j'utilise pour décider lequel utiliser :

ScénarioCe qu'il faut prendre
je suis meilleur dans un langage autre que C/PythonZéro
J'ai une puissance "illimitée" (c'est-à-dire un cas d'utilisation non solaire ou par batterie).Zéro
J'ai besoin du WiFi et/ou du BluetoothZéro
J'ai besoin de sauvegarder des données (par exemple, des registres de température).Zéro
J'ai besoin d'utiliser un appareil photoZéro
J'ai besoin de l'installation la plus compactePico
J'ai besoin d'un redémarrage rapide en cas d'accident ou de panne de courant.Pico
Je ne veux pas mettre en place un OSPico
Je veux l'option la moins chèrePico

Voici un aperçu plus détaillé des raisons d'opter pour le Pico ou le Zero. couvert ci-dessus, et ce lien vous y conduira.

Raspberry Pi Pico vs Teensy 4.1

La Teensy 4.1 est une carte extrêmement puissante grâce à sa puce ARM Cortex-M7 cadencée à 600 MHz.

Lancé par PJRC en 2021, le Teensy 4.1 s'adresse aux personnes qui ont besoin d'un appareil doté d'une grande puissance de traitement, de RAM, de mémoire flash, d'Ethernet et de plus de broches GPIO que ce que l'on trouve dans le Raspberry Pi Pico.

Vous disposez de 55 broches d'entrée/sortie, mais seules 42 sont "panifiables". Il y a 35 broches PWM, 18 entrées analogiques, 8 série, 3 SPI et 3 I2C.

Là où le Raspberry Pi Pico brille, c'est dans sa simplicité. Si vous êtes en train d'apprendre et que vous voulez le moyen le plus facile de vous lancer dans des projets simples, le Raspberry Pi Pico offre le moyen le plus simple d'être opérationnel.

Par exemple, le langage de programmation de prédilection du Raspberry Pi Pico est MicroPython, alors que le Teensy 4.1 est programmé principalement en C.

Il est également très facile d'utiliser CircuitPython sur le Raspberry Pi Pico, ce qui facilite la création de projets.

Le prix du Teensy 4.1, à $26.85, est bien plus élevé que celui du Raspberry Pi Pico $4.

De plus, il est beaucoup plus facile d'alimenter le Raspberry Pi Pico sur une batterie en raison de la large tension qu'il peut prendre.

Raspberry Pi PicoTeensy 4.1
Fréquence du CPU133MHz600MHz
Mémoire flash2MB8MB
RAM256KB1024KB
GPIO26 (utilisable par l'utilisateur)55 numériques, 18 analogiques
A l'USB ?microUSBmicroUSB
WiFi et/ou BT ?NonNon, mais dispose d'Ethernet
Tension1,8 - 5,5V ou 5V USB5V via USB ou VIN
Taille51x21mm61x15mm

Téléchargements Raspberry Pi Pico

J'ai compilé une liste de fichiers qui peuvent vous aider dans vos projets. La plupart d'entre eux se trouvent sur le site Sous-domaine de la fiche technique du Raspberry Pi et ce qui est ici est ce qui est pertinent pour le Raspberry Pi Pico.

Références

Brochage du Raspberry Pi Pico

Schémas du Raspberry Pi Pico

Fiche technique du Raspberry Pi Pico (à propos du Pico, spécifications mécaniques/électriques, caractéristiques, alimentation, débogage, schéma, emplacement des composants)

Présentation du produit Raspberry Pi Pico (dossier marketing)

Fiche technique RP2040

Fritzing de Raspberry Pi Pico fichier

FAQ sur le Raspberry Pi Pico

10 faits curieux sur le Raspberry Pi Pico

Programmation

Extension C pour MicroPython

Raspberry Pi Pico et MicroPython sous Windows

Raspberry Pi Pico Démarrer avec Pico (pour le développement C/C++)

Fichier CircuitPython pour Raspberry Pi Pico UF2

Thonny

Démarrer avec MicroPython sur Raspberry Pi Pico

Documentation du Raspberry Pi Pico C SDK (kit de développement logiciel)

Documentation du Raspberry Pi Pico MicroPython SDK (kit de développement logiciel)

CAO

Fichier STEP pour Raspberry Pi Pico

RP2040 fichier minimal KiCAD

RP2040 VGA Fichier KiCAD

14 commentaires

  1. Antony sur avril 18, 2022 à 11:54 am

    La consommation d'énergie n'est pas de 6 W, mais de 0,5 W (100 mA à 5 V).

    • Xuyun Zeng sur avril 20, 2022 à 5:02 am

      Hey Antony, je l'ai corrigé. Merci pour ta contribution.

    • Rys sur novembre 13, 2022 à 6:49 am

      chyba na wyjściach pinów. L'appareil est équipé de la technologie PICO.

  2. Andres Nuñez sur juillet 3, 2022 à 11:54 pm

    Puedo conectar por usb una Raspberry Pi Pico con un Arduino Nano. Que la rrasberry envíe por usb datos al arduino ?

    Gracias

  3. robert sur septembre 19, 2022 à 8:47 pm

    pico w a le wifi maintenant

  4. Arya sur septembre 24, 2022 à 7:17 am

    > Oh, ai-je mentionné que le Raspberry Pi Zero est très pointilleux sur la tension que vous lui fournissez ? Il ne prend que 4,75 - 5,25V.

    incorrect, c'est la spécification indiquée, mais il prend moins que cela et fonctionne à merveille. voir ici : https://hackaday.io/project/19035/log/69596

  5. FWBlack sur octobre 4, 2022 à 7:12 pm

    Très bon article ! J'ai aimé ceci : "Par exemple, l'un de mes projets utilisait un potentiomètre pour réguler la fréquence de commutation d'un relais." - Je me demandais si vous pouviez partager les détails de ce projet à titre d'exemple. Avez-vous utilisé PIO / PIO State Machine ?

    • Xuyun Zeng sur octobre 5, 2022 à 10:01 am

      Pas de PIO utilisé !

      Fondamentalement, lorsque vous connectez un potentiomètre à un ADC, vous obtenez une valeur. En tournant le potentiomètre, vous augmentez ou diminuez cette valeur.

      En gros, j'ai utilisé ces valeurs pour créer un timer. Donc, par exemple, si la valeur est 2000, cela correspondra à 2 secondes de marche, 2 secondes d'arrêt.

  6. Frabci sur décembre 7, 2022 à 2:48 am

    Buenas, es posible que la raspberry pi pico se queme al recibir de entrada una correinte de 2A pero voltaje de 5V ?

    • Xuyun Zeng sur décembre 8, 2022 à 7:09 am

      Utilisez-vous un chargeur de voiture qui a un courant de 2A ? Bien qu'il y ait toujours un risque, je pense que le Pico ne prend que le courant dont il a besoin, même si votre chargeur peut prendre 2A (au maximum).

  7. Nigel A Gunn sur janvier 20, 2023 à 9:42 pm

    Vous n'êtes pas limité au C ou au microPython pour la programmation. J'ai des picos avec des interprètes FORTH et BASIC installés et il y a toujours CircuitPython.

    • raspi berry sur février 4, 2023 à 11:49 am

      Merci pour vos commentaires. Il est intéressant de savoir que l'on peut utiliser des langages tels que FORTH sur le Pico également !

  8. Antonio sur avril 28, 2023 à 2:01 pm

    Avec Raspberry Pi Pico W, il n'est pas nécessaire d'installer la librairie adafruit-circuitpython-hid.
    J'ai commencé l'installation et, après un instant, j'ai eu une erreur de mémoire.
    où est le problème ?
    Grazie 1000

  9. PoyFromFrance sur août 28, 2023 à 10:36 am

    Très bon article ! J'ai utilisé un Pico pour mon clavier personnalisé avec le firmware kmk (circuit basé sur python) et c'est génial.
    J'ai acheté des clones de pico sur aliexpress récemment pour seulement 2,7 dollars avec type C et 16 mb... Pas encore testé.

Laissez un commentaire