DUT
Génie électrique et informatique industrielle
Semestre 1
UE11 - Composants, systèmes et applications
UE12 - Innovation par la technologie et les projets
Systèmes électroniques
Travaux pratiques & Projet
1
2
Utilisation d’une carte Arduino pour détecter la présence d’un mur.
Dans cette partie, nous allons nous intéresser à la programmation d’une carte microcontrôleur
pour l’instrumentation du télémètre à ultrasons.
Nous programmerons :
la génération du signal émis
la réception et le traitement du signal reçu
le calcul automatique de la distance mesurée et son affichage
Cette partie utilise les capacités d’une carte Arduino Uno. Vous aurez sans doute besoin de consulter du site web d’Arnuio :
[Link]
La télémétrie à ultrasons
Introduction : L’ultrason est une onde sonore, mécanique élastique, qui se propage dans des milieux
non vides. Sa fréquence, trop élevée pour être audible par l’oreille humaine, est supérieure à 20 kHz.
La télémétrie à ultrasons consiste à mesurer une distance à l’aide d’un signal ultrasonore et la mesure du
« temps de vol » entre le signal émis et le signal reçu. Comme nous pouvons le voir sur la figure 1.1, le
principe réside dans :
1. l’émission d’une onde ultrasonore
2. la réflexion de cette onde sur un objet
3. la réception de cette onde
4. le traitement et la synchronisation de l’ensemble de la chaîne, idéalement par un système
numérique
3
figure 1.1,
La vitesse du son est de 340 m/s. Cela signifie que l’onde sonore parcourt 340 m en 1s. Si un
objet est placé à 10 cm de l’ensemble émetteur réception à ultrason, le temps mis par l’onde pour
aller à l’objet et revenir t = distance / vitesse soit t = 2 x 10. 10-2 m / 340 = 588 uS.
4
Prise en main de la carte Arduino Uno et du logiciel de
programmation
Matériel mis à disposition
Vous êtes bien entendu responsable du matériel mis à votre disposition et vous devez en prendre soin.
Nous mettons à votre disposition :
un carte Arduino
un câble USB
un capteurs de distance à ultrasons
Cahier des charges de l’application embarquée
Au final, votre application embarquée devra :
Générer le signal commande Ugenerateur conforme au cahier des charges de l’émetteur,
Recevoir le signal Utraitement,
Calculer la distance de l’objet en fonction du temps mesuré entre l’émission et la réception,
Afficher cette distance sur l’écran de l’ordinateur.
5
Capteur de distance à Ultrasons
Principe
Les capteurs de distance à ultrasons utilisent le principe de l’écho pour déterminer la distance à laquelle
se trouve un objet :
Un court signal est envoyé (inaudible car dans le domaine des ultrasons – environ 40kHz) ;
Le son est réfléchi par une surface et repart en direction du capteur ;
Ce dernier le détecte, une fois revenu à son point de départ.
La durée entre l’instant de l’émission et l’instant de la réception peut être mesurée. Le signal ayant
parcouru 2 fois la distance entre le capteur et la surface (un aller-retour), on peut la calculer ainsi
6
Cette manipulation utilisera la carte associée au capteur ultrasons SRF-05.
Il permet de mesurer une distance par rapport à un objet en calculant le temps que mettent les ultrasons à
faire l’aller-retour entre le capteur et l’objet (ce dernier ne doit pas "absorber" les ultrasons mais les
réfléchir). C’est le principe du sonar.
Principe de fonctionnement du capteur SRF-05
Le signal de commande de l’émission trigger est généré par le programme contenu dans la
carte Arduino et envoyé à la carte SFR05. C’est une impulsion de 10 us.
La formule ci-dessous donne la distance en cm en fonction de la largeur d’impulsion en µs
du signal Echo pulse donné par la carte SFR05 :
7
Principe de fonctionnement
Câblage
Câblage
Comme la plupart des composants actifs, les capteurs de distance à ultrasons doivent être
alimentées (5V le plus souvent).Ils fonctionnent de la manière suivante :
l’Arduino envoie au capteur par un port numérique une courte impulsion (10μs environ) à
l’entrée « trigger » du capteur ;
cela déclenche l’émission d’un signal sonore très court (8 oscillations environ) ;
lorsque ce signal est parti, la sortie « echo » du capteur passe à l’état HIGH ;
dès que le signal sonore revient, il est détecté par le capteur dont la sortie « echo » repasse
Question 1:
à LOW.
8
Carte arduino
Lire le Document Ressource « Arduino ».
1) Préciser ce qu’est « Arduino ».
2) Citer les principaux avantages des systèmes « Arduino »
3) Indiquer quel type de microcontrôleur équipe les cartes « Arduino Uno ».
4) Lister le type et la taille des mémoires disponibles.
5) Donner la gamme des tensions d’alimentation normalisées de la carte « Arduino Uno ».
6) Préciser le nombre d’entrées/sorties numériques disponibles sur la carte « Arduino Uno ».
7) Donner le nombre d’entrées/sorties analogiques disponibles sur la carte « Arduino Uno ».
8) Lister les liaisons séries disponibles par défaut sur la carte « Arduino Uno ».
9) Compléter la figure du Document Réponse ci-dessous en donnant le nom des composants et leurs
fonctions.
9
Raccorder l’Arduino UNO, selon les indications suivantes.
Ouvrir l’environnement de développement Arduino
Ouvrir le fichier programme « [Link]
». Par un copier-coller, recopiez le dans l’espace Arduino.
10
10) Compléter le programme ci-dessous ( ??). Numéro de
broches, commentaire sur chaque ligne, calcul distance.
// definition des broches d’entrée et de sortie.
#define trigPin ??
#define echoPin ??
#define RedLed ??
#define greenLed ??
// initialization des modes des brooches utilisées et de la vitesse de transmission avec la carte.
void setup() {
[Link] (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(RedLed, OUTPUT);
pinMode(greenLed, OUTPUT);
}
// programme.
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(??);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = ??;
if (distance < 10 || distance >= 400 ) {
digitalWrite(RedLed,HIGH); // When the distance < 10, the Red condition is met, the Green LED
should turn off
digitalWrite(greenLed,LOW);
[Link]("Out of range");
}
else {
digitalWrite(RedLed,LOW); // when distance is correct
digitalWrite(greenLed,HIGH);
[Link](distance);
[Link]("cm");
}
delay(200) ;
}
Téléverser le programme dans le UNO.
11
11) Vous allez visualiser à l’oscilloscope les signaux TRIG et ECHO du
module SFR-5. Faire 2 relevés : l’un pour une distance de 10cm, l’autre
pour une distance de 25cm.
Pour 10cm
Pour 25cm
12) Mesurer la durée de l’impulsion sur TRIG avec précision, en modifiant la valeur
de la base de temps de l‘oscilloscope (sec/div).
12
13) Mesurer la durée de l’impulsion sur « Echo Output » pour chaque distance du
tableau ; vous pourrez utiliser la mesure automatique de l’oscilloscope
Distance (cm) 5 10 15 20 25 30
Durée impulsion
Echo (µs)
14) On souhaite allumer la led verte quand la distance est comprise entre 15 cm et
20 cm. En dehors, c’est la led rouge qui doit s’allumer. Modifier votre programme en
conséquence.
13
Robot Roomba Page 14 sur 14