Note
Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.
👉 Prêt à explorer et à créer avec nous ? Cliquez [ ici ] et rejoignez-nous aujourd’hui !
5.8 Fonction Définie par l’Utilisateur¶
En C, nous pouvons diviser un grand programme en blocs de construction de base connus sous le nom de fonction. La fonction contient l’ensemble des instructions de programmation entourées par {}. Une fonction peut être appelée plusieurs fois pour fournir une réutilisabilité et une modularité au programme C. En d’autres termes, nous pouvons dire que la collection de fonctions crée un programme. La fonction est également connue sous le nom de procédure ou sous-routine dans d’autres langages de programmation.
Voici les avantages des fonctions :
En utilisant des fonctions, nous pouvons éviter de réécrire la même logique/code encore et encore dans un programme.
Nous pouvons appeler des fonctions C autant de fois que nous le souhaitons dans un programme et de n’importe quel endroit dans un programme.
Nous pouvons facilement suivre un grand programme C lorsqu’il est divisé en plusieurs fonctions.
La réutilisabilité est la principale réalisation des fonctions C.
Cependant, l’appel de fonction est toujours un surcoût dans un programme C.
Il existe deux types de fonctions en programmation C :
Fonctions de Bibliothèque : les fonctions qui sont déclarées dans les fichiers d’en-tête C.
Fonctions Définies par l’Utilisateur : les fonctions créées par le programmeur C, afin qu’il/elle puisse les utiliser plusieurs fois. Cela réduit la complexité d’un grand programme et optimise le code.
Dans ce projet, définissez une fonction pour lire la valeur du module ultrasonique.
Composants Requis
Dans ce projet, nous avons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
|---|---|---|
3 in 1 Starter Kit |
380+ |
Vous pouvez également les acheter séparément via les liens ci-dessous.
INTRODUCTION DES COMPOSANTS |
LIEN D’ACHAT |
|---|---|
Schéma
Câblage
Code
Note
Ouvrez le fichier
5.8.user_function.inosous le chemin de3in1-kit\basic_project\5.8.user_function.Ou copiez ce code dans Arduino IDE.
Ou téléchargez le code via le Arduino Web Editor.
Après le téléchargement réussi du code, le moniteur série affichera la distance entre le capteur ultrasonique et l’obstacle devant.
Comment ça marche ?
Concernant l’application du capteur ultrasonique, nous pouvons directement vérifier la sous-fonction.
float readSensorData(){// ...}
La broche trigPin du module ultrasonique transmet un signal carré de 10us toutes les 2us
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
La broche echoPin reçoit un signal de haut niveau s’il y a un obstacle dans la portée et utilise la fonction pulseIn() pour enregistrer le temps entre l’envoi et la réception.
microsecond=pulseIn(echoPin, HIGH);
La vitesse du son est de 340 m/s ou 29 microsecondes par centimètre.
Cela donne la distance parcourue par l’onde carrée, aller et retour, donc nous divisons par 2 pour obtenir la distance de l’obstacle.
float distance = microsecond / 29.00 / 2;
Notez que le capteur ultrasonique mettra le programme en pause lorsqu’il fonctionne, ce qui peut provoquer des ralentissements lors de l’écriture de projets complexes.