0% ont trouvé ce document utile (0 vote)
156 vues2 pages

Programmation Capteur HC-SR04 Arduino

Ce document décrit la programmation d'un capteur ultrason HC-SR04 pour mesurer des distances. Il définit les broches du capteur, la fonction ping() pour envoyer et recevoir les signaux, et la boucle principale pour contrôler le mouvement d'un robot en fonction des mesures.

Transféré par

Amrouchene Djouher
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
156 vues2 pages

Programmation Capteur HC-SR04 Arduino

Ce document décrit la programmation d'un capteur ultrason HC-SR04 pour mesurer des distances. Il définit les broches du capteur, la fonction ping() pour envoyer et recevoir les signaux, et la boucle principale pour contrôler le mouvement d'un robot en fonction des mesures.

Transféré par

Amrouchene Djouher
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation du capteur ultrason :

// Définir les constantes et variables pour le capteur HC-SR04


int trigPin = 4; // indique que la fiche Trig du capteur est sur la broche : PIN 4
int echoPin = 5; // indique que la fiche Echo du capteur est sur la broche : PIN 5

float ping()
{
// send a 10us+ pulse
digitalWrite(trigPin, LOW);
delayMicroseconds(20);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
delayMicroseconds(20);

// read duration of echo


int duration = pulseIn(echoPin, HIGH);

// dist = duration * speed of sound * 1/2


// dist in cm = duration in us * 1 x 10^{-6} * 340.26 * 100 * 1/2
// = 0.017*duration
float dist = 0.017 * duration;

return dist;

void setup()
{
// définir les PIN du capteur pour savoir si c'est des entrées ou des sorties
pinMode(trigPin, OUTPUT); // indique que la broche TrigPin est une sortie
pinMode(echoPin, INPUT); // indique que la broche EchoPin est ne entrée
}

void loop()
{
float dist = ping();

if (dist > 0 && dist < 25) {

arreter();
delay (1000);
marche_Arriere();
delay (1000);
tourner_Droite();
delay (1000);
marche_Avant();
delay(1000);
}

else {
marche_Avant();
delay(800);
}
}

Vous aimerez peut-être aussi