Académique Documents
Professionnel Documents
Culture Documents
Eléments techniques :
Il se caractérise par ses éléments graphiques qui sont tel qu’associés à une
expression alphanumérique des variables offre une représentation
synthétique du comportement reposant sur une description indirecte de la
situation du système.
Construction de la structure :
• Etape : (inactive ou active) l’ensemble des étapes actives d’un grafcet
représente la situation de ce grafcet a cet instant.
• Transition : entre 2 ou plusieurs étapes indique en possibilité
l’évolution d’activités.
• Liaison orientée : relier les étapes à une transition et vice-versa
1 3
d
c b e
2 4
Etape 0 : initialisation
• Le robot démarre et effectue des tests de diagnostic pour s’assurer que
tous les systèmes sont opérationnels.
• Si les tests sont réussis, le robot passe à l’étape 1. Sinon, il affiche un
message d’erreur et s’arrête.
Etape 1 : déplacement
• Le robot se déplace dans la pièce en suivant un algorithme de déplacement
préprogrammé
• Le robot utilise des capteurs pour détecter les obstacles sur son chemin et
éviter les collisions.
• Si un obstacle est détecté, le robot passe à l’étape 2
Etape 2 : évitement d’obstacles
• Le robot arrête son déplacement et évalue la situation pour déterminer la
meilleure façon d’éviter l’obstacle.
• Si l’obstacle est un mur, le robot tourne à gauche ou à droite pour
contourner le mur, si c’est un objet, le robot recule légèrement puis tourne
pour éviter l’objet.
• Une fois l’obstacle évité, le robot retourne à l’étape 1
Etape 3 : aspiration des déchets
• Le robot utilise son aspirateur pour aspirer les déchets et les poussières
sur le sol.
• Si le niveau de batterie est faible, le robot passe à l’étape 4. Si non, il
retourne à l’étape 1
Etape 4 : recharge
• Le robot se déplace vers sa base de recharge pour recharger sa batterie.
• Une fois la batterie chargée, le robot retourne à l’étape 1
Les transitions :
• a : lorsque les tests de diagnostic sont réussis.
• b : lorsque le robot détecte un obstacle
• c : lorsque l’obstacle est évité
• d : lorsque le robot rencontre une zone de nettoyage
• e : lorsque le niveau de batterie est faible
• f : lorsque la batterie est chargée
Nota : ce grafcet est une représentation simplifiée et peut être adapté en fonction
des spécifications exactes du système de robot nettoyeur, tout comme à la
réalisation du projet on peut ajouter et/ou retrancher quelques fonctionnalités.
2. Le schéma électronique du projet
2.1 Bloc circuit d’alimentation (recharge de la batterie)
#include <LiquidCrystal.h>
const int motorPin1=4;
const int motorPin2=5;
const int motorPin3=6;
const int motorPin4=7;
#define trigPin 8
#define echoPin 9
// BS E D4 D5 D6 D7
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup() {
pinMode(motorPin1,OUTPUT);
pinMode(motorPin2,OUTPUT);
pinMode(motorPin3,OUTPUT);
pinMode(motorPin4,OUTPUT);
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(20, 4);
lcd.setCursor(0, 1);
delay(400);
lcd.clear();
delay(1000);
}
void loop() {
digitalWrite(motorPin1,HIGH);
digitalWrite(motorPin2,HIGH);
digitalWrite(motorPin3,HIGH);
digitalWrite(motorPin4,HIGH);
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance ==558) { // This is where the LED On/Off happens
digitalWrite(motorPin1,LOW);
digitalWrite(motorPin2,LOW);
digitalWrite(motorPin3,HIGH);
digitalWrite(motorPin4,HIGH);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("OBSTACLE");
Serial.println(" OBSTACLE");
delay(400);
lcd.clear();
delay(200);
}
lcd.setCursor(1, 0);
lcd.print("Distance= ");
lcd.print(distance);
lcd.print("cm");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}