Étiquette : Sonnar

Rencontre du 09/11 – Démonstration du Sonnar

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

Arduino Sonnar
Arduino Sonnar

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;
}