Exemple simple Arduino et HC-SR04

Après avoir acheté un HC-SR04 d'Amazon, je n'ai pas pu le faire fonctionner dès la sortie de la boîte. Ne voulant pas admettre que j'avais un capteur DOA sur les mains, j'ai cherché un exemple d'installation simple. Après avoir passé beaucoup trop de temps là-dessus que je n'en avais besoin, j'ai décidé de rendre cela instructable pour aider d'autres bricoleurs émergents à faire démarrer leur projet.

J'admets que cet exemple est plus que simple en ce qu'il a des LED, mais cela me permet de le tester sans avoir besoin d'un PC pour afficher la distance et vérifier la précision du capteur.

Étape 1: Liste des pièces

Arduino UNO R3 (j'utilise la monture Adafruit)
Un (1) capteur à ultrasons HC-SR04
Une (1) LED rouge
Une (1) LED verte
Deux (2) résistances de 560 ohms (vert, bleu, marron, or)
Demi planche à pain
Huit (8) fils de raccordement mâle / mâle
Une règle qui mesure des centimètres (ou utilisez le moniteur série)

Étape 2: connecter les composants

Connectez les composants et les fils comme indiqué sur les deux images.

Étape 3: télécharger l'esquisse

Copiez l'esquisse sur votre Arduino et regardez les lumières clignotantes.


/ *
Capteur de distance Ping HC-SR04]
VCC à arduino 5v GND à arduino GND
Echo vers Arduino pin 13 Déclenchement vers Arduino pin 12
POS rouge à la broche 11 d'Arduino
POS vert à la broche 10 d'Arduino
Résistance de 560 ohms aux rails d'alimentation LED NEG et GRD
Plus d'informations sur: //goo.gl/kJ8Gl
Améliorations du code d'origine de l'esquisse Ping provenant de Trollmaker.com
Du code et du câblage inspirés de //en.wikiversity.org/wiki/User:Dstaub/robotcar
* /

#define trigPin 13
#define echoPin 12
#define led 11
#define led2 10

void setup() {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (led, SORTIE);
pinMode (led2, SORTIE);
}

boucle vide () {
longue durée, distance;
digitalWrite (trigPin, LOW); // Ajout de cette ligne
delayMicroseconds (2); // Ajout de cette ligne
digitalWrite (trigPin, HIGH);
// delayMicroseconds (1000); - Suppression de cette ligne
delayMicroseconds (10); // Ajout de cette ligne
digitalWrite (trigPin, LOW);
durée = pulseIn (echoPin, HIGH);
distance = (durée / 2) / 29, 1;
if (distance <4) {// C'est là que la LED On / Off se produit
digitalWrite (led, HIGH); // Lorsque la condition rouge est remplie, la LED verte doit s'éteindre
digitalWrite (led2, LOW);
}
autre {
digitalWrite (led, LOW);
digitalWrite (led2, HIGH);
}
if (distance> = 200 || distance <= 0) {
Serial.println ("Hors de portée");
}
autre {
Serial.print (distance);
Serial.println ("cm");
}
retard (500);
}

Pièces jointes

  • Code.txt Télécharger

Articles Connexes