Étape 2: Codage de HC-SR04
Vous aurez besoin d’avoir serial moniteur de l’Arduino en cours d’exécution pour voir la sortie de l’esquisse ci-dessous. Si vous n’êtes pas familier avec le serial monitor est maintenant votre chance de l’utiliser ! C’est un excellent outil pour le débogage et autres joyeusetés. Dans l’Arduino interface Regardez à droite, le bouton pour démarrer le moniteur de la série est là. Il ressemble à une loupe pour moi, il suffit de cliquer et le moniteur va ouvrir (ou sélectionnez Outils/Serial Monitor ou Ctrl + Maj + M).
Eh bien cela aurait été un simple croquis peu si je ne commente l’he ** hors de lui ! :-)
Sketch Arduino Begin-
Définir des constantes (constantes sont des choses qui ne changeront pas, vous obtiendrez une erreur de compilation si vous tentez de modifier la valeur d’une constante dans l’esquisse)
const int triggerPin = 7 ; crée une constante nommée « triggerPin » et lui attribue la broche numérique 7
const int echoPin = 8 ; crée une constante nommée « echoPin » et lui attribue la broche numérique 8
Définition des Variables (variables peut et sera normalement changer dans un sketch, ils sont fondamentalement des emplacements de stockage pour les valeurs)
durée de l’int = 0 ; crée une variable nommée « durée » pour stocker la valeur retournée par pulseIn, la valeur est étant réglée sur « 0 »
distance de l’int = 0 ; crée une variable pour stocker la valeur calculée pour la distance d’un objet devant le détecteur, la valeur est étant réglée sur "0"
void setup() / / Utilisez cette section pour configurer votre Conseil d’administration et d’autres fonctionnalités tel que requis par votre programme
{
Serial.Begin(9600) ; initialiser une communication série via le port USB entre Arduino et ordinateur, vous allez en avoir besoin
définition des modes de broche
pinMode (triggerPin, sortie) ; « triggerPin » sera utilisé pour la sortie, le NIP est déclaré ci-dessus en vertu de la définition des Variables
pinMode (echoPin, entrée) ; « echoPin » sera utilisé pour l’entrée, le numéro de broche pin est déclaré ci-dessus en vertu de la définition des Variables
} / / fin de l’installation
tout au-dessus de ce point ne peut être lue une fois par un programme - au démarrage ou Reset
void loop() / / le croquis dans la section de la boucle est lire continuellement et répété jusqu'à pouvoir désactiver ou réinitialiser
{
digitalWrite (triggerPin, HIGH) ; part la wave(s) ultrasonique du module SC-SR04
Delay(5) ; courte pause pour la cause - nécessaire pour le module fonctionne correctement (vous pouvez diminuer le nombre, je le lance à 1 dans les autres esquisses)
digitalWrite (triggerPin, basse) ; arrête les ultrasons wave(s) out depuis le module SC-SR04
durée = pulseIn (echoPin, HIGH) ; fonction spéciale pour déterminer la durée de que la broche de l’écho ne détenait haut du dernier cycle complété son calibre
Delay(10) ; courte pause pour la cause. Ce retard est pour la stabilité, trop ne court un retard et worky
distance = (durée/2) / 74 ; transformation de durée à distance (la valeur stockée dans la « durée » est divisé par 2, que le résultat est ensuite divisé par 74 **) ** centimètres (cm) divisent par 58, Merci coytar !
Delay(500) ; délai pour la stabilité - peut jouer avec lui mais peut aussi casser des choses à faire - utiliser 500 pour défaut
Serial.Print(distance) ; envoie la valeur calculée pour la distance et le serial monitor
Serial.println ("inches") ; Ajoute le mot « pouces » après la valeur de la distance ci-dessus et commence une nouvelle ligne sur le moniteur de la série
Serial.println() ; Ajoute une ligne vide sur serial monitor pour une meilleure lisibilité
} / / Fin de boucle
_________________________________________________
OK, après avoir lu mes propres Instructable j’ai réalisé que le croquis ci-dessus ne répond vraiment pas ma définition de la « simple ». Voici donc l’esquisse même exacte, a commenté légèrement.
HC-SC04 Ultrasonic Distance Module Sketch par Brad
const int triggerPin = 7 ; déclencheur sur 7
const int echoPin = 8 ; ECHO le 8
durée de l’int = 0 ; maintenir la valeur de pulseIn
distance de l’int = 0 ; Maintenez la valeur de la distance calculée
void setup()
{
Serial.Begin(9600) ;
pinMode (triggerPin, sortie) ; définition des modes de broche
pinMode (echoPin, entrée) ;
}
void loop()
{
digitalWrite (triggerPin, HIGH) ; commencer à envoyer des sound wave(s)
Delay(5) ; nécessaire, peut être ajusté (pas inférieur 10us)
digitalWrite (triggerPin, basse) ; module cesse d’envoyer des wave(s)
durée = pulseIn (echoPin, HIGH) ; déterminer combien de temps la broche ECHO était élevée pour la dernière vague complète
Delay(10) ; nécessaire, peut être ajusté - soigneusement
distance = (durée/2) / 74 ; Delay(500) ; calcul de la distance ** pour les centimètres (cm) divisent par 58 ** Merci coytar !
Delay(500) ; délai pour la stabilité - peut jouer avec lui mais peut aussi casser des choses à faire - utiliser 500 pour défaut
Serial.Print(distance) ; Envoyer la valeur actuelle stockée dans la distance et le serial monitor
Serial.println ("inches") ; le mot « pouces » s’affiche après la distance ci-dessus
Serial.println() ; crée une ligne blanche sur serial monitor pour une meilleure lisibilité
}
Là, c’est un simple croquis !
Les fichiers inclus .ino sont ;
1. HCSR04BareBones.ino - ce fichier est largement commenté et comprend quelques spécifications de base pour le module SC-SR04 ainsi que les instructions de câblage.
2. BareBonesLight.ino - très légèrement a commenté