Projet Final : FollowBuddy de Rouaa, Cyrine, Zahra et Rayane
- DĂ©finition du projet
- Nom et Logo du Projet
- Besoin
Suite à plusieurs réflexions, nous avons choisi de créer : Follow Buddy, le chariot éco qui vous accompagne dans votre quotidien
Faire du shopping avec vous ? Pourquoi pas !! Au lieu de laisser votre chariot loin de vous lorsque vous faites les magasins, Follow Buddy vous suit dans votre chemin et il est là pour récupérer toutes vos gourmandises :)
- Utilisateurs
Particuliers : N’importe quelle personne qui a besoin d’aide pour porter ses affaires, que ce soit ses courses, etc...
Professionnels: Follow Budy est le partenaire idéal pour tout employé ayant besoin d'un assistant pour porter des charges lourdes. Notre robots pourrait accompagner des ouvriers sur un chantiers, des serveurs dans un restaurant, ou des gérants dans un hangar pour transporter des colis !
- Fonctionnalité principale
-
- Suivre la personne
- Porter les affaires des gens
- Fonctionnalités secondaires
- Problématique et concurrence
- Réflexions sur la problématique Et Chiffre clés ?
Nous avons voulu faire quelque chose de sympa, cool et innovant, qui aide les gens.
Nous avons voulu vous faciliter la vie, que vous soyez un ouvrier qui en a marre de porter ses outils, ou un serveur qui en peu plus avec le grand nombre d'assiettes …
Veille sur l'existant
Les chariots existent déjà dans les magasins de cours tels que AUCHAN et Carrefour. Hors dans les centres commerciaux, c’est toujours des paniers qui nous sont donnés.
- Lean canvas
- Choix techniques
Dans ce projet, nous nous sommes limités sur les matériaux à disposition dans le FabLab ; des matériaux simple et facile à trouver : chariot - piles - capteurs de son et d’infra rouge - carte arduino et son driver - bois -
- Gestion de projet
Planning - Jalons - Ă©tapes :
- Croquis
Step 1 : Croquis de notre robot + le placement de notre carte arduino et les capteurs.
Step 2 : Réflexion sur le positionnement des boîtes par dessus le robot, tout en vérifiant les bonnes dimensions. La première boîte sert à cacher notre circuit ( carte arduino, capteurs … ) et sera le support de la deuxième boîte, par dessus, qui sera ouverte du haut afin qu’on puisse déposer nos affaires dedans.
Step 3 : Création de Follow Buddy
- Liste du matériel avec dimensions
-
- DĂ©coupe laser 2D
-
- Impression 3D
-
- Electronique
-
- Assemblage
- Fichiers de conception et étapes de création des fichiers (captures d'écran) / code
Notre programme Arduino a pour but de mesurer en temps réel la distance entre l'utilisateur et le robot et de commander les moteurs en fonction de cette distance.
void loop() {
digitalWrite(trigPin, LOW); //Lecture des données du capteur à ultrasons
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration*.0343)/2;
buttonState = digitalRead(buttonPin);
digitalWrite(ledPin, LOW);
Right_Value = digitalRead(RIGHT); // lecture des données des capteurs infrarouges
Left_Value = digitalRead(LEFT);
Dans la boucle, nous commençons par définir le trigPin à basse tension pendant 2 microsecondes pour nous assurer que le signal est d'abord bas. Ensuite, nous le mettons à haute tension pendant 10 microsecondes, ce qui envoie une rafale sonique de 8 cycles depuis l'émetteur, rebondit sur un objet et atteint le récepteur (qui est connecté à la broche Echo).
Lorsque les ondes sonores atteignent le récepteur, elles font passer la broche Echo à un niveau haut pendant la durée du trajet des ondes. Pour obtenir cela, nous utilisons une fonction pratique d'Arduino appelée pulseIn(). Elle prend 2 arguments, la broche à écouter (dans notre cas, la broche Echo), et un état (HAUT ou BAS). Cette fonction attend que la broche passe à l'état que vous avez indiqué, commence à chronométrer, puis arrête de chronométrer lorsqu'elle passe à l'autre état.
En plus du capteur à ultrasons, le programme lit également les données des capteurs infrarouges pour détecter le changement de direction de l'utilisateur.
if ((distance > 10) && (distance < 20)) { //CAS OU STOP
M1_back(0);
M4_back(0);
}
else if ((distance < 10)) { // CAS OU RECULE
//Serial.println("BACKWARD");
M1_back(85);
M4_back(85);
}
else if ((distance > 20) && (distance < 50)) { // CAS OU AVANCE
//Serial.println("FORWARD");
M1_advance(85);
M4_advance(85);
}
else if((Right_Value==0) && (Left_Value==1)){
M1_back(85);
M4_advance(85);
}
else if((Right_Value==1) && (Left_Value==0)){
M4_back(85);
M1_advance(85);
}
else { // AUCUN CAS DONC STOP
//Serial.println("STOP");
M1_back(0);
M4_back(0);
}
Une fois que les données sont lues, le programme commande les moteurs en vitesse et en direction pour déplacer le robot. Le robot avance si la distance mesurée est trop élevée et recule si la distance mesurée est trop faible. Dans le cas où le robot ne détecte pas d'objet devant (avec le capteur à ultra-son), les données des capteurs infrarouges sont prises en compte. Lorsqu'un objet est détecté par l'un des deux capteurs, le robot effectue une rotation en commandant les moteurs dans des directions différentes.
- Photos des étapes de réalisation du prototype, paramètres des machines
-
- DĂ©coupe laser 2D (Conception, Impression, Sortie de l'imprimante, assemblage)
-
- Impression 3D
-
- Électronique ( Circuit/montage, code, soudure,..)
Les moteurs sont commandés avec un driver pour contrôler leur vitesse et leur direction de rotation. Le driver Quad DC Motor Driver Shield for Arduino est nous permet de commander les moteurs avec un code Arduino.
Le driver étant un shield, il peut être placé sur la carte arduino qui en plus de commander les moteurs, lit les données des différents capteurs. La carte arduino est branché à trois capteurs : un capteur à ultrasons pour mesurer la distance de l’objet en face du robot, et deux capteurs infrarouges pour détecter la présence d’un objet sur les côtés.
- Photos/vidéos de l'objet final
- Réflexions de pistes d'amélioration ou d'évolution du projet
- Sources des tutoriels, inspirations, ressources utilisées (à insérer au fil de la documentation)