Bonjour,
Dans le cadre du portage sur Raspberry Pi 5 d’un logiciel écrit en Python pour le robot Adeept AWR 4WD Smart Car, également utilisé sur d’autres modèles, j’ai rencontré un blocage avec le module de gestion du capteur ultrasonique HC-SR04. Pour résoudre cette problématique, j’ai sollicité l’aide de GPT-4o d’OpenAI.
Adaptation du logiciel Adeept au RPi 5 pour le capteur ultrasonique HC-SR04
Introduction
Dans le cadre du portage sur Raspberry Pi 5 d’un logiciel écrit en Python pour le robot Adeept AWR 4WD Smart Car, également utilisé sur d’autres modèles, j’ai rencontré un blocage avec le module de gestion du capteur ultrasonique HC-SR04. Pour résoudre cette problématique, j’ai sollicité l’aide de GPT-4o d’OpenAI.
Problèmes rencontrés et solutions appliquées
 Absence de
 Absence de /sys/class/gpio sur le RPi 5
 Contrairement au Raspberry Pi 4B, le RPi 5 utilise
 Contrairement au Raspberry Pi 4B, le RPi 5 utilise libgpiod pour la gestion des GPIO, rendant obsolète l’utilisation de bibliothèques comme RPi.GPIO.
 Solution :
 Solution :
- L’accès classique via /sys/class/gpio/n’étant plus disponible, le scriptultra.pya été modifié pour utilisergpiod.
- Remplacement des anciennes fonctions (setwarnings(),setup(), etc.) par des appels àgpiod.
 Conflit avec
 Conflit avec GPIO 8 utilisé pour l’ECHO
 Sur le RPi 5, GPIO 8 est réservé par défaut au SPI0 CS0, empêchant son utilisation pour l’ultrasonique.
 Sur le RPi 5, GPIO 8 est réservé par défaut au SPI0 CS0, empêchant son utilisation pour l’ultrasonique.
A noter que sur un RPI4B utilisant la même clé SSD et donc la même configuration logicielle; GPIO 8 est aussi utilisé pour SPIO CS0 mais cette utilisation lorsque l’interfaçage SPI est activée n’entre pas en conflit avec le signal ECHO du HC-sr04.
 Solutions testées :
 Solutions testées :
- Désactivation temporaire du SPI via raspi-configpour tester → Cela permet au capteur de fonctionner correctement.
- Réaffectation de l’ECHO à un autre GPIO libre → GPIO 25 a été sélectionné pour éviter les conflits.
 Adaptation pour utilisation avec un HAT
 Adaptation pour utilisation avec un HAT
 Le HAT du robot utilise GPIO 8 pour l’ECHO du capteur ultrasonique. Si l’on souhaite conserver l’interfaçage SPI actif, il faut rediriger ce signal.
 Le HAT du robot utilise GPIO 8 pour l’ECHO du capteur ultrasonique. Si l’on souhaite conserver l’interfaçage SPI actif, il faut rediriger ce signal.
 Solution matérielle :
 Solution matérielle :
- Pontage physique entre GPIO 8 et GPIO 25 :
- Couper la piste menant au GPIO 8 juste avant la broche.
- Relier cette piste à GPIO 25 (broche adjacente) à l’aide d’un pont de soudure ou d’un câble Dupont.