mardi 11 mai 2021

Mesurer une distance avec le HC-SR04 et le Raspberry Pi Pico (MicroPython)

Dans cet article, nous programmons un Raspberry Pi Pico en MicroPython afin de mesurer la distance d'un obstacle au moyen d'un télémètre à ultrasons HC-SR04.


Le module HC-SR04 est un sonar: il émet des ultrasons pour ensuite capter leur écho. Plus l'obstacle qui réfléchit les ultrasons est éloigné, plus le temps nécessaire au retour de l'écho est long. C'est de cette façon qu'on peut déterminer la distance entre cet obstacle et le module HC-SR04.



Connexion du HC-SR04 au Raspberry Pi Pico

À moins que votre HC-SR04 n'accepte de fonctionner avec une alimentation de 3,3 V (ça arrive parfois), vous devrez l'alimenter avec une tension de 5 V et utiliser un diviseur de tension pour ramener à 3,3 V le signal de 5 V généré par la broche Echo.

Une option efficace consiste à utiliser une résistance de 1 kΩ jumelée à une résistance de 1,8 kΩ.

Quant à la broche Trig du HC-SR04, elle peut être branchée directement à une broche du Pico, puisque dans ce cas le signal de 3,3 V est généré par le Pico et capté par l'entrée Trig.

J'ai donc branché le HC-SR04 au Raspberry Pi de cette façon:
  • Broche VCC du HC-SR04 : Broche VBUS (5 V) du Raspberry Pi Pico
  • Broche Trig du HC-SR04: Broche GP14 du Raspbbery Pi Pico
  • Broche Echo du HC-SR04 Broche GP15 du Raspberry Pi Pico par l'entremise du diviseur de tension constitué des résistances de 1 kΩ et 1,8 kΩ .
  • Broche GND du HC-SR04: Broche GND du Raspberry Pi Pico


Installation du pilote MicroPython

Plutôt que calculer moi-même la distance au moyen de la vitesse du son et du temps de retour de l'écho, j'ai utilisé la bibliothèque réalisée par rsc1975. Il faut copier le fichier "hcsr04.py" dans le Raspberry Pi Pico.


Exemple de script

Voici, à tire d'exemple, un script qui mesure continuellement la distance de l'obstacle une fois par seconde. Si vous utilisez Thonny, le résultat s'affiche dans la console au bas de la fenêtre. 

-

-

À lire également:

Vous trouverez aussi sur ce blog des conseils pour utiliser le télémètre HC-SR04 avec un Arduino Unoavec un Raspberry Piavec un ATTiny85,  avec une carte STM32 Nucleo et avec un micro:bit.

D'autres articles impliquant le Raspberry Pi Pico programmé en MicroPython:
Yves Pelletier (Facebook)

Aucun commentaire:

Enregistrer un commentaire