Binome2018-4 : Différence entre versions

De Wiki de bureau d'études PeiP
 
(51 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
31/01/19
+
<include nopre noesc src="/home/pedago/ppeip/include/video-Robot_Binome04_2018-iframe.html" />
Afin de pouvoir fuir face aux attaques du "Hunting Vipers" modèle 66 des commandants Leu et Lasserye, Le projet "Ben-Hur" a été lancé pour pouvoir éviter ce prédateur d'une nouvelle ère.
+
__TOC__
Pour l'instant, les composants utilisés sont en train de voir leurs dimensions prises, notées, afin de pouvoir créer avec précision un schéma du Ben-Hur dans les dimensions approximatives du modèle final. Un système de télécommande est prévu en plus du système automatique pour que le robot puisse se mouvoir seul ou télécommandé.  
+
<br style="clear: both;">
Sont prévus : 2 émetteurs-récepteurs ultrasons, 2 à 3 émetteurs/récepteurs infrarouge, un arduino, un shield,
+
 
 +
[[Fichier:Char.jpg|500px|thumb|center|Char romain]]
 +
 
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; text-align: center; font-size: 80%; background: #CEECF5; vertical-align: top; width: 98%;">'''Objectifs''' </div>=
 +
 
 +
Tout commence par deux groupes ayant pour but commun la création d'un robot, l'un une proie et l'autre un prédateur, nous somme le groupe qui représente la proie: Ben-Hur.
 +
Nous avons choisi, comme forme pour notre robot, l'équivalent d'un char romain afin d'appuyer le fait que notre robot doit fuir à toute vitesse
 +
Nous allons donc consigner toute nos idées et nos avancées sur le projet sur ce journal, afin de pouvoir nous coordonner et créer notre robot au fur et a mesure via des objectifs simples.
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; text-align: center; font-size: 80%; background: #CEECF5; vertical-align: top; width: 98%;"> '''Séances'''</div>=
 +
 
 +
 
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">31/01/19</div>=
 +
 
 +
Afin de pouvoir fuir face aux attaques du "Hunting Vipers" , Le projet "Ben-Hur" a été lancé pour pouvoir éviter ce prédateur.
 +
Pour l'instant, les composants utilisés sont en train de voir leurs dimensions prises, notées, afin de pouvoir créer avec précision un schéma du Ben-Hur dans les dimensions du modèle final.  
 +
Un système de télécommande est prévu en plus du système automatique pour que le robot puisse se mouvoir seul ou télécommandé.  
 +
Sont prévus :  
 +
*2 émetteurs-récepteurs ultrasons
 +
[[Fichier:us.jpg|150px|thumb|center|Le capteur Ultrason]]
 +
*2 à 3 émetteurs/récepteurs infrarouge  
 +
*une arduino uno
 +
[[Fichier:ardui.jpg|150px|thumb|center|La carte arduino pour notre robot]]
 +
*un shield
 +
 
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">4/02/2019</div>=
 +
 
 +
Les premières idées fusent lors de cette séance, mon camarade ainsi que moi-même avons fait un schéma à taille réelle de notre robot afin de, non seulement, pouvoir le visualiser mais aussi des placer les composants ainsi que de décider
 +
de sa forme ainsi que des éléments "décoratif" pouvant faire office , par exemple, de contrepoids.
 +
Des projets similaire on été fait par le passé, nous avons donc décidé de regarder attentivement ce qu'il a été fait afin de ne pas faire les même erreurs et ainsi gagner un temps précieux.
 +
Après plusieurs recherches nous avons décidé d'uniquement nous consacrer sur la création du shield et non pas sur une carte complète pouvant faire office d'arduino et de shield, car sa création demande beaucoup trop de temps et de
 +
connaissance, que nous n'avons pas.
 +
[[Fichier:plan.jpg|150px|thumb|center|Le plan de notre robot]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">11/02/2019</div>=
 +
 
 +
Début de la découverte du logiciel Fritzing, afin de créer des modèles de breadboard et de schematics. Nous avons notamment confirmé le nombre de composant que nous allions utiliser pour notre projet, comme le nombre d'émetteur/récepteur ultrason final, les récepteurs infrarouge, etc...
 +
 
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">25/02/2019 au 07/03/2019</div>=
 +
 
 +
Continuation et finalisation de la conception du schematics pour pour notre carte Arduino uno liée au shield, ainsi que de la breadboard.  Mon acolyte et moi avons eu l'idée de placer sur notre
 +
shiel des leds de débogage afin de pouvoir vérifier si un courant passé bel et bien dans la carte. Nous avons continué la conception de notre shiel malgré quelques désagréments liés a notre manque
 +
de connaissance du logiciel.
 +
Après quelques séances passées sur la conception, la création de notre shield à été lancée et le codage commença.
 +
 
 +
[[Fichier:frit.jpg|150px|thumb|center|Fichier fritzing de notre shield]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">11/03/2019</div>=
 +
 
 +
Début de notre nouvel objectif: le codage.
 +
Le fonctionnement de notre robot est simple, des émetteurs et capteurs d'ultrasons seront placé sur notre robot afin qu'il puisse détecter les obstacles via le phénomène de réflexion du sons et ainsi permettant
 +
de calculer la distance entre notre robot et les différents obstacles.
 +
Après quelques essais nous avons pus faire fonctionner la détection des obstacles, chose à noter: les capteurs peuvent être très capricieux sur la détection d'ultrasons dans des endroit étroit ou avec un angle
 +
un peu trop grand par rapport à l’obstacle (mur pas exemple).
 +
 
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">14/03/2019 au 25/03/2019</div>=
 +
 
 +
Aujourd'hui nous devons nous attaquer au code sur les servomoteurs afin qu'ils puissent réagir en fonction des informations envoyées pas les capteur ultrasons, nous avons donné une marge de 5 cm entre le robot et l'obstacle
 +
avant la modification de la trajectoire, pour tout ça nous allons utiliser une bibliothèque proposé par Arduino: servo.h .
 +
Nous avons mis quelques temps avant de pour voir faire fonction les servomoteurs ainsi que les capteurs en même temps afin d'avoir le code pour la détection d'obstacle complet.
 +
 
 +
#include <Servo.h>
 +
Servo myservo;
 +
Servo myservo2;
 +
const unsigned long MEASURE_TIMEOUT = 25000UL;
 +
int TRIG1 = 7;
 +
int TRIG2 = 5;
 +
int ECHO1 = 6;
 +
int ECHO2 = 4;
 +
int IR1 = 2;
 +
int IR2 = 3;
 +
int distance1;
 +
int distance2;
 +
int val1 = 0;
 +
int val2 = 0;
 +
int val3 = 0;
 +
void setup()
 +
{
 +
  myservo.attach(10);
 +
  myservo2.attach(11);
 +
  pinMode(IR1, INPUT);
 +
  pinMode(IR2, INPUT);
 +
  pinMode(ECHO1, INPUT);
 +
  pinMode(ECHO2, INPUT);
 +
  pinMode(TRIG1, OUTPUT);
 +
  pinMode(TRIG2, OUTPUT); 
 +
  pinMode(A0,OUTPUT);
 +
  Serial.begin(9600);
 +
  digitalWrite(TRIG1, LOW);
 +
  digitalWrite(TRIG2, LOW);
 +
}
 +
  int mesure(int TRIG,int ECHO){
 +
  digitalWrite(TRIG, HIGH);
 +
  delayMicroseconds(100);
 +
  digitalWrite(TRIG, LOW);
 +
  long mesure = pulseIn(ECHO, HIGH, MEASURE_TIMEOUT);
 +
  if(mesure != 0)
 +
  {
 +
  return (mesure *0.034/2);
 +
  }
 +
}
 +
void loop() {
 +
  digitalWrite(A0,HIGH);
 +
  delay(200);
 +
  digitalWrite(A0,LOW);
 +
  distance1 = mesure(TRIG1,ECHO1);
 +
  distance2 = mesure(TRIG2,ECHO2);
 +
  if (distance1 > 20 && distance2 >20)
 +
  {
 +
    myservo.write(70);
 +
    myservo2.write(100);
 +
  }
 +
  else if(distance1 < 20 && distance2 > 20){
 +
    myservo.write(100);
 +
    myservo2.write(100);
 +
  }
 +
  else if(distance1 > 20 && distance2 < 20){
 +
    myservo.write(100);
 +
    myservo2.write(88);
 +
  }
 +
  else {
 +
    myservo.write(88);
 +
    myservo2.write(100);
 +
    delay(100);
 +
  }
 +
  delay(500);
 +
}
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">28/03/2019 au 1/04/2019 </div>=
 +
 
 +
Nous avons reçu le shield que nous avons créés via le logiciel Fritzing nous avons donc considéré qu'il était plus sage de se répartir les tâches, mon ami devait souder les différents composants sur le
 +
shield tandis que je continuais sur le code et en particulier les capteurs et émetteurs infrarouge.
 +
Après plusieurs recherche je trouva un moyen de recevoir les informations envoyées par les capteurs infrarouge mais la manipulation demandé pour l'installation de la bibliothèque requise ne m'était pas
 +
accessible alors je demanda à un professeur présent de nous l'installer. Pendant ce temps mon camarade finalisa les soudures de notre shield.
 +
 
 +
[[Fichier:shield2.jpg|150px|thumb|center|Le shield de notre robot]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">4/04/2019 au 06/05/2019 </div>=
 +
 
 +
Je continua de mon coté à tester les codes d'exemple fourni par le créateur de la bibliothèque mais sans grand succès je demanda alors ça et là conseil et aide afin de mener à bien cette partie mais
 +
sans grand résultats, excepté pour une aide très précieuse donnée par mon camarade du groupe Hunting-Viper, qui m’expliqua certains détails.
 +
Mon camarade, quand à lui commença la conception de notre châssis, il utilisa alors un logiciel nommé FreeCAD afin de pouvoir créer une représentation 3D et ainsi pouvoir l'imprimer ou le découper.
 +
Nous avons donc discuté de la façon dont nous allons créer notre châssis, avec quels matériaux et avec quelles couleurs?
 +
Nous avons donc décidé de l'imprimer étant donné que j'ai à ma disposition une imprimante 3D, mon camarade a donc finalisé sa conception avant de m'envoyer le fichier afin que je puisse l'imprimer.
 +
Ce fut chose faite.
 +
 
 +
[[Fichier:free.jpg|150px|thumb|center|Début de conception 3D]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">9/05/2019</div>=
 +
 
 +
Nous avons terminé l'impression de notre châssis, nous avons dû faire quelques finitions afin que tout les éléments puissent se mettre en place comme les capteurs ou les moteurs. J'ai continué de mon côté
 +
à chercher des indication sur le code pour les infrarouges mais, malgré plusieurs tentatives, rien de concluant, je décida alors de demander au professeur, lors de la prochaine séance, si il n'a pas d'autre capteurs
 +
afin de voir si les capteurs en ma possession sont différents ou défectueux.
 +
 
 +
[[Fichier:cha.jpg|150px|thumb|center|le châssis de notre robot]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">16/05/2019</div>=
 +
 
 +
Avant-dernière séance, nous avons décidé, mon camarade et moi, de mettre en place les composant de notre robot sur le châssis comme la carte arduino avec le shield, les capteur ultrason et infrarouge.
 +
De mon côté je demanda au professeur de nouveaux capteur IR et ceux que j'avais en ma possession étaient différent de ceux que je devais utiliser pour notre robot.
 +
J'ai également décidé d'imprimer de nouvelles roues plus grande pour notre robot, que nous allons entourer d'un élastique pour augmenter l’adhérence.
 +
 
 +
[[Fichier:face.jpg|150px|thumb|center|L'avant de notre robot]]
 +
[[Fichier:dessus.jpg|150px|thumb|center|Le dessus de notre robot]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 70%; background: white; vertical-align: top; width: 98%;">23/05/2019</div>=
 +
 
 +
Séance Finale. Nous avons fait quelques modifications de l'ordre du détail, comme coller les récepteur IR ou placer des caches sur ces même récepteur, afin de pouvoir faire l'enregistrement vidéos de la présentation et les tests de notre robot.
 +
Nous avons également ajouté un interrupteur afin de faciliter la mise en marche de notre robot, en plus de ajouter un petit détail sympathique.
 +
On avait, ultérieurement, décidé de créer des roues et des "support" afin de, respectivement rendre notre robot plus rapide et faire tenir la carte sur le châssis, mais à cause du manque de précision sur les mesure nous n'avons pas pus les mettre en place.
 +
 
 +
[[Fichier:sup.jpg|150px|thumb|center|Nos roues et support]]
 +
 
 +
Nous avons maintenant terminé notre robot, il roule et évite les obstacles, malheureusement nous n'avons pas pus mettre en place la détection d'infrarouge à cause des différents problèmes rencontré par rapport aux librairies pour les infrarouge et la compréhension des informations envoyé par les récepteur.
 +
 
 +
[[Fichier:fin1.jpg|150px|thumb|right|Notre robot final]] [[Fichier:vid.mp4|150px|thumb|center|Notre robot final]] [[Fichier:fin2.jpg|150px|thumb|left|Notre robot final]]

Version actuelle datée du 4 octobre 2019 à 16:47


Vidéo HD


Char romain


Objectifs

Tout commence par deux groupes ayant pour but commun la création d'un robot, l'un une proie et l'autre un prédateur, nous somme le groupe qui représente la proie: Ben-Hur. Nous avons choisi, comme forme pour notre robot, l'équivalent d'un char romain afin d'appuyer le fait que notre robot doit fuir à toute vitesse Nous allons donc consigner toute nos idées et nos avancées sur le projet sur ce journal, afin de pouvoir nous coordonner et créer notre robot au fur et a mesure via des objectifs simples.

Séances

31/01/19

Afin de pouvoir fuir face aux attaques du "Hunting Vipers" , Le projet "Ben-Hur" a été lancé pour pouvoir éviter ce prédateur. Pour l'instant, les composants utilisés sont en train de voir leurs dimensions prises, notées, afin de pouvoir créer avec précision un schéma du Ben-Hur dans les dimensions du modèle final. Un système de télécommande est prévu en plus du système automatique pour que le robot puisse se mouvoir seul ou télécommandé. Sont prévus :

  • 2 émetteurs-récepteurs ultrasons
Le capteur Ultrason
  • 2 à 3 émetteurs/récepteurs infrarouge
  • une arduino uno
La carte arduino pour notre robot
  • un shield


4/02/2019

Les premières idées fusent lors de cette séance, mon camarade ainsi que moi-même avons fait un schéma à taille réelle de notre robot afin de, non seulement, pouvoir le visualiser mais aussi des placer les composants ainsi que de décider de sa forme ainsi que des éléments "décoratif" pouvant faire office , par exemple, de contrepoids. Des projets similaire on été fait par le passé, nous avons donc décidé de regarder attentivement ce qu'il a été fait afin de ne pas faire les même erreurs et ainsi gagner un temps précieux. Après plusieurs recherches nous avons décidé d'uniquement nous consacrer sur la création du shield et non pas sur une carte complète pouvant faire office d'arduino et de shield, car sa création demande beaucoup trop de temps et de connaissance, que nous n'avons pas.

Le plan de notre robot

11/02/2019

Début de la découverte du logiciel Fritzing, afin de créer des modèles de breadboard et de schematics. Nous avons notamment confirmé le nombre de composant que nous allions utiliser pour notre projet, comme le nombre d'émetteur/récepteur ultrason final, les récepteurs infrarouge, etc...


25/02/2019 au 07/03/2019

Continuation et finalisation de la conception du schematics pour pour notre carte Arduino uno liée au shield, ainsi que de la breadboard. Mon acolyte et moi avons eu l'idée de placer sur notre shiel des leds de débogage afin de pouvoir vérifier si un courant passé bel et bien dans la carte. Nous avons continué la conception de notre shiel malgré quelques désagréments liés a notre manque de connaissance du logiciel. Après quelques séances passées sur la conception, la création de notre shield à été lancée et le codage commença.

Fichier fritzing de notre shield

11/03/2019

Début de notre nouvel objectif: le codage. Le fonctionnement de notre robot est simple, des émetteurs et capteurs d'ultrasons seront placé sur notre robot afin qu'il puisse détecter les obstacles via le phénomène de réflexion du sons et ainsi permettant de calculer la distance entre notre robot et les différents obstacles. Après quelques essais nous avons pus faire fonctionner la détection des obstacles, chose à noter: les capteurs peuvent être très capricieux sur la détection d'ultrasons dans des endroit étroit ou avec un angle un peu trop grand par rapport à l’obstacle (mur pas exemple).


14/03/2019 au 25/03/2019

Aujourd'hui nous devons nous attaquer au code sur les servomoteurs afin qu'ils puissent réagir en fonction des informations envoyées pas les capteur ultrasons, nous avons donné une marge de 5 cm entre le robot et l'obstacle avant la modification de la trajectoire, pour tout ça nous allons utiliser une bibliothèque proposé par Arduino: servo.h . Nous avons mis quelques temps avant de pour voir faire fonction les servomoteurs ainsi que les capteurs en même temps afin d'avoir le code pour la détection d'obstacle complet.

#include <Servo.h>
Servo myservo;
Servo myservo2;
const unsigned long MEASURE_TIMEOUT = 25000UL;
int TRIG1 = 7;
int TRIG2 = 5;
int ECHO1 = 6;
int ECHO2 = 4;
int IR1 = 2;
int IR2 = 3;
int distance1;
int distance2;
int val1 = 0;
int val2 = 0;
int val3 = 0;
void setup() 
{
 myservo.attach(10); 
 myservo2.attach(11); 
 pinMode(IR1, INPUT);
 pinMode(IR2, INPUT);
 pinMode(ECHO1, INPUT);
 pinMode(ECHO2, INPUT);
 pinMode(TRIG1, OUTPUT);
 pinMode(TRIG2, OUTPUT);  
 pinMode(A0,OUTPUT);
 Serial.begin(9600);
 digitalWrite(TRIG1, LOW);
 digitalWrite(TRIG2, LOW);
}
 int mesure(int TRIG,int ECHO){
 digitalWrite(TRIG, HIGH);
 delayMicroseconds(100);
 digitalWrite(TRIG, LOW);
 long mesure = pulseIn(ECHO, HIGH, MEASURE_TIMEOUT);
 if(mesure != 0)
 {
  return (mesure *0.034/2);
 }
}
void loop() {
 digitalWrite(A0,HIGH);
 delay(200);
 digitalWrite(A0,LOW);
 distance1 = mesure(TRIG1,ECHO1);
 distance2 = mesure(TRIG2,ECHO2);
 if (distance1 > 20 && distance2 >20)
 {
   myservo.write(70); 
   myservo2.write(100);
 }
 else if(distance1 < 20 && distance2 > 20){
   myservo.write(100); 
   myservo2.write(100);
 }
 else if(distance1 > 20 && distance2 < 20){
   myservo.write(100);
   myservo2.write(88);
 }
 else {
   myservo.write(88); 
   myservo2.write(100);
   delay(100);
 }
 delay(500);
}

28/03/2019 au 1/04/2019

Nous avons reçu le shield que nous avons créés via le logiciel Fritzing nous avons donc considéré qu'il était plus sage de se répartir les tâches, mon ami devait souder les différents composants sur le shield tandis que je continuais sur le code et en particulier les capteurs et émetteurs infrarouge. Après plusieurs recherche je trouva un moyen de recevoir les informations envoyées par les capteurs infrarouge mais la manipulation demandé pour l'installation de la bibliothèque requise ne m'était pas accessible alors je demanda à un professeur présent de nous l'installer. Pendant ce temps mon camarade finalisa les soudures de notre shield.

Le shield de notre robot

4/04/2019 au 06/05/2019

Je continua de mon coté à tester les codes d'exemple fourni par le créateur de la bibliothèque mais sans grand succès je demanda alors ça et là conseil et aide afin de mener à bien cette partie mais sans grand résultats, excepté pour une aide très précieuse donnée par mon camarade du groupe Hunting-Viper, qui m’expliqua certains détails. Mon camarade, quand à lui commença la conception de notre châssis, il utilisa alors un logiciel nommé FreeCAD afin de pouvoir créer une représentation 3D et ainsi pouvoir l'imprimer ou le découper. Nous avons donc discuté de la façon dont nous allons créer notre châssis, avec quels matériaux et avec quelles couleurs? Nous avons donc décidé de l'imprimer étant donné que j'ai à ma disposition une imprimante 3D, mon camarade a donc finalisé sa conception avant de m'envoyer le fichier afin que je puisse l'imprimer. Ce fut chose faite.

Début de conception 3D

9/05/2019

Nous avons terminé l'impression de notre châssis, nous avons dû faire quelques finitions afin que tout les éléments puissent se mettre en place comme les capteurs ou les moteurs. J'ai continué de mon côté à chercher des indication sur le code pour les infrarouges mais, malgré plusieurs tentatives, rien de concluant, je décida alors de demander au professeur, lors de la prochaine séance, si il n'a pas d'autre capteurs afin de voir si les capteurs en ma possession sont différents ou défectueux.

le châssis de notre robot

16/05/2019

Avant-dernière séance, nous avons décidé, mon camarade et moi, de mettre en place les composant de notre robot sur le châssis comme la carte arduino avec le shield, les capteur ultrason et infrarouge. De mon côté je demanda au professeur de nouveaux capteur IR et ceux que j'avais en ma possession étaient différent de ceux que je devais utiliser pour notre robot. J'ai également décidé d'imprimer de nouvelles roues plus grande pour notre robot, que nous allons entourer d'un élastique pour augmenter l’adhérence.

L'avant de notre robot
Le dessus de notre robot

23/05/2019

Séance Finale. Nous avons fait quelques modifications de l'ordre du détail, comme coller les récepteur IR ou placer des caches sur ces même récepteur, afin de pouvoir faire l'enregistrement vidéos de la présentation et les tests de notre robot. Nous avons également ajouté un interrupteur afin de faciliter la mise en marche de notre robot, en plus de ajouter un petit détail sympathique. On avait, ultérieurement, décidé de créer des roues et des "support" afin de, respectivement rendre notre robot plus rapide et faire tenir la carte sur le châssis, mais à cause du manque de précision sur les mesure nous n'avons pas pus les mettre en place.

Nos roues et support

Nous avons maintenant terminé notre robot, il roule et évite les obstacles, malheureusement nous n'avons pas pus mettre en place la détection d'infrarouge à cause des différents problèmes rencontré par rapport aux librairies pour les infrarouge et la compréhension des informations envoyé par les récepteur.

Notre robot final
Fichier:Vid.mp4
Notre robot final