Le sonnar est utilisé pour déterminer la distance d’un objet. Un ultrason est émis et réfléchi par un mur, objet ou tout autre obstacle.
On peut l’utiliser dans un montage permettant de solutionner un labirynthe, une compétion de Robot-Sumo ou simplement éviter de
frapper un mur.
Alors voici le petit montage présenté mercredi le 09/11
2 broches servent à alimenter le sonnar et les 2 autres permettent l’envoi d’un signal et la réception du retour du son.
Le sonnar possède un élément qui s’apparente à un haut-parleur et un autre qui s’apparente à un micro.
La durée d’un aller retour permettra de déterminer la distance de l’objet. Ce modèle peut mesure une distance de 2cm à 4m.
Le code nécessaire :
// Constante correspondante aux brochex du Arduino
const int trigPin = 2;
const int echoPin = 4;
void setup() {
// initialisation de la communication série:
Serial.begin(9600);
}
void loop()
{
// Déclaration des variable
long duration, inches, cm;
pinMode(trigPin, OUTPUT); // Configuration de la broche en sortie
// En mettant la broche à l’état “LOW” en premier on s’assure
// de bien initialiser son état
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Émission du signal pour 10 microsecondes, puis arrêt
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT); // configuration de la broche en entrée
duration = pulseIn(echoPin, HIGH); // Lecture du signal
// Conversion de la durée en distance
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
//Affichage des résultats dans le moniteur série
Serial.print(inches);
Serial.print(« in, « );
Serial.print(cm);
Serial.print(« cm »);
Serial.println();
delay(100);
}
// Fonction de conversion en pouces
long microsecondsToInches(long microseconds)
{
// 73.746 microsecondes par pouce (i.e. le son voyage à 1130 pied/sec.)
// On divise par 2 pour avoir le temps de retour seulement.
// Référence: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
return microseconds / 74 / 2;
}
// Fonction de conversion en cm
long microsecondsToCentimeters(long microseconds)
{
// Le son voyage à 340 m/s ou 29 microsecondes par centimètre.
// On divise par 2, pour ne pas avoir le temps aller et retour
return microseconds / 29 / 2;
}
Vous devez être connecté pour poster un commentaire.