Vous êtes sur la page 1sur 13

Université de Jijel

Faculté des Sciences & de la technologie

Département d’Électronique

MASTER 1

HOME Work  :ESE18

Présenté par :

1/Messalaoui Abdelaziz
Année Universitaire :

2019-2020
1/saisir le code sur le Logiciel Arduino puis simuler sous Isis après compilation :
const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor
void setup() {
Serial.begin(9600); // Starting Serial Terminal }
void loop() {
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100); }
long microsecondsToInches(long microseconds)
{ return microseconds/74/2; }
long microsecondsToCentimeters(long microseconds)
{ return microseconds/29/2; }
2/commenter chaque ligne du code puis décrire brièvement ce que fait le programme :
const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor
void setup() {
Serial.begin(9600); // Starting Serial Terminal }
void loop() {
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100); }
long microsecondsToInches(long microseconds)
{ return microseconds/74/2; }
long microsecondsToCentimeters(long microseconds)
{ return microseconds/29/2; }
3/ la plus petite distance détectable est : 4cm

4/ la portée du module ultrason est :


la plus petite distance détectable
la plus grand distance détectable

5/ Modifier le code pour afficher la distance sur un afficheur LCD. Montrer les
résultats de la simulation sur Proteus:
# include "LiquidCrystal.h" //lcd libary
LiquidCrystal lcd(9, 8, 5, 4, 3, 2); //LCD object Parameters: (rs, enable, d4, d5, d6, d7)
const int trigPin = 7; //trig pin connection
const int echoPin = 6; //echopin connection
long duration;
int distanceCm;
float liquid;
int DISTANCELIMITE;
const int buzzerPin = 11;
void setup() { // setup perameter
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print(" TP ESE18 ");
lcd.setCursor(0,1);
lcd.print("MSALAOUIA.ELAZIZ");
delay(2000);
lcd.clear();
}
void loop() {
// loop of flow program
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
DISTANCELIMITE = distanceCm;
if (distanceCm <= 10){
digitalWrite(buzzerPin,HIGH);
lcd.setCursor(0,0);
lcd.print(" Distance ");
lcd.setCursor(0,1);
lcd.print(" LIMITE ");
delay(2000);
}
else
{
digitalWrite(buzzerPin, LOW); }
lcd.setCursor(0,0);
lcd.print("La Distance mesuré.");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance:");
lcd.print(distanceCm);
lcd.print(" Cm ");
delay(1000);
lcd.clear();
}
6/Modifier le code arduino en ajoutant un Buzzer sur la broche 11 qui sera
déclenché (ALARM) si la distance est inferieure à 10cm tout en affichant sur le
LCD « DISTANCE LIMITE » :

7/les taches supplementaires:


Le code :
# include "LiquidCrystal.h" //lcd libary
LiquidCrystal lcd(9, 8, 5, 4, 3, 2); //LCD object Parameters: (rs, enable, d4, d5, d6,
d7)
const int trigPin = 7; //trig pin connection
const int echoPin = 6; //echopin connection
long duration;
int distanceCm;
float liquid;
int DISTANCELIMITE;
const int buzzerPin = 11;
int ledr = A1;
int ledy = 12;
int ledg = 13;
void setup() { // setup perameter
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledr, OUTPUT);
pinMode(ledy, OUTPUT);
pinMode(ledg, OUTPUT);

lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print(" TP ESE18 ");
lcd.setCursor(0,1);
lcd.print("MSALAOUIA.ELAZIZ");
delay(2000);

lcd.clear();
}
void loop() {
// loop of flow program
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);


distanceCm= duration*0.034/2;
DISTANCELIMITE = distanceCm;
if(80 < distanceCm ) {

digitalWrite(ledr, LOW);
digitalWrite(ledy, LOW);
digitalWrite(ledg,HIGH);
digitalWrite(buzzerPin,LOW);

}else if (distanceCm < 10){


digitalWrite(ledr, HIGH);
digitalWrite(ledy, LOW);
digitalWrite(ledg, LOW);
digitalWrite(buzzerPin,HIGH);

lcd.setCursor(0,0);
lcd.print(" Distance ");
lcd.setCursor(0,1);
lcd.print(" LIMITE ");
delay(2000);
}
else if (10 <= distanceCm < 80 ) {
digitalWrite(ledr, LOW);
digitalWrite(ledy, HIGH);
digitalWrite(ledg,LOW);
digitalWrite(buzzerPin,LOW); }

else {

digitalWrite(ledr, LOW);
digitalWrite(ledy, LOW);
digitalWrite(ledg,LOW);
digitalWrite(buzzerPin,LOW); }

lcd.setCursor(0,0);
lcd.print("La Distance mesuré.");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance:");
lcd.print(distanceCm);
lcd.print(" Cm ");
delay(1000);
lcd.clear();
}
** resultat :

Vous aimerez peut-être aussi