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)