Tutoriel : Capteur à ultrasons (Mode 1 : Méthode GPIO)

Introduction

Dans ce didacticiel, nous utiliserons la dernière version 2021 du populaire capteur à ultrasons HC-SR04 et le connecterons à l'Arduino Nano à l'aide d'un simple script IDE. Il est important de noter que cette version 2021 du capteur se distingue de manière notable des anciennes versions qui ont inondé le marché. La première différence est que la tension d'entrée acceptée varie désormais de 2,8 V à 5,5 V. Ceci est pratique si vous souhaitez alimenter le capteur avec un microcontrôleur car il fonctionnera avec un microcontrôleur de 3,3 V ou un microcontrôleur de 5 V. Dans ce didacticiel, nous utiliserons l'Arduino Nano 5 V commun, mais utilisez la broche 3,3 V pour alimenter le capteur, car cela réduira la consommation de courant. En parlant de cela, ce capteur est plutôt efficace lorsque le budget énergétique est faible, car le courant consommé peut être aussi faible que 2 mA lorsqu'il est actif.

La deuxième différence importante réside dans la manière dont le capteur peut communiquer avec le microcontrôleur. L'ancienne version ne peut utiliser que les broches d'entrée/sortie à usage général (GPIO), tandis que cette dernière version 2021 peut se connecter de quatre manières différentes. À savoir:

Mode 1 : GPIO
Mode 2 : I2C
Mode 3 : 1 fil
Mode 4 : UART

Dans ce tutoriel, nous nous concentrerons sur la méthode courante du mode 1 : GPIO. Les trois autres méthodes nécessitent que l'utilisateur soude un cavalier sur quelques connexions à l'arrière du capteur lui-même afin de sélectionner le mode souhaité. Nous n’entrerons pas dans ce détail ici car ces trois autres méthodes seront abordées dans différents tutoriels.

Matériel requis

Configuration du matériel

Utiliser les broches GPIO (Mode 1) pour communiquer avec le Nano est assez simple. Effectuez les quatre connexions suivantes, comme indiqué dans l'image ci-dessous :

  • Broche VCC du capteur à la broche 3,3 V du Nano.
  • Broche GND du capteur à broche GND du Nano.
  • Déclenchez la broche du capteur sur la broche D7 du Nano.
  • Broche d'écho du capteur à la broche D6 du Nano.

Connexion du capteur à ultrasons au Nano.

Vous vous demandez peut-être pourquoi nous utilisons la broche 3,3 V pour alimenter le capteur ? La version 2021 autorise comme tension d'entrée un minimum de 2,8 V et un maximum de 5,5 V. D'après notre expérimentation, nous avons constaté que la consommation de courant par rapport à la tension VCC est la suivante : VCC [V] Consommation de courant [mA] 3,0 2,0 3,3 2,3 5,0 3,6 Tableau 1 : Consommation de courant avec différentes tensions d'entrée. Nous pouvons voir que la consommation de courant la plus faible se produit lorsque le capteur est connecté au 3V. Cependant, le régulateur de tension intégré du Nano produit 3,3 V et non 3,0 V. Par conséquent, nous choisissons cette tension car elle est facilement disponible. Configuration du logiciel Il est supposé que l'utilisateur a déjà installé le logiciel IDE et sait comment sélectionner les paramètres corrects afin de télécharger des scripts sur le Nano. Si l'utilisateur n'est pas familier avec ces étapes, consultez notre tutoriel sur la première utilisation du microcontrôleur Nano. Copiez simplement le script suivant dans le logiciel IDE.

// Titre du projet : "Tutoriel : Capteur à ultrasons (Mode 1 : Méthode GPIO)"

// Date de la dernière édition : 4 décembre 2021, PTSolns

// Pour des bugs ou des questions, veuillez nous envoyer un email à contact@PTSolns.com

// Présentation : Voici le script d'interfaçage du capteur à ultrasons (version 2021) en Mode 1 (GPIO) // Tutoriel : https://ptsolns.com/ultrasonic-sensor-tutorial-GPIO/

// Définir les broches de déclenchement et d'écho

const int trig_pin = 7;

const int echo_pin = 6;

void setup() { Serial.begin(9600); // Démarrage du terminal série }

void loop() { longue durée, pouces, cm ; pinMode(trig_pin, SORTIE);

digitalWrite(trig_pin, FAIBLE);

delayMicroseconds(2);

digitalWrite(trig_pin, HAUT); delayMicroseconds(10); // Le capteur à ultrasons HC-SR04 ne nécessite qu'une impulsion de déclenchement de 10us.

Cela active le module pour envoyer 8 impulsions à 40 kHz.

digitalWrite(trig_pin, FAIBLE);

pinMode(echo_pin, INPUT); // Écoutez la broche d'écho.

durée = pulseIn(echo_pin, HIGH); // La durée est le temps entre l'envoi des 8 impulsions et le retour des 8 impulsions.

// Convertit la durée en distance (pouces et cm) pouces = durée / 74,0 / 2,0 ; cm = durée / 29,0 / 2,0 ;

// Imprimer les résultats pour surveiller Serial.print(inches);

Serial.print("dans, ");

Série.print(cm);

Série.print("cm");

Serial.println();

retard (100); }

Résultats et conclusion

Lors de l'ouverture du moniteur série après le téléchargement réussi du script, nous pouvons voir un flux constant de valeurs. La sortie est présente en pouces et en cm. Jouez avec le capteur en plaçant différents objets à différentes distances du capteur. Notez que certains objets fournissent de meilleurs résultats que d’autres. Les tissus, tapis et autres objets/matériaux qui ont tendance à absorber le signal ultrasonore de 40 kHz donnent de moins bons résultats en termes de détermination de la distance correcte. Gardez également à l’esprit que le capteur a une dispersion d’environ 15 degrés dans une forme conique. Cela peut donner une lecture incorrecte lorsque plusieurs objets se trouvent devant le capteur et à différentes distances le long de la forme conique. Avec ce tutoriel simple, vous pouvez passer à des projets plus compliqués. Vous n'êtes pas obligé d'utiliser la broche 3,3 V sur le Nano, ni même d'utiliser le Nano. La prochaine étape consiste à ajouter un écran LCD et à y imprimer les résultats, plutôt que sur le moniteur série. Des projets plus complexes peuvent être réalisés en ajoutant un capteur à ultrasons supplémentaire et en obtenant des résultats plus précis. A noter enfin qu'il existe trois autres méthodes pour interfacer le capteur au microcontrôleur. Ici, nous avons examiné uniquement la méthode GPIO, mais les trois autres méthodes pourraient intéresser le lecteur. Les liens sont les suivants : Tutoriel : Capteur à ultrasons (Mode 2 : Méthode I2C)… À venir Tutoriel : Capteur à ultrasons (Mode 3 : Méthode 1 fil)… À venir Tutoriel : Capteur à ultrasons (Mode 4 : Méthode UART)… À venir FacebookLinkedIn