Composant · Contrôleur

Raspberry Pi

Le Raspberry Pi est un ordinateur Linux de la taille d'une carte — le cerveau des robots qui ont besoin de vision, ROS, ou de calcul qu'un Arduino ne gère pas.

Présentation

Le Raspberry Pi est un ordinateur complet de la taille d’une carte de crédit. Là où un Arduino Uno est un microcontrôleur qui exécute un programme pour toujours, un Pi fait tourner Linux — il peut donc piloter une caméra, parler au réseau, exécuter ROS 2 et votre code robot en même temps. C’est le cerveau à prendre quand un robot doit penser, pas juste réagir.

Cette puissance est aussi son compromis : le multitâche Linux rend le Pi moins bon dans la temporisation précise à la microseconde qu’un microcontrôleur fait sans effort. Les deux sont partenaires, pas rivaux.

Schéma légendé d'un ordinateur monocarte Raspberry Pi : un circuit vert avec un connecteur GPIO 40 broches en pastilles dorées le long du bord supérieur, un système sur puce Broadcom et une puce RAM au centre, un bloc USB et Ethernet empilé sur le bord droit, HDMI et alimentation USB-C sur le bord inférieur, et un logement microSD à gauche.
Un Raspberry Pi tasse un ordinateur sur une carte : le SoC et la RAM font tourner Linux, le connecteur GPIO 40 broches parle au matériel du robot, et la microSD contient le système. Télécharger le SVG

Fonctionnement

Le Pi démarre un système d’exploitation (généralement Raspberry Pi OS) depuis une carte microSD, puis se comporte comme toute machine Linux. Pour la robotique, l’important est le connecteur GPIO 40 broches : entrées et sorties numériques, plus bus I²C, SPI et UART, qui permettent au Pi de lire des capteurs et commander du matériel. Au-dessus se trouvent les parties ordinateur — USB, Ethernet, Wi-Fi et interface caméra — qu’un microcontrôleur n’a tout simplement pas.

Une architecture fréquente est un robot à deux cerveaux : le Pi gère perception et planification (vision, SLAM, nœuds ROS) et transmet les consignes moteur à un Arduino qui fait la commande temps réel.

Quand l’utiliser

Prenez un Pi quand le robot a besoin des capacités d’un ordinateur :

  • Vision par ordinateur — une caméra plus OpenCV pour détecter des marqueurs, objets ou lignes.
  • ROS 2 — faire tourner nœuds, topics et la pile de navigation.
  • Cartographie / SLAM — construire une carte et s’y localiser.
  • Réseau — tableau de bord web, télécommande ou télémétrie.

Restez avec un Arduino ou un ESP32 pour les purs travaux de commande temps réel — moins chers, plus simples et meilleurs en temporisation précise.

Câblage et pièges

  • Logique 3,3 V, non tolérante au 5 V. Mettre du 5 V sur une broche GPIO peut endommager le Pi. Adaptez les niveaux depuis les pièces 5 V (par ex. la ligne TX d’un HC-05).
  • Il ne peut toujours pas alimenter des moteurs. Les GPIO pilotent des signaux ; le courant moteur passe par un contrôleur comme le L298N.
  • L’alimentation est exigeante. Donnez-lui un 5 V stable à courant suffisant ; les baisses corrompent la carte SD et provoquent des redémarrages aléatoires.
  • Éteignez-le proprement. Arracher l’alimentation d’un système Linux en marche peut corrompre la carte — prévoyez une extinction sûre ou un système de fichiers en lecture seule.

Le connecteur 40 broches, et quelles broches utiliser

Le connecteur fait 40 broches et seules 26 sont des GPIO utilisables. Le reste est alimentation et masse.

Fonction Broches (numérotation BCM) Notes
I²C-1 GPIO 2 (SDA), GPIO 3 (SCL) Pull-ups 1,8 kΩ fixes au 3,3 V sur la carte
SPI0 GPIO 10 (MOSI), 9 (MISO), 11 (SCLK), 8/7 (CE0/CE1)
UART GPIO 14 (TX), 15 (RX) Utilisé par la console Linux par défaut — à libérer
PWM matériel GPIO 12, 13, 18, 19 Seulement ces quatre ; tout le reste est PWM logiciel
Alimentation 3,3 V, 5 V Le 5 V vient direct de l’entrée — sans régulation
Usage général Le reste

Deux de ces lignes coûtent régulièrement une soirée.

L’UART est la console. D’origine, GPIO 14/15 portent une invite de connexion Linux. Câblez-y un module GPS ou un Arduino et vous obtenez du bruit de connexion au lieu de données. Libérez-les avec sudo raspi-config → Interface Options → Serial Port → login shell : no, hardware serial : yes. Sur Pi 3 et suivants, subtilité supplémentaire : le bon UART sert au Bluetooth par défaut, et celui du connecteur est un « mini UART » moindre dont le débit dérive avec l’ horloge CPU. Ajoutez dtoverlay=disable-bt à /boot/config.txt pour les permuter.

Le PWM logiciel tremble. Seules quatre broches ont du PWM matériel. Tout le reste est généré par le noyau, et l’ordonnanceur Linux l’interrompra — ce qui sur un servomoteur se voit en tressautements. C’est l’illustration la plus claire de ce qu’un Pi fait mal.

Le problème de temporisation, dit plainement

C’est la chose la plus importante à comprendre sur un Pi dans un robot, et ce n’est pas un défaut — c’est ce qu’est un système d’exploitation.

Un microcontrôleur exécutant loop() exécute votre code et rien d’autre, donc un intervalle de 1 ms fait 1 ms. Linux partage le temps : le noyau peut préempter votre processus pour servir un paquet réseau, vider une écriture disque, ou faire tourner une centaine de tâches de fond.

Tâche Microcontrôleur Raspberry Pi (Linux standard)
Boucle de commande 1 kHz Triviale, exacte Possible, avec des ratés occasionnels à l’échelle milliseconde
PWM servo Parfaitement stable Visiblement tremblé sur broches PWM logicielles
Lire un codeur à 20 kHz Routinier avec interruptions Peu fiable — des fronts sont manqués
Minutage d’écho ultrason Précis à la microseconde Erreurs aléatoires de plusieurs centimètres
Vision, planification, réseau Impossible Exactement ce pour quoi il est fait

La conséquence est l’architecture à deux cerveaux, et ce n’est pas un compromis mais la conception normale d’un robot sérieux :

Raspberry Pi                        Microcontroller
- camera, vision                    - encoder counting
- SLAM, path planning       <-->    - PID motor control
- ROS 2 nodes                       - servo timing
- networking, dashboard             - emergency stop
        high-level goals                  hard real time

Ils parlent en série USB, UART ou I²C, et chacun fait ce qu’il fait bien. Un Pi essayant de compter des fronts de codeur les manquera ; un Arduino essayant de faire tourner OpenCV ne le peut pas.

L’alimenter, et le problème de la carte SD

L’alimentation est là où les robots Pi échouent, et le mode de panne est inhabituellement cher : une baisse pendant une écriture corrompt la carte SD, et vous perdez toute l’image système.

Modèle Alimentation recommandée En charge
Pi Zero 2 W 5 V, 2,5 A ~350 mA typique
Pi 3B+ 5 V, 2,5 A ~500 mA, pics près de 1,2 A
Pi 4B 5 V, 3 A (USB-C) ~600 mA, pics près de 1,5 A
Pi 5 5 V, 5 A (USB-C PD) Encore plus

Règles qui en découlent :

  • N’alimentez jamais moteurs et Pi depuis le même rail. L’appel de courant des moteurs est exactement le transitoire qui corrompt une carte.
  • Utilisez un régulateur à découpage, pas linéaire, si vous partez d’une batterie. Un régulateur linéaire passant de 11,1 V à 5 V à 1 A brûle 6 W.
  • Guettez l’éclair. Le Pi affiche une icône de sous-tension et la journalise aussi ; vcgencmd get_throttled la rapporte. Toute valeur non nulle signifie une alimentation insuffisante, et elle corrompra une carte tôt ou tard.
  • Éteignez proprement. sudo shutdown -h now avant de couper l’alimentation. Un robot qu’on éteint avec un interrupteur veut soit un bouton d’arrêt câblé à un GPIO, soit un système de fichiers racine en lecture seule.

Le système de fichiers en lecture seule vaut sérieuse considération pour un robot déployé : avec overlayfs actif, rien n’est jamais écrit sur la carte en fonctionnement, et on peut couper l’alimentation à tout moment sans conséquence. On perd la sauvegarde locale de données, ce qui est généralement un bon échange.

Quel modèle pour un robot

Modèle RAM Pourquoi le choisir
Pi Zero 2 W 512 Mo Minuscule et léger. Assez pour une caméra et de la vision simple
Pi 3B+ 1 Go Économique, suffisant pour ROS 2 avec des nœuds modestes
Pi 4B (4 Go) 4 Go Le point idéal pratique pour ROS 2 plus vision
Pi 5 4–16 Go Nettement plus rapide ; veut plus d’alimentation et un refroidissement actif

Pour ROS 2 avec caméra, 4 Go est le point où cela cesse d’être frustrant. RViz, un nœud vision et une pile de navigation prendront ensemble plus d’1 Go, et un Pi qui commence à swapper sur la carte SD devient inutilisable lent — et use la carte.

Deux accessoires non optionnels en pratique : un dissipateur ou ventilateur (un Pi 4 en charge soutenue s’étrangle à 80 °C, et un Pi étranglé perd des trames), et une carte microSD de bonne qualité classe A2, ou mieux, un démarrage sur SSD USB. La vitesse de carte est le goulot bien plus souvent que le CPU.

Dépannage

Symptôme Cause probable Solution
Redémarrages aléatoires Alimentation insuffisante Vérifiez vcgencmd get_throttled ; utilisez une alimentation 3 A
Carte SD corrompue à répétition Coupure d’alimentation en écriture Extinction propre, ou système de fichiers en lecture seule
Icône éclair Sous-tension Meilleure alimentation et meilleur câble — les câbles comptent
La série donne du bruit de connexion Console encore sur l’UART Coupez le shell de connexion dans raspi-config
Débit série faux Mini UART lié à l’horloge CPU dtoverlay=disable-bt pour récupérer le bon UART
Servo qui tressaille PWM logiciel plus ordonnanceur Utilisez un PCA9685, ou un microcontrôleur
Comptes de codeur faux Fronts manqués en charge Comptez-les sur un microcontrôleur
Ralentit après quelques minutes Étranglement thermique Dissipateur ou ventilateur
Broche GPIO morte 5 V dans une broche 3,3 V Adaptez les niveaux ; la broche est probablement endommagée
Périphérique I²C non détecté Interface non activée raspi-config, puis i2cdetect -y 1

Pi ou microcontrôleur ?

Arduino / ESP32 Raspberry Pi
Exécute Votre code, seul Linux, et votre code parmi bien des processus
Temporisation Déterministe à la microseconde Au mieux, gigue à l’échelle milliseconde
Démarrage Instantané 20–30 secondes
Coupure d’alimentation Sans danger Peut corrompre le système de fichiers
Vision, ROS 2, réseau Non Oui
Tirage Milliampères Centaines de milliampères à ampères
Coût 3–8 $ 35–80 $

Le cadrage honnête : ce ne sont pas des concurrents. Un Pi ne peut pas compter un codeur sûrement et un microcontrôleur ne peut pas faire tourner OpenCV. Presque tout robot amateur capable finit avec les deux, et le reconnaître tôt épargne beaucoup d’efforts à vouloir faire faire à l’un le travail de l’autre.

Si tout le comportement de votre robot tient dans une boucle de commande — un suiveur de ligne, un éviteur d’obstacles, un solveur de labyrinthe — vous n’avez pas besoin de Pi du tout, et en ajouter un rend le robot plus lent à démarrer, plus fragile et plus dur à déboguer.

Explorer le graphe

Utilisé dans ces réalisations

Projets, parcours d'apprentissage et simulateurs qui intègrent le composant Raspberry Pi.

Comparer

Alternatives

Questions

FAQ : Raspberry Pi

Qu'est-ce qu'un Raspberry Pi ?

Un Raspberry Pi est un petit ordinateur monocarte à bas coût qui fait tourner un système d'exploitation Linux complet. Contrairement à un Arduino, qui exécute un programme sur un microcontrôleur, un Pi est un vrai ordinateur — il peut faire marcher une caméra, un navigateur, ROS et votre code robot en même temps.

Raspberry Pi vs Arduino — lequel faut-il ?

Utilisez un Arduino pour la commande temps réel des moteurs et capteurs ; utilisez un Raspberry Pi quand le robot a besoin de vision, cartographie, ROS ou réseau. Beaucoup de robots utilisent les deux — le Pi comme cerveau haut niveau et un Arduino comme mains temps réel. Le multitâche Linux du Pi le rend pire, pas meilleur, en temporisation précise à la microseconde.

Un Raspberry Pi peut-il commander des moteurs ?

Ses broches GPIO peuvent envoyer signaux PWM et de sens, mais — comme un Arduino — il ne peut pas alimenter un moteur depuis une broche. Vous pilotez toujours les moteurs via un pont en H comme le L298N. Les broches du Pi sont aussi en 3,3 V, donc attention aux niveaux logiques en câblant vers des pièces 5 V.

Faut-il un Raspberry Pi pour un robot ?

Non. La plupart des robots débutants (suiveur de ligne, éviteur d'obstacles) tournent très bien sur un Arduino pour une fraction du coût et de la complexité. Ne prenez un Pi que quand la tâche veut vraiment un ordinateur — vision par ordinateur, SLAM, ROS 2, ou interface web.

Quels sont les meilleurs modèles de Raspberry Pi pour la robotique ?

Les Raspberry Pi 4 et Pi 5 sont les choix habituels — assez de CPU et RAM pour la vision par ordinateur et ROS. Le Pi Zero 2 W est une option minuscule et sobre pour les robots plus légers où place et batterie comptent plus que la puissance brute. Évitez les plus vieux modèles (Pi 1 et 2) pour tout calcul lourd.

Pour aller plus loin

Références