Vous êtes sur la page 1sur 5

Et République Algérienne Démocratique

Populaire

‫وزارة التعليم العالي والبحث العلمي‬

Ministère De l’Enseignement Supérieure Et de La


Recherche Scientifique

Université Mohamed El Bachir El IbrahimiB.B.Arreridj Faculté des sciences et de la


technologie
Département d’électronique

systeme Anticollision.

Réalisée par :
ABANOU HOCINE
Atitallah salah eddine
Alouani kaceme
Beammara mounire
Blaiba abde noure
Bensfai adem
Model : syteme emparque

Groupe :1 sous groupe 1 17/1/2021


L'objectif de TP : c'est la réalisation d'un système embarqué intitulé par robot mobile anticollision
Un robot mobile
Partie 01 :

Matériels utilisés :
1. Carte Arduino uno
2. Servo Moteur.
3. Moteur à courant contenu
4. Circuit L293D (double pont H)
5. Capteur ultrason HC-SR04
HC-SR04(module de détection aux ultrasons):
Module de télémétrie à ultrasons HC - SR04 fournit 2cm - 400cm sans contact
fonction de mesure, la précision de mesure peut atteindre 3 mm Les modules
comprennent des émetteurs à ultrasons, un récepteur et un circuit de
commande.
A/ CARACTERISTIQUE:
 Dimention:45mm*20mm*15mm
 Plage de mesure :5cm 400cm
 Résolution de la mesure:0.3cm
 Angle de mesure efficace 15°.
B/ bronchement sur carte UNO:
 vcc = alimentation +5vdc.
 Trig= entrée Déclenchement De la mesure
 Echo= sortie de mesure donne en écho
 GND= masse de l'alimentation.
C/Principe de fonctionnement du capteur

Le principe de fonctionnement du capteur est entièrement basé sur la vitesse du son.


Voilà comment se déroule une prise de mesure :
1. On envoie une impulsion HIGH de 10µs sur la broche TRIGGER du capteur.
2. Le capteur envoie alors une série de 8 impulsions ultrasoniques à 40KHz.
3. Les ultrasons se propagent dans l'air jusqu'à toucher un obstacle et retourne dans l'autre sens vers le
capteur.
4. Le capteur détecte l'écho et clôture la prise de mesure.
Le signal sur la broche ECHO du capteur reste à HIGH durant les étapes 3 et 4, ce qui permet de mesurer la durée de
l'aller-retour des ultrasons et donc de déterminer la distance.

Travaile demandè 01: commande un servo moteur en utilisant le HC-RS04 et réalisation.

Réalisation:

bronchement sur carte UNO:


 vcc = alimentation +5vdc.
 Trig= pin11 digitale
 Echo= pin 12 digitale
GND= gnd
D/programme avec arduino IDE:
int trig=11;
int echo=12;
long lecture_echo;
long distance_cm;

void setup() {
Serial.begin(9600);
digitalWrite(trig,LOW);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);

void loop() {
//envoie un impulsion HIGH de10 micro seconds
digitalWrite(trig,HIGH);
delayMicroseconds(10);
//le capture détecter sur trig when touche un obstacle
digitalWrite(trig,LOW);
// l'équation de calcule la distance
lecture_echo=pulseIn(echo,HIGH);
distance_cm=lecture_echo/58;
Serial.println("distance en cm:");
// taper le result sur serial monitor
Serial.print(distance_cm );
delay(1000);

Travaile demandè 01: commande un servo moteur en utilisant le HC-RS04 et réalisation.


programme avec arduino IDE:
#include <Servo.h>
int trig=11;
int echo=12;
long lecture_echo;
long distance_cm;

void setup() {
Servo myservo; // create servo object to control a servo
Serial.begin(9600);
digitalWrite(trig,LOW);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);

void loop() {
//envoie un umplusion HIGH de10 micro seconds
digitalWrite(trig,HIGH);
delayMicroseconds(10);
//le capture detecter sur trig when touche un ubstacle
digitalWrite(trig,LOW);
// l'equation de calcule la distance
lecture_echo=pulseIn(echo,HIGH);
distance_cm=lecture_echo/58;
Serial.println("distance en cm:");
// taper le resulat sur serial monitore
Serial.print(distance_cm );

delay(1000);

// condition teste a ce que distance 10cm


if(distance_cm<=10){
//si la condition et remplie le servo fonctionnera
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}

}
}
Réalisation:

bronchement sur carte UNO:


 vcc = alimentation +5vdc.
 Trig= pin11 digitale
 Echo= pin 12 digitale
 GND= gnd
 Orange signale= pin 9
 Rouge= +5vdc
 Marron= gnd

Shield de contrôle de moteurs :


Le shield L293D est une carte de commande basée sur L293 IC, qui peut entraîner 4 moteurs à courant continu et 2
moteurs pas à pas ou servomoteurs en même temps. Chaque canal de ce module a un courant maximum de 1,2 A et
ne fonctionne pas si la tension est supérieure à 25 V ou inférieure à 4,5 V. Soyez donc prudent en choisissant le bon
moteur en fonction de sa tension et de son courant nominaux. Pour plus de fonctionnalités de ce shield,
mentionnons la compatibilité avec Arduino UNO et MEGA, la protection électromagnétique et thermique du moteur
et le circuit de déconnexion en cas d'augmentation de tension non conventionnelle.