<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://projets-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Egomezri</id>
		<title>Wiki de Projets IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://projets-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Egomezri"/>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Egomezri"/>
		<updated>2026-05-14T05:01:59Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57712</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57712"/>
				<updated>2018-05-16T11:13:38Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Feuille d'heures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les pattes ont trois parties, jointes par les servos. Avec trois servomoteurs par patte on peut avoir un mouvement complet des pattes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; SG90&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables 5 V&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D. Les fichiers avec l'estructure et les designs sont jointes précédement.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot. Il faut faire la formation de l'imprimante 3D au Fabricarium pour l'utiliser.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Wifly&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:Programme_Arduino.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Avec la configuration précédente, on peut obtenir la puissance du wifi, mais l'Arduino doit être connecté à l'ordinateur, puisque cela se fait via le moniteur de la série Arduino. Pour se connecter à l'Arduino sans un fils, on doit ouvrir a socket qui permet d'envoyer et recevoir des donnés via TCP. On écrira:&lt;br /&gt;
&lt;br /&gt;
*set ip proto 0x2 --&amp;gt; pour utiliser TCP&lt;br /&gt;
*set ip host 192.168.43.103 --&amp;gt; On ajoute l’IP donné à l’Arduino&lt;br /&gt;
*set ip remote 2000 --&amp;gt; on precise le port&lt;br /&gt;
*open 192.168.43.103 2000 --&amp;gt; ouvrir la connexion &lt;br /&gt;
Le logiciel répondra OPEN si le socket est bien ouvert.&lt;br /&gt;
&lt;br /&gt;
Maintenant on peut utiliser le logiciel Tera Term pour se connecter à l'Arduino et lui demander la puissance du Wifi. Pour faire la connection telnet on doit écrire la IP de l'Arduino et le port de communication (dans notre cas, le port 2000).&lt;br /&gt;
Avec la commande show rssi on obtiendra la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;br /&gt;
Rapport: [[Fichier: Rapport_ima4.pdf]]&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57711</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57711"/>
				<updated>2018-05-16T11:12:03Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Réalisation du Projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les pattes ont trois parties, jointes par les servos. Avec trois servomoteurs par patte on peut avoir un mouvement complet des pattes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; SG90&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables 5 V&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D. Les fichiers avec l'estructure et les designs sont jointes précédement.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot. Il faut faire la formation de l'imprimante 3D au Fabricarium pour l'utiliser.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wifly&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 15&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:Programme_Arduino.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Avec la configuration précédente, on peut obtenir la puissance du wifi, mais l'Arduino doit être connecté à l'ordinateur, puisque cela se fait via le moniteur de la série Arduino. Pour se connecter à l'Arduino sans un fils, on doit ouvrir a socket qui permet d'envoyer et recevoir des donnés via TCP. On écrira:&lt;br /&gt;
&lt;br /&gt;
*set ip proto 0x2 --&amp;gt; pour utiliser TCP&lt;br /&gt;
*set ip host 192.168.43.103 --&amp;gt; On ajoute l’IP donné à l’Arduino&lt;br /&gt;
*set ip remote 2000 --&amp;gt; on precise le port&lt;br /&gt;
*open 192.168.43.103 2000 --&amp;gt; ouvrir la connexion &lt;br /&gt;
Le logiciel répondra OPEN si le socket est bien ouvert.&lt;br /&gt;
&lt;br /&gt;
Maintenant on peut utiliser le logiciel Tera Term pour se connecter à l'Arduino et lui demander la puissance du Wifi. Pour faire la connection telnet on doit écrire la IP de l'Arduino et le port de communication (dans notre cas, le port 2000).&lt;br /&gt;
Avec la commande show rssi on obtiendra la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;br /&gt;
Rapport: [[Fichier: Rapport_ima4.pdf]]&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57708</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57708"/>
				<updated>2018-05-16T11:10:41Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Préparation du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les pattes ont trois parties, jointes par les servos. Avec trois servomoteurs par patte on peut avoir un mouvement complet des pattes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; SG90&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables 5 V&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D. Les fichiers avec l'estructure et les designs sont jointes précédement.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot. Il faut faire la formation de l'imprimante 3D au Fabricarium pour l'utiliser.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:Programme_Arduino.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Avec la configuration précédente, on peut obtenir la puissance du wifi, mais l'Arduino doit être connecté à l'ordinateur, puisque cela se fait via le moniteur de la série Arduino. Pour se connecter à l'Arduino sans un fils, on doit ouvrir a socket qui permet d'envoyer et recevoir des donnés via TCP. On écrira:&lt;br /&gt;
&lt;br /&gt;
*set ip proto 0x2 --&amp;gt; pour utiliser TCP&lt;br /&gt;
*set ip host 192.168.43.103 --&amp;gt; On ajoute l’IP donné à l’Arduino&lt;br /&gt;
*set ip remote 2000 --&amp;gt; on precise le port&lt;br /&gt;
*open 192.168.43.103 2000 --&amp;gt; ouvrir la connexion &lt;br /&gt;
Le logiciel répondra OPEN si le socket est bien ouvert.&lt;br /&gt;
&lt;br /&gt;
Maintenant on peut utiliser le logiciel Tera Term pour se connecter à l'Arduino et lui demander la puissance du Wifi. Pour faire la connection telnet on doit écrire la IP de l'Arduino et le port de communication (dans notre cas, le port 2000).&lt;br /&gt;
Avec la commande show rssi on obtiendra la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;br /&gt;
Rapport: [[Fichier: Rapport_ima4.pdf]]&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57702</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57702"/>
				<updated>2018-05-16T10:23:59Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Mesure de la puissance Wifi et localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:Programme_Arduino.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Avec la configuration précédente, on peut obtenir la puissance du wifi, mais l'Arduino doit être connecté à l'ordinateur, puisque cela se fait via le moniteur de la série Arduino. Pour se connecter à l'Arduino sans un fils, on doit ouvrir a socket qui permet d'envoyer et recevoir des donnés via TCP. On écrira:&lt;br /&gt;
&lt;br /&gt;
*set ip proto 0x2 --&amp;gt; pour utiliser TCP&lt;br /&gt;
*set ip host 192.168.43.103 --&amp;gt; On ajoute l’IP donné à l’Arduino&lt;br /&gt;
*set ip remote 2000 --&amp;gt; on precise le port&lt;br /&gt;
*open 192.168.43.103 2000 --&amp;gt; ouvrir la connexion &lt;br /&gt;
Le logiciel répondra OPEN si le socket est bien ouvert.&lt;br /&gt;
&lt;br /&gt;
Maintenant on peut utiliser le logiciel Tera Term pour se connecter à l'Arduino et lui demander la puissance du Wifi. Pour faire la connection telnet on doit écrire la IP de l'Arduino et le port de communication (dans notre cas, le port 2000).&lt;br /&gt;
Avec la commande show rssi on obtiendra la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;br /&gt;
Rapport: [[Fichier: Rapport_ima4.pdf]]&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57701</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57701"/>
				<updated>2018-05-16T10:17:52Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Programme Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:Programme_Arduino.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;br /&gt;
Rapport: [[Fichier: Rapport_ima4.pdf]]&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Programme_Arduino.zip&amp;diff=57700</id>
		<title>Fichier:Programme Arduino.zip</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Programme_Arduino.zip&amp;diff=57700"/>
				<updated>2018-05-16T10:17:15Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57412</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57412"/>
				<updated>2018-05-15T21:13:11Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Documents Rendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;br /&gt;
Rapport: [[Fichier: Rapport_ima4.pdf]]&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Rapport_ima4.pdf&amp;diff=57410</id>
		<title>Fichier:Rapport ima4.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Rapport_ima4.pdf&amp;diff=57410"/>
				<updated>2018-05-15T21:12:18Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57094</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=57094"/>
				<updated>2018-05-15T10:33:58Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Mesure de la puissance Wifi et localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici: [[Fichier:Wifly_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56996</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56996"/>
				<updated>2018-05-14T21:26:26Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Choix techniques : matériel et logiciel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive/Colle forte&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56873</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56873"/>
				<updated>2018-05-14T15:08:56Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Construction d'une patte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs SG90, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56871</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56871"/>
				<updated>2018-05-14T15:07:12Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Feuille d'heures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56869</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56869"/>
				<updated>2018-05-14T15:06:17Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Calendrier prévisionnel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56868</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56868"/>
				<updated>2018-05-14T15:06:04Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Cahier des charges */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56867</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56867"/>
				<updated>2018-05-14T15:05:55Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Présentation générale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56866</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56866"/>
				<updated>2018-05-14T15:05:45Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Analyse du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56855</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56855"/>
				<updated>2018-05-14T14:52:32Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Mesure de la puissance Wifi et localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
*Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
*set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
*set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
*set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
*set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
*set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
*set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
*save&lt;br /&gt;
*reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56526</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56526"/>
				<updated>2018-05-13T18:48:07Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Mesure de la puissance Wifi et localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
save&lt;br /&gt;
reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici: [[Fichier:Wifly_configuracion.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour obtenir la puissance du wifi, on doit écrire show rssi et il donnera la valeur de la puissance en dB.&lt;br /&gt;
&lt;br /&gt;
Pour faire la localisation, on doit mesurer dans un prémier temps la puissance du Wifi dans différents lieus, donc si on mesure la puissance après, en comparaison avec les autres valeurs on peut savoir où est-ce que le robot se trouve.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Wifly_configuracion.pdf&amp;diff=56525</id>
		<title>Fichier:Wifly configuracion.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Wifly_configuracion.pdf&amp;diff=56525"/>
				<updated>2018-05-13T18:44:30Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56524</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56524"/>
				<updated>2018-05-13T18:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Mesure de la puissance Wifi et localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly: [[Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip]]&lt;br /&gt;
&lt;br /&gt;
On doit ouvrir l'exemple SpiUart Terminal, et avec le monitor serie d'Arduino on va le configurer. Le shield a deux modes: data mode et command mode. Pour changer à command mode on doit écrire $$$, et on aura la réponse CMD. Maintenant on peut configurer le Wifly. Les commandes qu'on doit écrire sont:&lt;br /&gt;
&lt;br /&gt;
Set wlan join 1 --&amp;gt; se connecter au réseu avec le ssid déterminé&lt;br /&gt;
set wlan chan 0 --&amp;gt; il cherche toutes les canaux&lt;br /&gt;
set wlan ssid AquarisV --&amp;gt; se connecter au Wifi de mon portable&lt;br /&gt;
set wlan phrase _____ --&amp;gt; mot de passe &lt;br /&gt;
set ip address 169.254.1.1 --&amp;gt; direction IP du module&lt;br /&gt;
set ip netmask 255.255.0.0 --&amp;gt; mask du module&lt;br /&gt;
set ip dhcp 0 --&amp;gt; IP statique&lt;br /&gt;
save&lt;br /&gt;
reboot &lt;br /&gt;
&lt;br /&gt;
On peut trouver toutes les commandes du Wifly et ses descriptions ici:&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip&amp;diff=56523</id>
		<title>Fichier:SparkFun WiFly Shield Arduino Library-master.zip</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SparkFun_WiFly_Shield_Arduino_Library-master.zip&amp;diff=56523"/>
				<updated>2018-05-13T18:30:41Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56522</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56522"/>
				<updated>2018-05-13T18:30:07Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Mesure de la puissance Wifi et localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:[[[Fichier:Wifly_datasheet.pdf]]]&lt;br /&gt;
&lt;br /&gt;
Dans un prémier temps, on doit configurer le Wifly. On va utiliser la librerie Sparkfun d'Arduino pour accéder au Wifly:&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Wifly_datasheet.pdf&amp;diff=56521</id>
		<title>Fichier:Wifly datasheet.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Wifly_datasheet.pdf&amp;diff=56521"/>
				<updated>2018-05-13T18:27:12Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56520</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56520"/>
				<updated>2018-05-13T18:25:55Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Réalisation du Projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mesure de la puissance Wifi et localisation==&lt;br /&gt;
&lt;br /&gt;
On va utiliser le Wifly shield pour se connecter à une réseau Wifi et pouvoir mesurer sa puissance. On peut trouver la datasheet ici:&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56519</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56519"/>
				<updated>2018-05-13T18:23:54Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Capteur de proximité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
Fialement, on a d = t / 59 pour avoir la distance en cm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56518</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56518"/>
				<updated>2018-05-13T18:20:51Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Construction d'une patte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
J'ai amelioré aussi le design d'une patte dans le projet Mécanique. On a la description du projet dans la page du fabricarium: [http://fabricarium.polytech-lille.fr/#!/projects/patte-d-un-robot-araignee]&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56517</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=56517"/>
				<updated>2018-05-13T18:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Analyse du servomoteurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
On peut trouver la datasheet du servomoteurs ici: [[Fichier:Sg90_datasheet.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Sg90_datasheet.pdf&amp;diff=56516</id>
		<title>Fichier:Sg90 datasheet.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Sg90_datasheet.pdf&amp;diff=56516"/>
				<updated>2018-05-13T18:17:12Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54940</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54940"/>
				<updated>2018-04-18T12:48:23Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Feuille d'heures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54938</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54938"/>
				<updated>2018-04-18T12:47:11Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Feuille d'heures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54937</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54937"/>
				<updated>2018-04-18T12:46:53Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Feuille d'heures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=54936</id>
		<title>Discussion:Projets IMA4 SC &amp; SA 2017/2018</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=54936"/>
				<updated>2018-04-18T12:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Fiche de présence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Notes sur les projets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Projet || Analyse du projet || Retour sur l'analyse || Matériel || Mi-parcours || Fin de parcours || Wiki terminé || Rapport || Vidéo&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation sans supports, bonne analyse de la concurrence. Par contre le scénario d'usage est à revoir en précisant l'usage pour le particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le scénario est précisé mais aucune réponse aux questions difficiles &amp;quot;gestion des températures et procédure d'entretien&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Si le contenu du Wiki reflète la quantité de travail fourni, c'est inquiétant.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Peu de matière, pas de justification des choix, aucune réalisation concréte présentée. Sauf effort très important de dernière minute, un projet qui n'aboutira pas.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Inutile en l'état actuel du projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation focalisée sur les réseaux de neurones. Exercice mal compris (pas d'introduction du contexte, pas de scénario d'usage).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Toujours pas d'analyse de la concurrence, ni de scénario d'usage. Pas de réponse aux questions difficiles &amp;quot;quel est le matériel ? quel est le protocole ? quelles sont les entrées du réseau de neurones ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste mais il manque des références vers les fournisseurs agréés (voir page de l'an dernier).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Illustrez votre Wiki avec des schémas ou des photos de votre montage. Décrivez mieux votre plateforme de test et les résultats obtenus. Essayez de corriger les problèmes de français.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Wiki trop peu alimenté pour cette phase du projet, aucune illustration, impossible de se faire une idée de l'avancée du projet avec le Wiki. Coquilles non prises en compte.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration avec le dispositif décrit en fin de Wiki peut être envisagée.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Architecture de la source d'énergie (nombre de chemins d'énergie ?)&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Vous devriez avoir quelques éléments sur la réalisation. Complétez votre Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Un Wiki illustré mais avec du copier/coller des manuels de référence sans grand intérêt. Toujours pas de circuit testé en fin de projet. Un très important effort final est toujours possible.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;A priori inutile sauf si une version fonctionnelle de la carte était obtenue.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Présentation focalisée sur la création du site Web. Effort fait pour rédiger un scénario d'usage.&amp;lt;/font&amp;gt; &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Réponses aux questions mais l'analyse de la consommation est imprécise. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé dans la page Wiki mais à reporter en bas de la page des projets de cette année avec des références valides.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un effort de documentation mais illustrez par des schémas, des pages de l'application et des tests.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un Wiki correct mais sans plus, des problèmes de format, des illustrations mal incluses, des vidéos youtube. Cela dit le Wiki peut devenir tout à fait correct avec un peu de temps et de soin.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de doute sur le travail effectué, une vidéo de démonstration est possible et requise.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé. Scénario d'usage à préciser sur la partie réseau de capteurs.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Scénario d'usage non précisé. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence, êtes-vous sur que le matériel n'a pas besoin d'être acheté ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. N'hésitez pas à solliciter votre encadrant direct en cas de blocage !&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Prenez un peu de temps pour corriger les coquilles assez fréquentes. Wiki légérement décalé par rapport au travail effectué.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Aucun doute sur le travail effectué mais il n'est pas sur que le sujet se prête à une vidéo. A discuter avec les encadrants.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Pas de support. Exercice très bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de réponse aux questions difficiles &amp;quot;quelle alimentation ? comment faire pour différencier les briques ? comment les briques vont-elles communiquer ? quelle sécurité vis-à-vis des enfants ?&amp;quot;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Faites un effort de formatage du texte (par exemple en utilisant des sous-titres plutôt que de souligner des lignes).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail progresse mais le Wiki est décalé.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une démonstration est requise, faites en sorte que les prototypes soient au rendez-vous.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Rien à signaler (juste une confusion entre le MSP430 et le CC430).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Questions difficiles évacuées. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Un Wiki correct permettant de suivre l'avancé du projet. Le rapport devra être plus précis.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Aucun doute sur la qualité du travail, le sujet ne se prête pas à une démonstration sauf si des processus visuels peuvent être chargés sur RIOT pour CC430.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un peu rapide, exercice réalisé. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas d'analyse de la concurrence. Peu d'effort de rédaction. Des coquilles. Une réponse rapide à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais pas forcément exhaustif et sans référence valide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Wiki agréable à lire.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Merci de corriger les coquilles trop nombreuses en fin de Wiki. Les derniers travaux sont décrits trop succinctement.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise. Un grand effort va devoir être fourni pour obtenir un prototype fonctionnel.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Page Wiki vide, pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Essayez de mieux formater votre texte pour une meilleure facilité de lecture.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Travail correctement décrit mais une tendance à s'arrêter à chaque obstacle, qu'en est-il de l'utilisation de &amp;lt;code&amp;gt;v4l2loopback&amp;lt;/code&amp;gt; ?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise. Faites en sorte d'obtenir un prototype fonctionnel.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Pas d'analyse de la concurrence, pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;L'analyse de la concurrence et le scénario d'usage ont été ajoutés. Par contre pas de réponse aux questions difficiles &amp;quot;quelle sera l'autonomie de la balle et quel sera le système de rechargement ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet au 18/02/2018&amp;lt;/font&amp;gt;. &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Wiki mis à jour en catastrophe le 19/02/2018. Peu d'informations, seul le routage d'une carte semble avoir été entrepris.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune mise à jour du Wiki depuis la dernière remarque ci-dessus. L'avancée du travail ne peut pas être évaluée.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise. Un prototype sera-t-il disponible ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Trouver des concurrents indirects. Une histoire mais pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page Wiki modifiée après la présentation. Une réponse incomplète à la question difficile. Trop de coquilles pour ce niveau d'études.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Cinq séances pour faire chauffer une résistance, n'est-ce pas trop ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Rien à dire sur la forme, le Wiki est toujours bien tenu et permet de se faire une bonne idée de l'avancée du projet. Par contre le travail effectué sur les dernières semaine est très léger.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;De gros doute sur la possibilité d'avoir un dispositif convaincant à montrer en fin de projet. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune modification de la page Wiki depuis début octobre.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Projet encore dans la phase de prototypage. Comment vous comptez recevoir une carte SIM ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki non mis à jour. Le code (IDE Arduino) est inclus in extenso dans le Wiki. Toujours pas d'intégration des composants.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;De gros doute sur la possibilité d'avoir un dispositif convaincant à montrer en fin de projet. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Supports très textuels, pas de scénario d'usage mais une rédaction sur l'intérêt psychologique, pas vraiment de partie &amp;quot;concurrents&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un effort pour trouver des &amp;quot;concurrents&amp;quot;, pas de réponses aux questions difficiles &amp;quot;combien de LEDs ? quelle alimentation pour quelle autonomie&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail est a peu près décrit mais la page Wiki ressemble a un brouillon.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Beaucoup d'aide pour améliorer le Wiki mais pas d'effort pour le maintenir par la suite : pas de description du mandala décoré. Rien non plus sur la programmation des animations.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise, il faut finaliser le projet, concernant le matériel c'est correctement engagé mais il faut un gros effort sur la programmation.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Bonne présentation orale. Utilisation du bluetooth peu convainquant. Pas de scénario d'usage. Un &amp;quot;concurrent&amp;quot; trouvé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Concept de scénario d'usage non compris. Une réponse à la question difficile très rapide et non convaincante.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste de matériel dans la page Wiki mais à insérer dans le tableau en bas de la page principale. Pas de référence (voir sur la page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail avec le prototype pilote de LEDs est très bien décrit et de façon agréable à lire. Par contre le schéma du futur circuit est très mal engagé. Il faut commencer par faire un schéma plus précis du collier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;La discussion sur la conception du circuit est difficile à comprendre, d'où sortent les intensités de 0,6A et de 1,2A ? Mettre une photo d'écran pour le PCB est une hérésie sachant qu'il est possible d'exporter une image directement de Fritzing. Sans un très important travail final, il sera impossible de mener le projet à bien.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Une démonstration est requise, il faut finaliser le projet un très gros effort est nécessaire malgré l'aide déjà apporté.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Support assez corrects, sujet non entièrement compris, scénario d'usage minimal.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un problème dans le scénario d'usage : les conteneurs doivent être lancés sur un serveur. Une réponse acceptable à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Aucun travail ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le Wiki a été utilisé mais montre un manque de travail flagrant. Un élève ne participe pas au projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Sauf miracle aucune démonstration ne sera possible.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu du travail très lapidaire et parfois illisible à cause des coquilles. Le Wiki ne donne pas l'impression que le projet avance.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Il est clair que le Wiki est alimenté mais un manque de rigueur dans la syntaxe mediawiki et de trop nombreuses coquilles ne permettent pas une lecture facile. Avec un peu de soin vous pourriez avoir un excellent Wiki. Le travail décrit est foisonnant, essayez de synthétiser, en particulier il serait intéressant de savoir dans quel état sont les différents travaux entrepris.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une démonstration est requise.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation trop impécise, pas vraiment de scénario d'usage. Par contre des concurrents ont été présentés.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un scénario d'usage éloigné de la future utilisation. Trop de coquilles dans ce scénario. Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste du matériel mais pas dans la page principale. Pas de référence (voir page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu non à jour au 18/02/2018 alors que la feuille d'heures est à jour. Le Wiki manque d'illustration, par exemple donnez le schéma du circuit.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Des informations sur la carte en gestation&amp;lt;/font&amp;gt;.&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Wiki non mis à jour. Toujours entrain de travailler sur la clef XBee.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Une démonstration est requise. Un très grand effort semble nécessaire pour avoir quelque chose à présenter sur la table.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte. Un concurrent assez peu en rapport avec les essaims de robots mais dans la ligne des dispositifs de déminage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Liste du matériel. Préciser pour le chassis.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Impossible de connaître l'avancé du projet à la lecture du Wiki. N'êtes-vous pas entrain de vous perdre dans vos problèmes avec FreeRTOS ?&amp;lt;/font&amp;gt; &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;De quelle résistance devant le récepteur IR parlez-vous ? Il n'y en a pas sur le PCB. Votre Wiki se concentre ces dernières semaines sur la modélisation du chassis alors que le travail sur la programmation de l'ATMega328p n'y figure pas. C'est dommage sachant qu'il s'agit du travail le plus valorisant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une démonstation est requise. Arriverez-vous à souder et programmer une carte à temps ? Votre chassis complexe sera-t-il aussi fonctionnel qu'un chassis très simple à base de 2 plaques et d'entretoises ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Objectif mal expliqué. Exercice réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Mieux définir l'objectif suite à la visite en entreprise. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Votre Wiki manque d'illustrations sur un sujet qui le permet.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki non à jour. Ce qui est disponible donne l'impression d'un papillonnage de tutorial en tutorial. Vous abandonnez la banana PI D1 en début de projet pour vous concentrer sur de la reconnaissance d'image que vous ne semblez pas avoir conduit à bien puisque vous parlez de l'abandonner. Vous passez de C++ à python sans raison convaincante. Vous développez un serveur Web sous &amp;lt;code&amp;gt;flask&amp;lt;/code&amp;gt; que vous cachez derrière un proxy inverse &amp;lt;code&amp;gt;ngnix&amp;lt;/code&amp;gt;. Vous parlez de stratégie en semaine 9 ce qui bien tardif. Votre projet semble embourbé.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Malheureusement il ne semble pas qu'il y aura quoi que ce soit à montrer. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Excellente présentation et excellent travail préparatoire, Scénario d'usage à préciser, trouver des concurrents.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Attention quand vous dites qu'un ATMega328p n'a pas assez de sorties pour commander 8 oscillateurs, il dispose tout de même de plus de 20 E/S.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Wiki toujours excellent. Votre exploration du monde de l'électronique analogique est passionnant à lire du moins pour un profane en la matière. Juste des notes pour les deux dernières semaines mais c'est mieux que rien et vous avez raison de vous concentrer sur la réalisation.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. En espérant que la sculpture soit totalement opérationnelle.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice réussi. Cependant précisez les acteurs dans le scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de modification du scénario. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Rien à redire sur la liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Description du travail correct, des illustrations. Essayez de formater avec la syntaxe Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Wiki très correct sur la forme. Pas tout à fait à jour.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Démonstration requise. Du travail nécessaire pour avoir un prototype pour la démonstration.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponses aux questions difficiles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail effectué est décrit. Un nombre de coquilles non acceptable, la lecture en devient difficile. Utilisez la syntaxe de formatage du Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Corrigez vos erreurs de grammaire et d'orthographe ! Utilisez correctement la syntaxe mediawiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. Même un résultat négatif, du style la plante est muette, est intéressant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Sujet se prêtant peu à l'exercice mais très bonne présentation. Sujet travaillé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas vraiment de question, la suggestion est noté dans la page Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Description du travail un peu rapide (DNS leak quesako ?). Rédaction en cours au moment de la lecture du Wiki.&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Effort de rédaction entre le 18/02/2018 et le 19/02/2018. Il manque des sections mais le travail effectué devient lisible.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bon Wiki. Des améliorations possibles comme la correction des coquilles et compléter la partie état de l'art.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Aucun doute sur la qualité et la quantité de travail comme le montre l'&amp;quot;état de l'art&amp;quot; du Wiki. Ce sujet se prête peu à une vidéo. Il est cependant possible d'envisager une courte vidéo avec la confrontation de deux navigations Web, une classique, l'autre en passant par Tor. Le coté délicat est de trouver des démonstrations visuelles de la confidentialité apportée par Tor.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Comment démarrer l'imprimante à distance ? Comment sera calibrée la plaque d’impression ?&lt;br /&gt;
Comment la plaque va se fixer sur le sol ? &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Il est possible de mettre une copie d'écran de l'application de plus. Pas la peine de vous tirer dans les pattes.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Respectez la syntaxe mediawiki. Voir les corrections. Ajoutez une photo de l'imprimante dans l'état actuel. Très bon Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. Aucun doute sur le fait que le dispositif fonctionnera parfaitement de bout en bout.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le projet ne semble pas encore avoir été sérieusement étudié.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Net effort de documentation de la page Wiki. Pas de réponse directe à la question difficile sur la Kinect mais une discussion sur le problème posé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description du travail. Des illustrations mais il pourrait y avoir des photos du système robotino / kinect.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Depuis février le projet piétine. Votre feuille d'heure de février en témoigne : les banques d'images des MPS n'ont pas pu être constituées (pas de raison donnée pour cet échec), de plus 13h pour acquérir des images d'une caméra même stéréoscopique est exagéré. Il vous a fallu tout le mois de mars pour résoudre ces problèmes et encore votre discussion sur la reconnaissance des MPS est peu pertinente comme expliqué en séance. Toujours rien sur l'implantation du dispositif de reconnaissance sur le système embarqué.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Il semble peu probable qu'une démonstration puisse avoir lieu. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Contexte mal présenté, sujet flou. Scénario d'usage à préciser. Pas de contact avec les encadrants avant la présentation.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page de Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Compte-rendu rapide du travail. Ce compte-rendu est inquiétant. Il ne semble y avoir aucun résultat depuis le début du projet. Un module a été abandonné sans que le module en question n'ait été décrit ou que la raison de l'abandon ait été précisé. Attention votre projet est en voie d'échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki court. Le seul travail décrit est l'écriture d'un script shell. Une seule ligne sur la création d'un conteneur.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune démonstration envisageable.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page de Wiki assez vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Le robot centaure est en plus mauvais état maintenant qu'au début du projet. Vous semblez avoir une nouvelle fois abandonné votre projet.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Des ajouts mineurs au Wiki le 19/02/2018.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Du travail réalisé avec un certain succès durant le mois de mars. A nouveau abandon du projet en avril.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Il ne semble pas raisonnable d'espérer une démonstration.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Présentation très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse à la question difficile. Page Wiki un peu vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un Wiki incomplet alors que la feuille d'heures est actualisée. Vous semblez toujours bloqués sur les problèmes d'étalonnage !&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki très peu alimenté. Présentation du contrôle avec simulink.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration requise. Pour l'instant seul le contrôle par simulink est disponible. Ce n'est pas suffisant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Wiki avec quelques informations sur le travail accompli depuis fin novembre : étude sur modbus et labview. Quelques coquilles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Très peu d'illustrations. Texte mal formaté et avec des coquilles intolérable à ce niveau d'étude. Le compte-rendu donne l'impression d'une méthode de travail très brouillonne.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Wiki insuffisant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Projet terminé, pas de vidéo.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation sans support. Trouver des concurrents indirects. Pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune avancée, il est désormais impossible d'avoir un prototype en fin de projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki bien tenue. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Quelques éléments sur le matériel dans la page Wiki mais aucune liste avec références.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Presque à jour. Vous n'aviez pas des cartes à faire fabriquer à l'extérieur ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Rédaction rapide sur les dernières semaine. Une expérimentation est nécessaire à ce stage du projet. Elle est attendue avec impatience.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. Débrouillez-vous pour avoir quelque chose de percutant à montrer !&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki très complète. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une liste probablement pas exhaustive.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Exceptionnel !&amp;lt;/b&amp;gt; Très illustré, bien rédigé, le travail de recherche est très bien décrit. Je ne suis pas un fan de la mise en gras d'un quart du texte et la syntaxe Wiki n'est pas vraiment utilisée mais c'est du détail?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Il faudra encore relire le Wiki pour corriger les coquilles des nouveaux paragraphes. Les images et les vidéos sont aussi à ajouter. Il n'en reste pas moins que le Wiki et impressionnant et sera exceptionnel une fois totalement rédigé et corrigé.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration absolument requise. Il y aura forcément quelque chose à montrer !&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Toujours rien sur l'avancé du projet. Projet en échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Vidéo non adaptée au sujet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 Pré-projet 1|Robot hexapode pour escalier]]&lt;br /&gt;
| Erasmus &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Projet en échec constaté.&amp;lt;/font&amp;gt;&lt;br /&gt;
| A voir avec l'encadrant direct.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| A voir avec l'encadrant direct.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fiche de présence ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves !! Séance 1 (17/01) !! Séance 2 (24/01) !! Séance 3 (31/01) !! Séance 4 (7/02) !! Séance 5 (14/02) !! Séance 6 (21/02) !! Séance 7 (7/03) !! Séance 8 (14/03) !! Séance 9 (21/03) !! Séance 10 (28/03) !! Séance 11 (4/04) !! Séance 12 (11/04) !! Séance 13 (18/04)&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
|Quentin Boëns / Henri Carlier&lt;br /&gt;
|E304 &lt;br /&gt;
|E304/305&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E304&lt;br /&gt;
|E304/Fab&lt;br /&gt;
|Fab/A313&lt;br /&gt;
|C205  Départ 17h (entretien stage)&lt;br /&gt;
|C205&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
|Ji Yang&lt;br /&gt;
|E306&lt;br /&gt;
|E303&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E306&lt;br /&gt;
|E306&lt;br /&gt;
|E306&lt;br /&gt;
|C201&lt;br /&gt;
|E304&lt;br /&gt;
|E306&lt;br /&gt;
|E306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| Alexis Viscogliosi / Abass Ayoub &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|E304 &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Alexis Viscogliosi Absent excusé pour entretien stage&amp;lt;/font&amp;gt;&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| Paul Ribeiro / Mehanna Naïf&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E301 puis B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|C201 puis E304&lt;br /&gt;
|C201 et E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E303&lt;br /&gt;
|C201&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
| Antoine Gossehdelatte&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| Maëva Delaporte / Simon Blas&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| C201/E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| Baptiste Cartier&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| Amine El Messaoudi / Simon Feutrier&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| B207&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| E305 - C202&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Jade Dupont&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|Absence Maladie&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|Absente entretien stage&lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| Thomas Cunin / Thibault Cattelain&lt;br /&gt;
| E304&lt;br /&gt;
| B306/E304&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E304 - A305)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E304/C200&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| Rémi Mairesse / Gustave Roux&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304 / C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|E302&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| Lirui Zhang / Lihe Zhang&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E302&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E302&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| Lijie Yao / Keren Qiang&lt;br /&gt;
| E303&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| Maxime Creteur / Gao Fan&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E303&lt;br /&gt;
|B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|E304&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|E303 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Gao Fan absent &amp;lt;/font&amp;gt;&lt;br /&gt;
|E304&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| Amaury Knockaert / Fabrice Taingland&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304/E302&lt;br /&gt;
| C203/E306&lt;br /&gt;
| E306/E304&lt;br /&gt;
| Forum stages euratech/E304&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
| E304 / C205&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| Matthieu Delobelle&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E303 - C201&lt;br /&gt;
| E306 - C201&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201-E302&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| Benjamin Canu / Ganix Etcheguibel&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| Forum Euratech jusqu'à 17h &amp;lt;br/&amp;gt; E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 / Fab&lt;br /&gt;
| E306 / Fab&lt;br /&gt;
| E306 / C202&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| Taky Djeraba / Thomas Hubert&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| Jean-Baptiste Watine / Antoine Untereiner&lt;br /&gt;
| E306/C201&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (C201) &amp;lt;/font&amp;gt;&lt;br /&gt;
| C205&lt;br /&gt;
| C205/E301&lt;br /&gt;
| C205/E301&lt;br /&gt;
| E301&lt;br /&gt;
| C205&lt;br /&gt;
| C205/C201&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| Transley Gracias / Camille Saad&lt;br /&gt;
| E306 &lt;br /&gt;
| E306 &lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306/C202&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306/C202&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| Xavier Chenot / Rodolphe Toin&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 puis C201&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| Antoine Duquenoy / Anthony Durot&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
| E305&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| Eloi Zalczer / Justine Senellart&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|Hors Polytech/E302&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|Entretien/E302&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| Damien Narbais / Zoé Briois&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E301)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| C205&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| A317&lt;br /&gt;
| E304&lt;br /&gt;
| E30X&lt;br /&gt;
| C205 + Damien -&amp;gt; entretien stage&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| Hugo Delbroucq / Nicolas Havard &lt;br /&gt;
| E301&lt;br /&gt;
| INRIA&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt; (INRIA)&lt;br /&gt;
| E301&lt;br /&gt;
| E301 puis E304&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| INRIA&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| Claire Vandamme / Alexandra Villa &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Hors Polytech/B106&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Bureau de Mr Pekpe/E306&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C008(Claire : jusque 16h, RDV médical)&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|- &lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| Florian Le Foll&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; (Pas de salle) &amp;lt;/font&amp;gt;E303&lt;br /&gt;
|E303&lt;br /&gt;
|E303&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| Carval Amaury/ Prud'Homme Geoffrey&lt;br /&gt;
| fabricarium &lt;br /&gt;
| fabricarium puis Hors Polytech&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| Carval E306 - Preud'homme E301&lt;br /&gt;
| E301&lt;br /&gt;
| Carval C20X - Preud'homme Fabricarium&lt;br /&gt;
| Quelque part&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| E306&lt;br /&gt;
| Fabricarium (au fond)&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| Erwan Dufresne&lt;br /&gt;
| E302/E306&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| E302&lt;br /&gt;
| E306&lt;br /&gt;
| E302&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| Fabricarium/E304&lt;br /&gt;
| E304/Fab&lt;br /&gt;
| E306/Fab&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 PP1|Robot hexapode pour escalier]]&lt;br /&gt;
| Eduardo Gomez &lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| C201&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| &lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54932</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54932"/>
				<updated>2018-04-18T10:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Programme Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
Ici on peut voir le programme que j'ai utilisé pour faire que le robot marche (et l'initialisation des servomoteurs).[[Fichier:programme_robot.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche est ajouté dans le fichier précédent.&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Programme_robot.zip&amp;diff=54931</id>
		<title>Fichier:Programme robot.zip</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Programme_robot.zip&amp;diff=54931"/>
				<updated>2018-04-18T10:09:54Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54930</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54930"/>
				<updated>2018-04-18T10:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Capteur de proximité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
/*for(i=0; i&amp;lt;5; i++){*/&lt;br /&gt;
 AG2.write(135); //pattes A&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(60);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(135);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 BG2.write(135); //pattes C y B gauches&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BG1.write(20);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BG2.write(115);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 CG2.write(135);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 CG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 CG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 BD2.write(150); //pattes C y B droites&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(135);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 CD2.write(135);  &lt;br /&gt;
 delay(500);&lt;br /&gt;
 CD1.write(60);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 CD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
//}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA. On peut trouver la datasheet ici: [http://www.micropik.com/PDF/HCSR04.pdf]&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le capteur on doit initialiser le Trigger et le Echo au pins correspondants:&lt;br /&gt;
&lt;br /&gt;
const int Trigger = 46;&lt;br /&gt;
const int Echo = 48;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(9600);    //on initialise la communication&lt;br /&gt;
  pinMode(Trigger, OUTPUT);   //pin de sortie&lt;br /&gt;
  pinMode(Echo, INPUT);    //pin d'entrée&lt;br /&gt;
  digitalWrite(Trigger, LOW);    //On initialise le pin à 0&lt;br /&gt;
&lt;br /&gt;
Le capteur donne un valeur du temps de réponse, donc pour avoir la distance on doit multiplier cette valeur par la vitesse:&lt;br /&gt;
&lt;br /&gt;
v = d / t --&amp;gt; d = v * t&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54725</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54725"/>
				<updated>2018-04-11T13:01:04Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Programme Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
/*for(i=0; i&amp;lt;5; i++){*/&lt;br /&gt;
 AG2.write(135); //pattes A&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(60);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(135);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 BG2.write(135); //pattes C y B gauches&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BG1.write(20);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BG2.write(115);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 CG2.write(135);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 CG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 CG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 BD2.write(150); //pattes C y B droites&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(135);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 CD2.write(135);  &lt;br /&gt;
 delay(500);&lt;br /&gt;
 CD1.write(60);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 CD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
//}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=54721</id>
		<title>Discussion:Projets IMA4 SC &amp; SA 2017/2018</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=54721"/>
				<updated>2018-04-11T12:57:25Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Fiche de présence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Notes sur les projets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Projet || Analyse du projet || Retour sur l'analyse || Matériel || Mi-parcours || Fin de parcours || Wiki terminé || Rapport || Vidéo&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation sans supports, bonne analyse de la concurrence. Par contre le scénario d'usage est à revoir en précisant l'usage pour le particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le scénario est précisé mais aucune réponse aux questions difficiles &amp;quot;gestion des températures et procédure d'entretien&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Si le contenu du Wiki reflète la quantité de travail fourni, c'est inquiétant.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Peu de matière, pas de justification des choix, aucune réalisation concréte présentée. Sauf effort très important de dernière minute, un projet qui n'aboutira pas.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Inutile en l'état actuel du projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation focalisée sur les réseaux de neurones. Exercice mal compris (pas d'introduction du contexte, pas de scénario d'usage).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Toujours pas d'analyse de la concurrence, ni de scénario d'usage. Pas de réponse aux questions difficiles &amp;quot;quel est le matériel ? quel est le protocole ? quelles sont les entrées du réseau de neurones ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste mais il manque des références vers les fournisseurs agréés (voir page de l'an dernier).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Illustrez votre Wiki avec des schémas ou des photos de votre montage. Décrivez mieux votre plateforme de test et les résultats obtenus. Essayez de corriger les problèmes de français.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Wiki trop peu alimenté pour cette phase du projet, aucune illustration, impossible de se faire une idée de l'avancée du projet avec le Wiki. Coquilles non prises en compte.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration avec le dispositif décrit en fin de Wiki peut être envisagée.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Architecture de la source d'énergie (nombre de chemins d'énergie ?)&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Vous devriez avoir quelques éléments sur la réalisation. Complétez votre Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Un Wiki illustré mais avec du copier/coller des manuels de référence sans grand intérêt. Toujours pas de circuit testé en fin de projet. Un très important effort final est toujours possible.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;A priori inutile sauf si une version fonctionnelle de la carte était obtenue.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Présentation focalisée sur la création du site Web. Effort fait pour rédiger un scénario d'usage.&amp;lt;/font&amp;gt; &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Réponses aux questions mais l'analyse de la consommation est imprécise. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé dans la page Wiki mais à reporter en bas de la page des projets de cette année avec des références valides.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un effort de documentation mais illustrez par des schémas, des pages de l'application et des tests.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un Wiki correct mais sans plus, des problèmes de format, des illustrations mal incluses, des vidéos youtube. Cela dit le Wiki peut devenir tout à fait correct avec un peu de temps et de soin.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de doute sur le travail effectué, une vidéo de démonstration est possible et requise.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé. Scénario d'usage à préciser sur la partie réseau de capteurs.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Scénario d'usage non précisé. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence, êtes-vous sur que le matériel n'a pas besoin d'être acheté ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. N'hésitez pas à solliciter votre encadrant direct en cas de blocage !&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Prenez un peu de temps pour corriger les coquilles assez fréquentes. Wiki légérement décalé par rapport au travail effectué.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Aucun doute sur le travail effectué mais il n'est pas sur que le sujet se prête à une vidéo. A discuter avec les encadrants.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Pas de support. Exercice très bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de réponse aux questions difficiles &amp;quot;quelle alimentation ? comment faire pour différencier les briques ? comment les briques vont-elles communiquer ? quelle sécurité vis-à-vis des enfants ?&amp;quot;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Faites un effort de formatage du texte (par exemple en utilisant des sous-titres plutôt que de souligner des lignes).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail progresse mais le Wiki est décalé.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une démonstration est requise, faites en sorte que les prototypes soient au rendez-vous.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Rien à signaler (juste une confusion entre le MSP430 et le CC430).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Questions difficiles évacuées. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Un Wiki correct permettant de suivre l'avancé du projet. Le rapport devra être plus précis.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Aucun doute sur la qualité du travail, le sujet ne se prête pas à une démonstration sauf si des processus visuels peuvent être chargés sur RIOT pour CC430.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un peu rapide, exercice réalisé. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas d'analyse de la concurrence. Peu d'effort de rédaction. Des coquilles. Une réponse rapide à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais pas forcément exhaustif et sans référence valide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Wiki agréable à lire.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Merci de corriger les coquilles trop nombreuses en fin de Wiki. Les derniers travaux sont décrits trop succinctement.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise. Un grand effort va devoir être fourni pour obtenir un prototype fonctionnel.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Page Wiki vide, pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Essayez de mieux formater votre texte pour une meilleure facilité de lecture.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Travail correctement décrit mais une tendance à s'arrêter à chaque obstacle, qu'en est-il de l'utilisation de &amp;lt;code&amp;gt;v4l2loopback&amp;lt;/code&amp;gt; ?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise. Faites en sorte d'obtenir un prototype fonctionnel.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Pas d'analyse de la concurrence, pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;L'analyse de la concurrence et le scénario d'usage ont été ajoutés. Par contre pas de réponse aux questions difficiles &amp;quot;quelle sera l'autonomie de la balle et quel sera le système de rechargement ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet au 18/02/2018&amp;lt;/font&amp;gt;. &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Wiki mis à jour en catastrophe le 19/02/2018. Peu d'informations, seul le routage d'une carte semble avoir été entrepris.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune mise à jour du Wiki depuis la dernière remarque ci-dessus. L'avancée du travail ne peut pas être évaluée.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise. Un prototype sera-t-il disponible ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Trouver des concurrents indirects. Une histoire mais pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page Wiki modifiée après la présentation. Une réponse incomplète à la question difficile. Trop de coquilles pour ce niveau d'études.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Cinq séances pour faire chauffer une résistance, n'est-ce pas trop ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Rien à dire sur la forme, le Wiki est toujours bien tenu et permet de se faire une bonne idée de l'avancée du projet. Par contre le travail effectué sur les dernières semaine est très léger.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;De gros doute sur la possibilité d'avoir un dispositif convaincant à montrer en fin de projet. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune modification de la page Wiki depuis début octobre.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Projet encore dans la phase de prototypage. Comment vous comptez recevoir une carte SIM ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki non mis à jour. Le code (IDE Arduino) est inclus in extenso dans le Wiki. Toujours pas d'intégration des composants.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;De gros doute sur la possibilité d'avoir un dispositif convaincant à montrer en fin de projet. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Supports très textuels, pas de scénario d'usage mais une rédaction sur l'intérêt psychologique, pas vraiment de partie &amp;quot;concurrents&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un effort pour trouver des &amp;quot;concurrents&amp;quot;, pas de réponses aux questions difficiles &amp;quot;combien de LEDs ? quelle alimentation pour quelle autonomie&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail est a peu près décrit mais la page Wiki ressemble a un brouillon.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Beaucoup d'aide pour améliorer le Wiki mais pas d'effort pour le maintenir par la suite : pas de description du mandala décoré. Rien non plus sur la programmation des animations.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration est requise, il faut finaliser le projet, concernant le matériel c'est correctement engagé mais il faut un gros effort sur la programmation.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Bonne présentation orale. Utilisation du bluetooth peu convainquant. Pas de scénario d'usage. Un &amp;quot;concurrent&amp;quot; trouvé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Concept de scénario d'usage non compris. Une réponse à la question difficile très rapide et non convaincante.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste de matériel dans la page Wiki mais à insérer dans le tableau en bas de la page principale. Pas de référence (voir sur la page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail avec le prototype pilote de LEDs est très bien décrit et de façon agréable à lire. Par contre le schéma du futur circuit est très mal engagé. Il faut commencer par faire un schéma plus précis du collier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;La discussion sur la conception du circuit est difficile à comprendre, d'où sortent les intensités de 0,6A et de 1,2A ? Mettre une photo d'écran pour le PCB est une hérésie sachant qu'il est possible d'exporter une image directement de Fritzing. Sans un très important travail final, il sera impossible de mener le projet à bien.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Une démonstration est requise, il faut finaliser le projet un très gros effort est nécessaire malgré l'aide déjà apporté.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Support assez corrects, sujet non entièrement compris, scénario d'usage minimal.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un problème dans le scénario d'usage : les conteneurs doivent être lancés sur un serveur. Une réponse acceptable à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Aucun travail ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le Wiki a été utilisé mais montre un manque de travail flagrant. Un élève ne participe pas au projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Sauf miracle aucune démonstration ne sera possible.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu du travail très lapidaire et parfois illisible à cause des coquilles. Le Wiki ne donne pas l'impression que le projet avance.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Il est clair que le Wiki est alimenté mais un manque de rigueur dans la syntaxe mediawiki et de trop nombreuses coquilles ne permettent pas une lecture facile. Avec un peu de soin vous pourriez avoir un excellent Wiki. Le travail décrit est foisonnant, essayez de synthétiser, en particulier il serait intéressant de savoir dans quel état sont les différents travaux entrepris.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une démonstration est requise.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation trop impécise, pas vraiment de scénario d'usage. Par contre des concurrents ont été présentés.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un scénario d'usage éloigné de la future utilisation. Trop de coquilles dans ce scénario. Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste du matériel mais pas dans la page principale. Pas de référence (voir page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu non à jour au 18/02/2018 alors que la feuille d'heures est à jour. Le Wiki manque d'illustration, par exemple donnez le schéma du circuit.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Des informations sur la carte en gestation&amp;lt;/font&amp;gt;.&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Wiki non mis à jour. Toujours entrain de travailler sur la clef XBee.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Une démonstration est requise. Un très grand effort semble nécessaire pour avoir quelque chose à présenter sur la table.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte. Un concurrent assez peu en rapport avec les essaims de robots mais dans la ligne des dispositifs de déminage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Liste du matériel. Préciser pour le chassis.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Impossible de connaître l'avancé du projet à la lecture du Wiki. N'êtes-vous pas entrain de vous perdre dans vos problèmes avec FreeRTOS ?&amp;lt;/font&amp;gt; &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;De quelle résistance devant le récepteur IR parlez-vous ? Il n'y en a pas sur le PCB. Votre Wiki se concentre ces dernières semaines sur la modélisation du chassis alors que le travail sur la programmation de l'ATMega328p n'y figure pas. C'est dommage sachant qu'il s'agit du travail le plus valorisant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une démonstation est requise. Arriverez-vous à souder et programmer une carte à temps ? Votre chassis complexe sera-t-il aussi fonctionnel qu'un chassis très simple à base de 2 plaques et d'entretoises ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Objectif mal expliqué. Exercice réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Mieux définir l'objectif suite à la visite en entreprise. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Votre Wiki manque d'illustrations sur un sujet qui le permet.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki non à jour. Ce qui est disponible donne l'impression d'un papillonnage de tutorial en tutorial. Vous abandonnez la banana PI D1 en début de projet pour vous concentrer sur de la reconnaissance d'image que vous ne semblez pas avoir conduit à bien puisque vous parlez de l'abandonner. Vous passez de C++ à python sans raison convaincante. Vous développez un serveur Web sous &amp;lt;code&amp;gt;flask&amp;lt;/code&amp;gt; que vous cachez derrière un proxy inverse &amp;lt;code&amp;gt;ngnix&amp;lt;/code&amp;gt;. Vous parlez de stratégie en semaine 9 ce qui bien tardif. Votre projet semble embourbé.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Malheureusement il ne semble pas qu'il y aura quoi que ce soit à montrer. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Excellente présentation et excellent travail préparatoire, Scénario d'usage à préciser, trouver des concurrents.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Attention quand vous dites qu'un ATMega328p n'a pas assez de sorties pour commander 8 oscillateurs, il dispose tout de même de plus de 20 E/S.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Wiki toujours excellent. Votre exploration du monde de l'électronique analogique est passionnant à lire du moins pour un profane en la matière. Juste des notes pour les deux dernières semaines mais c'est mieux que rien et vous avez raison de vous concentrer sur la réalisation.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. En espérant que la sculpture soit totalement opérationnelle.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice réussi. Cependant précisez les acteurs dans le scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de modification du scénario. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Rien à redire sur la liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Description du travail correct, des illustrations. Essayez de formater avec la syntaxe Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Wiki très correct sur la forme. Pas tout à fait à jour.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Démonstration requise. Du travail nécessaire pour avoir un prototype pour la démonstration.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponses aux questions difficiles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail effectué est décrit. Un nombre de coquilles non acceptable, la lecture en devient difficile. Utilisez la syntaxe de formatage du Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Corrigez vos erreurs de grammaire et d'orthographe ! Utilisez correctement la syntaxe mediawiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. Même un résultat négatif, du style la plante est muette, est intéressant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Sujet se prêtant peu à l'exercice mais très bonne présentation. Sujet travaillé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas vraiment de question, la suggestion est noté dans la page Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Description du travail un peu rapide (DNS leak quesako ?). Rédaction en cours au moment de la lecture du Wiki.&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Effort de rédaction entre le 18/02/2018 et le 19/02/2018. Il manque des sections mais le travail effectué devient lisible.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bon Wiki. Des améliorations possibles comme la correction des coquilles et compléter la partie état de l'art.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Aucun doute sur la qualité et la quantité de travail comme le montre l'&amp;quot;état de l'art&amp;quot; du Wiki. Ce sujet se prête peu à une vidéo. Il est cependant possible d'envisager une courte vidéo avec la confrontation de deux navigations Web, une classique, l'autre en passant par Tor. Le coté délicat est de trouver des démonstrations visuelles de la confidentialité apportée par Tor.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Comment démarrer l'imprimante à distance ? Comment sera calibrée la plaque d’impression ?&lt;br /&gt;
Comment la plaque va se fixer sur le sol ? &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Il est possible de mettre une copie d'écran de l'application de plus. Pas la peine de vous tirer dans les pattes.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Respectez la syntaxe mediawiki. Voir les corrections. Ajoutez une photo de l'imprimante dans l'état actuel. Très bon Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. Aucun doute sur le fait que le dispositif fonctionnera parfaitement de bout en bout.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le projet ne semble pas encore avoir été sérieusement étudié.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Net effort de documentation de la page Wiki. Pas de réponse directe à la question difficile sur la Kinect mais une discussion sur le problème posé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description du travail. Des illustrations mais il pourrait y avoir des photos du système robotino / kinect.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Depuis février le projet piétine. Votre feuille d'heure de février en témoigne : les banques d'images des MPS n'ont pas pu être constituées (pas de raison donnée pour cet échec), de plus 13h pour acquérir des images d'une caméra même stéréoscopique est exagéré. Il vous a fallu tout le mois de mars pour résoudre ces problèmes et encore votre discussion sur la reconnaissance des MPS est peu pertinente comme expliqué en séance. Toujours rien sur l'implantation du dispositif de reconnaissance sur le système embarqué.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Il semble peu probable qu'une démonstration puisse avoir lieu. Je ne demande qu'à être démenti.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Contexte mal présenté, sujet flou. Scénario d'usage à préciser. Pas de contact avec les encadrants avant la présentation.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page de Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Compte-rendu rapide du travail. Ce compte-rendu est inquiétant. Il ne semble y avoir aucun résultat depuis le début du projet. Un module a été abandonné sans que le module en question n'ait été décrit ou que la raison de l'abandon ait été précisé. Attention votre projet est en voie d'échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki court. Le seul travail décrit est l'écriture d'un script shell. Une seule ligne sur la création d'un conteneur.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune démonstration envisageable.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page de Wiki assez vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Le robot centaure est en plus mauvais état maintenant qu'au début du projet. Vous semblez avoir une nouvelle fois abandonné votre projet.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Des ajouts mineurs au Wiki le 19/02/2018.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Du travail réalisé avec un certain succès durant le mois de mars. A nouveau abandon du projet en avril.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Il ne semble pas raisonnable d'espérer une démonstration.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Présentation très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse à la question difficile. Page Wiki un peu vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un Wiki incomplet alors que la feuille d'heures est actualisée. Vous semblez toujours bloqués sur les problèmes d'étalonnage !&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Wiki très peu alimenté. Présentation du contrôle avec simulink.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une démonstration requise. Pour l'instant seul le contrôle par simulink est disponible. Ce n'est pas suffisant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Wiki avec quelques informations sur le travail accompli depuis fin novembre : étude sur modbus et labview. Quelques coquilles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Très peu d'illustrations. Texte mal formaté et avec des coquilles intolérable à ce niveau d'étude. Le compte-rendu donne l'impression d'une méthode de travail très brouillonne.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Wiki insuffisant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Projet terminé, pas de vidéo.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation sans support. Trouver des concurrents indirects. Pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune avancée, il est désormais impossible d'avoir un prototype en fin de projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki bien tenue. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Quelques éléments sur le matériel dans la page Wiki mais aucune liste avec références.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Presque à jour. Vous n'aviez pas des cartes à faire fabriquer à l'extérieur ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Rédaction rapide sur les dernières semaine. Une expérimentation est nécessaire à ce stage du projet. Elle est attendue avec impatience.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration requise. Débrouillez-vous pour avoir quelque chose de percutant à montrer !&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki très complète. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une liste probablement pas exhaustive.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Exceptionnel !&amp;lt;/b&amp;gt; Très illustré, bien rédigé, le travail de recherche est très bien décrit. Je ne suis pas un fan de la mise en gras d'un quart du texte et la syntaxe Wiki n'est pas vraiment utilisée mais c'est du détail?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Il faudra encore relire le Wiki pour corriger les coquilles des nouveaux paragraphes. Les images et les vidéos sont aussi à ajouter. Il n'en reste pas moins que le Wiki et impressionnant et sera exceptionnel une fois totalement rédigé et corrigé.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Démonstration absolument requise. Il y aura forcément quelque chose à montrer !&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Toujours rien sur l'avancé du projet. Projet en échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Vidéo non adaptée au sujet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 Pré-projet 1|Robot hexapode pour escalier]]&lt;br /&gt;
| Erasmus &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Projet en échec constaté.&amp;lt;/font&amp;gt;&lt;br /&gt;
| A voir avec l'encadrant direct.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| A voir avec l'encadrant direct.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fiche de présence ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves !! Séance 1 (17/01) !! Séance 2 (24/01) !! Séance 3 (31/01) !! Séance 4 (7/02) !! Séance 5 (14/02) !! Séance 6 (21/02) !! Séance 7 (7/03) !! Séance 8 (14/03) !! Séance 9 (21/03) !! Séance 10 (28/03) !! Séance 11 (4/04) !! Séance 12 (11/04) !! Séance 13 (18/04)&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
|Quentin Boëns / Henri Carlier&lt;br /&gt;
|E304 &lt;br /&gt;
|E304/305&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E304&lt;br /&gt;
|E304/Fab&lt;br /&gt;
|Fab/A313&lt;br /&gt;
|C205  Départ 17h (entretien stage)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
|Ji Yang&lt;br /&gt;
|E306&lt;br /&gt;
|E303&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E306&lt;br /&gt;
|E306&lt;br /&gt;
|E306&lt;br /&gt;
|C201&lt;br /&gt;
|E304&lt;br /&gt;
|E306&lt;br /&gt;
|E306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| Alexis Viscogliosi / Abass Ayoub &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|E304 &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Alexis Viscogliosi Absent excusé pour entretien stage&amp;lt;/font&amp;gt;&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| Paul Ribeiro / Mehanna Naïf&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E301 puis B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|C201 puis E304&lt;br /&gt;
|C201 et E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E303&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
| Antoine Gossehdelatte&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| Maëva Delaporte / Simon Blas&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| C201/E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| Baptiste Cartier&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| Amine El Messaoudi / Simon Feutrier&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| B207&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Jade Dupont&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|Absence Maladie&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|Absente entretien stage&lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| Thomas Cunin / Thibault Cattelain&lt;br /&gt;
| E304&lt;br /&gt;
| B306/E304&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E304 - A305)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E304/C200&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| Rémi Mairesse / Gustave Roux&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304 / C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|E302&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| Lirui Zhang / Lihe Zhang&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| Lijie Yao / Keren Qiang&lt;br /&gt;
| E303&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| Maxime Creteur / Gao Fan&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E303&lt;br /&gt;
|B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|E304&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|E303 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Gao Fan absent &amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| Amaury Knockaert / Fabrice Taingland&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304/E302&lt;br /&gt;
| C203/E306&lt;br /&gt;
| E306/E304&lt;br /&gt;
| Forum stages euratech/E304&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| Matthieu Delobelle&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E303 - C201&lt;br /&gt;
| E306 - C201&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201-E302&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| Benjamin Canu / Ganix Etcheguibel&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| Forum Euratech jusqu'à 17h &amp;lt;br/&amp;gt; E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 / Fab&lt;br /&gt;
| E306 / Fab&lt;br /&gt;
| E306 / C204&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| Taky Djeraba / Thomas Hubert&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| Jean-Baptiste Watine / Antoine Untereiner&lt;br /&gt;
| E306/C201&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (C201) &amp;lt;/font&amp;gt;&lt;br /&gt;
| C205&lt;br /&gt;
| C205/E301&lt;br /&gt;
| C205/E301&lt;br /&gt;
| E301&lt;br /&gt;
| C205&lt;br /&gt;
| C205/C201&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| Transley Gracias / Camille Saad&lt;br /&gt;
| E306 &lt;br /&gt;
| E306 &lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306/C202&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| Xavier Chenot / Rodolphe Toin&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 puis C201&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| Antoine Duquenoy / Anthony Durot&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
| E305&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| Eloi Zalczer / Justine Senellart&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|Hors Polytech/E302&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| Damien Narbais / Zoé Briois&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E301)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| C205&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| A317&lt;br /&gt;
| E304&lt;br /&gt;
| E30X&lt;br /&gt;
| C205 + Damien -&amp;gt; entretien stage&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| Hugo Delbroucq / Nicolas Havard &lt;br /&gt;
| E301&lt;br /&gt;
| INRIA&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt; (INRIA)&lt;br /&gt;
| E301&lt;br /&gt;
| E301 puis E304&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| INRIA&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| Claire Vandamme / Alexandra Villa &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Hors Polytech/B106&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Bureau de Mr Pekpe/E306&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C008(Claire : jusque 16h, RDV médical)&lt;br /&gt;
|C008&lt;br /&gt;
|- &lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| Florian Le Foll&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; (Pas de salle) &amp;lt;/font&amp;gt;E303&lt;br /&gt;
|E303&lt;br /&gt;
|E303&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| Carval Amaury/ Prud'Homme Geoffrey&lt;br /&gt;
| fabricarium &lt;br /&gt;
| fabricarium puis Hors Polytech&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| Carval E306 - Preud'homme E301&lt;br /&gt;
| E301&lt;br /&gt;
| Carval C20X - Preud'homme Fabricarium&lt;br /&gt;
| Quelque part&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| E306&lt;br /&gt;
| Fabricarium (au fond)&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| Erwan Dufresne&lt;br /&gt;
| E302/E306&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| E302&lt;br /&gt;
| E306&lt;br /&gt;
| E302&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| Fabricarium/E304&lt;br /&gt;
| E304/Fab&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 PP1|Robot hexapode pour escalier]]&lt;br /&gt;
| Eduardo Gomez &lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| C201&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| &lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=54458</id>
		<title>Discussion:Projets IMA4 SC &amp; SA 2017/2018</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=54458"/>
				<updated>2018-04-04T14:52:50Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Fiche de présence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Notes sur les projets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Projet || Analyse du projet || Retour sur l'analyse || Matériel || Mi-parcours || Wiki terminé || Rapport || Vidéo&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation sans supports, bonne analyse de la concurrence. Par contre le scénario d'usage est à revoir en précisant l'usage pour le particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le scénario est précisé mais aucune réponse aux questions difficiles &amp;quot;gestion des températures et procédure d'entretien&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Si le contenu du Wiki reflète la quantité de travail fourni, c'est inquiétant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation focalisée sur les réseaux de neurones. Exercice mal compris (pas d'introduction du contexte, pas de scénario d'usage).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Toujours pas d'analyse de la concurrence, ni de scénario d'usage. Pas de réponse aux questions difficiles &amp;quot;quel est le matériel ? quel est le protocole ? quelles sont les entrées du réseau de neurones ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste mais il manque des références vers les fournisseurs agréés (voir page de l'an dernier).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Illustrez votre Wiki avec des schémas ou des photos de votre montage. Décrivez mieux votre plateforme de test et les résultats obtenus. Essayez de corriger les problèmes de français.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Architecture de la source d'énergie (nombre de chemins d'énergie ?)&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Vous devriez avoir quelques éléments sur la réalisation. Complétez votre Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Présentation focalisée sur la création du site Web. Effort fait pour rédiger un scénario d'usage.&amp;lt;/font&amp;gt; &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Réponses aux questions mais l'analyse de la consommation est imprécise. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé dans la page Wiki mais à reporter en bas de la page des projets de cette année avec des références valides.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un effort de documentation mais illustrez par des schémas, des pages de l'application et des tests.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé. Scénario d'usage à préciser sur la partie réseau de capteurs.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Scénario d'usage non précisé. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence, êtes-vous sur que le matériel n'a pas besoin d'être acheté ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. N'hésitez pas à solliciter votre encadrant direct en cas de blocage !&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Pas de support. Exercice très bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de réponse aux questions difficiles &amp;quot;quelle alimentation ? comment faire pour différencier les briques ? comment les briques vont-elles communiquer ? quelle sécurité vis-à-vis des enfants ?&amp;quot;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Faites un effort de formatage du texte (par exemple en utilisant des sous-titres plutôt que de souligner des lignes).&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Rien à signaler (juste une confusion entre le MSP430 et le CC430).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Questions difficiles évacuées. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un peu rapide, exercice réalisé. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas d'analyse de la concurrence. Peu d'effort de rédaction. Des coquilles. Une réponse rapide à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais pas forcément exhaustif et sans référence valide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Wiki agréable à lire.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Page Wiki vide, pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Essayez de mieux formater votre texte pour une meilleure facilité de lecture.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Pas d'analyse de la concurrence, pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;L'analyse de la concurrence et le scénario d'usage ont été ajoutés. Par contre pas de réponse aux questions difficiles &amp;quot;quelle sera l'autonomie de la balle et quel sera le système de rechargement ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet au 18/02/2018&amp;lt;/font&amp;gt;. &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Wiki mis à jour en catastrophe le 19/02/2018. Peu d'informations, seul le routage d'une carte semble avoir été entrepris.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Trouver des concurrents indirects. Une histoire mais pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page Wiki modifiée après la présentation. Une réponse incomplète à la question difficile. Trop de coquilles pour ce niveau d'études.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Cinq séances pour faire chauffer une résistance, n'est-ce pas trop ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune modification de la page Wiki depuis début octobre.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Projet encore dans la phase de prototypage. Comment vous comptez recevoir une carte SIM ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Supports très textuels, pas de scénario d'usage mais une rédaction sur l'intérêt psychologique, pas vraiment de partie &amp;quot;concurrents&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un effort pour trouver des &amp;quot;concurrents&amp;quot;, pas de réponses aux questions difficiles &amp;quot;combien de LEDs ? quelle alimentation pour quelle autonomie&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail est a peu près décrit mais la page Wiki ressemble a un brouillon.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Bonne présentation orale. Utilisation du bluetooth peu convainquant. Pas de scénario d'usage. Un &amp;quot;concurrent&amp;quot; trouvé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Concept de scénario d'usage non compris. Une réponse à la question difficile très rapide et non convaincante.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste de matériel dans la page Wiki mais à insérer dans le tableau en bas de la page principale. Pas de référence (voir sur la page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail avec le prototype pilote de LEDs est très bien décrit et de façon agréable à lire. Par contre le schéma du futur circuit est très mal engagé. Il faut commencer par faire un schéma plus précis du collier.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Support assez corrects, sujet non entièrement compris, scénario d'usage minimal.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un problème dans le scénario d'usage : les conteneurs doivent être lancés sur un serveur. Une réponse acceptable à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Aucun travail ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu du travail très lapidaire et parfois illisible à cause des coquilles. Le Wiki ne donne pas l'impression que le projet avance.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation trop impécise, pas vraiment de scénario d'usage. Par contre des concurrents ont été présentés.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un scénario d'usage éloigné de la future utilisation. Trop de coquilles dans ce scénario. Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste du matériel mais pas dans la page principale. Pas de référence (voir page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu non à jour au 18/02/2018 alors que la feuille d'heures est à jour. Le Wiki manque d'illustration, par exemple donnez le schéma du circuit.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Des informations sur la carte en gestation&amp;lt;/font&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte. Un concurrent assez peu en rapport avec les essaims de robots mais dans la ligne des dispositifs de déminage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Liste du matériel. Préciser pour le chassis.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Impossible de connaître l'avancé du projet à la lecture du Wiki. N'êtes-vous pas entrain de vous perdre dans vos problèmes avec FreeRTOS ?&amp;lt;/font&amp;gt; &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Objectif mal expliqué. Exercice réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Mieux définir l'objectif suite à la visite en entreprise. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Votre Wiki manque d'illustrations sur un sujet qui le permet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Excellente présentation et excellent travail préparatoire, Scénario d'usage à préciser, trouver des concurrents.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Attention quand vous dites qu'un ATMega328p n'a pas assez de sorties pour commander 8 oscillateurs, il dispose tout de même de plus de 20 E/S.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice réussi. Cependant précisez les acteurs dans le scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de modification du scénario. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Rien à redire sur la liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Description du travail correct, des illustrations. Essayez de formater avec la syntaxe Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponses aux questions difficiles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail effectué est décrit. Un nombre de coquilles non acceptable, la lecture en devient difficile. Utilisez la syntaxe de formatage du Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Sujet se prêtant peu à l'exercice mais très bonne présentation. Sujet travaillé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas vraiment de question, la suggestion est noté dans la page Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Description du travail un peu rapide (DNS leak quesako ?). Rédaction en cours au moment de la lecture du Wiki.&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Effort de rédaction entre le 18/02/2018 et le 19/02/2018. Il manque des sections mais le travail effectué devient lisible.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Comment démarrer l'imprimante à distance ? Comment sera calibrée la plaque d’impression ?&lt;br /&gt;
Comment la plaque va se fixer sur le sol ? &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Il est possible de mettre une copie d'écran de l'application de plus. Pas la peine de vous tirer dans les pattes.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le projet ne semble pas encore avoir été sérieusement étudié.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Net effort de documentation de la page Wiki. Pas de réponse directe à la question difficile sur la Kinect mais une discussion sur le problème posé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description du travail. Des illustrations mais il pourrait y avoir des photos du système robotino / kinect.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Contexte mal présenté, sujet flou. Scénario d'usage à préciser. Pas de contact avec les encadrants avant la présentation.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page de Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Compte-rendu rapide du travail. Ce compte-rendu est inquiétant. Il ne semble y avoir aucun résultat depuis le début du projet. Un module a été abandonné sans que le module en question n'ait été décrit ou que la raison de l'abandon ait été précisé. Attention votre projet est en voie d'échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page de Wiki assez vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Le robot centaure est en plus mauvais état maintenant qu'au début du projet. Vous semblez avoir une nouvelle fois abandonné votre projet.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Des ajouts mineurs au Wiki le 19/02/2018.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Présentation très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse à la question difficile. Page Wiki un peu vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un Wiki incomplet alors que la feuille d'heures est actualisée. Vous semblez toujours bloqués sur les problèmes d'étalonnage !&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Wiki avec quelques informations sur le travail accompli depuis fin novembre : étude sur modbus et labview. Quelques coquilles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Très peu d'illustrations. Texte mal formaté et avec des coquilles intolérable à ce niveau d'étude. Le compte-rendu donne l'impression d'une méthode de travail très brouillonne.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation sans support. Trouver des concurrents indirects. Pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki bien tenue. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Quelques éléments sur le matériel dans la page Wiki mais aucune liste avec références.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Presque à jour. Vous n'aviez pas des cartes à faire fabriquer à l'extérieur ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki très complète. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une liste probablement pas exhaustive.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Exceptionnel !&amp;lt;/b&amp;gt; Très illustré, bien rédigé, le travail de recherche est très bien décrit. Je ne suis pas un fan de la mise en gras d'un quart du texte et la syntaxe Wiki n'est pas vraiment utilisée mais c'est du détail?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 Pré-projet 1|Robot hexapode pour escalier]]&lt;br /&gt;
| Erasmus &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Projet en échec constaté.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fiche de présence ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves !! Séance 1 (17/01) !! Séance 2 (24/01) !! Séance 3 (31/01) !! Séance 4 (7/02) !! Séance 5 (14/02) !! Séance 6 (21/02) !! Séance 7 (7/03) !! Séance 8 (14/03) !! Séance 9 (21/03) !! Séance 10 (28/03) !! Séance 11 (4/04) !! Séance 12 (11/04) !! Séance 13 (18/04)&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
|Quentin Boëns / Henri Carlier&lt;br /&gt;
|E304 &lt;br /&gt;
|E304/305&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E304&lt;br /&gt;
|E304/Fab&lt;br /&gt;
|Fab/A313&lt;br /&gt;
|C205  Départ 17h (entretien stage)&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
|Ji Yang&lt;br /&gt;
|E306&lt;br /&gt;
|E303&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E306&lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| Alexis Viscogliosi / Abass Ayoub &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|E304 &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Alexis Viscogliosi Absent excusé pour entretien stage&amp;lt;/font&amp;gt;&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| Paul Ribeiro / Mehanna Naïf&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E301 puis B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|C201 puis E304&lt;br /&gt;
|C201 et E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E303&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
|  Antoine Gosse&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| Maëva Delaporte / Simon Blas&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| C201/E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| Baptiste Cartier&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| Amine El Messaoudi / Simon Feutrier&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| B207&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Jade Dupont&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|Absence Maladie&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| Thomas Cunin / Thibault Cattelain&lt;br /&gt;
| E304&lt;br /&gt;
| B306/E304&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E304 - A305)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E304/C200&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| Rémi Mairesse / Gustave Roux&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304 / C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|E302&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| Lirui Zhang / Lihe Zhang&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| Lijie Yao / Keren Qiang&lt;br /&gt;
| E303&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| Maxime Creteur / Gao Fan&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E303&lt;br /&gt;
|B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|E304&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|E303&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| Amaury Knockaert / Fabrice Taingland&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304/E302&lt;br /&gt;
| C203/E306&lt;br /&gt;
| E306/E304&lt;br /&gt;
| Forum stages euratech/E304&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| Matthieu Delobelle&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E303 - C201&lt;br /&gt;
| E306 - C201&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| Benjamin Canu / Ganix Etcheguibel&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| Forum Euratech jusque 17h &amp;lt;br/&amp;gt; E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 / Fab&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| Taky Djeraba / Thomas Hubert&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| Jean-Baptiste Watine / Antoine Untereiner&lt;br /&gt;
| E306/C201&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (C201) &amp;lt;/font&amp;gt;&lt;br /&gt;
| C205&lt;br /&gt;
| C205/E301&lt;br /&gt;
| C205/E301&lt;br /&gt;
| E301&lt;br /&gt;
| C205&lt;br /&gt;
| C205/C201&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| Transley Gracias / Camille Saad&lt;br /&gt;
| E306 &lt;br /&gt;
| E306 &lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306/C202&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| Xavier Chenot / Rodolphe Toin&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 puis C201&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| Antoine Duquenoy / Anthony Durot&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| Eloi Zalczer / Justine Senellart&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|Hors Polytech/E302&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| Damien Narbais / Zoé Briois&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E301)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| C205&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| A317&lt;br /&gt;
| E304&lt;br /&gt;
| E30X&lt;br /&gt;
| C205 + Damien -&amp;gt; entretien stage&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| Hugo Delbroucq / Nicolas Havard &lt;br /&gt;
| E301&lt;br /&gt;
| INRIA&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt; (INRIA)&lt;br /&gt;
| E301&lt;br /&gt;
| E301 puis E304&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| INRIA&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| Claire Vandamme / Alexandra Villa &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Hors Polytech/B106&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Bureau de Mr Pekpe/E306&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C008(Claire : jusque 16h, RDV médical)&lt;br /&gt;
|C008&lt;br /&gt;
|- &lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| Florian Le Foll&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; (Pas de salle) &amp;lt;/font&amp;gt;E303&lt;br /&gt;
|E303&lt;br /&gt;
|E303&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| Carval Amaury/ Prud'Homme Geoffrey&lt;br /&gt;
| fabricarium &lt;br /&gt;
| fabricarium puis Hors Polytech&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| Carval E306 - Preud'homme E301&lt;br /&gt;
| E301&lt;br /&gt;
| Carval C20X - Preud'homme Fabricarium&lt;br /&gt;
| Quelque part&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| E306&lt;br /&gt;
| Fabricarium (au fond)&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| Erwan Dufresne&lt;br /&gt;
| E302/E306&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| E302&lt;br /&gt;
| E306&lt;br /&gt;
| E302&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| Fabricarium/E304&lt;br /&gt;
| E304/Fab&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 PP1|Robot hexapode pour escalier]]&lt;br /&gt;
| Eduardo Gomez &lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| C201&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| &lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54025</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54025"/>
				<updated>2018-03-26T16:23:29Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Construction du robot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54024</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54024"/>
				<updated>2018-03-26T16:23:09Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Construction du robot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
[[Fichier:Hexa.jpg|250px]][[Fichier:Terminado.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Terminado.jpg&amp;diff=54023</id>
		<title>Fichier:Terminado.jpg</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Terminado.jpg&amp;diff=54023"/>
				<updated>2018-03-26T16:21:30Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Hexa.jpg&amp;diff=54022</id>
		<title>Fichier:Hexa.jpg</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Hexa.jpg&amp;diff=54022"/>
				<updated>2018-03-26T16:21:12Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54021</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=54021"/>
				<updated>2018-03-26T16:20:34Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Construction du robot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
Comme nous n'avions pas les vis des servomoteurs nous les avons collés avec de la colle forte aussi. Il faut faire attention car la surface est très petite et peut coller au servomoteur, ce qui ne transmettrait pas bien le mouvement. On a ajouté des vis par l'autre lieu pour que la colle ne se casse pas. &lt;br /&gt;
&lt;br /&gt;
Ci-dessus on peut voir des images sur le robot terminé:&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53766</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53766"/>
				<updated>2018-03-21T15:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Construction d'une patte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
Les designs sont obtenus de la page ''thingiverse'', mais j'ai fait des changes dans eux. Le design original utilise des roulements, mais pour simplifier la construction j'ai réduit le trou et faire passer un vis au lieu d'un roulement. Le vis supporte le poids du robot avec le colle du servomoteur. Sinon, la colle peut n'être pas suffisant et il peut se casser.&lt;br /&gt;
&lt;br /&gt;
Il y a aussi un trou dans la partie du moyen de la patte pour faire passer les fils du servomoteur. J'ai agrandi cette partie parce que l'imprimante 3D remplit le trou quand elle imprime l'élément, et si le trou est très petit on peut pas éliminer le matériau excédentaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53764</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53764"/>
				<updated>2018-03-21T15:03:27Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Analyse du servomoteurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse moins de 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53732</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53732"/>
				<updated>2018-03-21T13:57:01Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Feuille d'heures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse environ 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=53731</id>
		<title>Discussion:Projets IMA4 SC &amp; SA 2017/2018</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Discussion:Projets_IMA4_SC_%26_SA_2017/2018&amp;diff=53731"/>
				<updated>2018-03-21T13:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Fiche de présence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Notes sur les projets ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Projet || Analyse du projet || Retour sur l'analyse || Matériel || Mi-parcours || Wiki terminé || Rapport || Vidéo&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation sans supports, bonne analyse de la concurrence. Par contre le scénario d'usage est à revoir en précisant l'usage pour le particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le scénario est précisé mais aucune réponse aux questions difficiles &amp;quot;gestion des températures et procédure d'entretien&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Si le contenu du Wiki reflète la quantité de travail fourni, c'est inquiétant.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation focalisée sur les réseaux de neurones. Exercice mal compris (pas d'introduction du contexte, pas de scénario d'usage).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Toujours pas d'analyse de la concurrence, ni de scénario d'usage. Pas de réponse aux questions difficiles &amp;quot;quel est le matériel ? quel est le protocole ? quelles sont les entrées du réseau de neurones ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste mais il manque des références vers les fournisseurs agréés (voir page de l'an dernier).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Illustrez votre Wiki avec des schémas ou des photos de votre montage. Décrivez mieux votre plateforme de test et les résultats obtenus. Essayez de corriger les problèmes de français.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Architecture de la source d'énergie (nombre de chemins d'énergie ?)&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Vous devriez avoir quelques éléments sur la réalisation. Complétez votre Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Présentation focalisée sur la création du site Web. Effort fait pour rédiger un scénario d'usage.&amp;lt;/font&amp;gt; &lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Réponses aux questions mais l'analyse de la consommation est imprécise. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé dans la page Wiki mais à reporter en bas de la page des projets de cette année avec des références valides.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un effort de documentation mais illustrez par des schémas, des pages de l'application et des tests.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice correctement réalisé. Scénario d'usage à préciser sur la partie réseau de capteurs.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Scénario d'usage non précisé. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence, êtes-vous sur que le matériel n'a pas besoin d'être acheté ?&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. N'hésitez pas à solliciter votre encadrant direct en cas de blocage !&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Pas de support. Exercice très bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de réponse aux questions difficiles &amp;quot;quelle alimentation ? comment faire pour différencier les briques ? comment les briques vont-elles communiquer ? quelle sécurité vis-à-vis des enfants ?&amp;quot;&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Faites un effort de formatage du texte (par exemple en utilisant des sous-titres plutôt que de souligner des lignes).&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Rien à signaler (juste une confusion entre le MSP430 et le CC430).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt; Questions difficiles évacuées. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais sans référence.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un peu rapide, exercice réalisé. &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas d'analyse de la concurrence. Peu d'effort de rédaction. Des coquilles. Une réponse rapide à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt; Du matériel listé mais pas forcément exhaustif et sans référence valide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description de l'avancé du projet. Wiki agréable à lire.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Page Wiki vide, pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Essayez de mieux formater votre texte pour une meilleure facilité de lecture.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Pas d'analyse de la concurrence, pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;L'analyse de la concurrence et le scénario d'usage ont été ajoutés. Par contre pas de réponse aux questions difficiles &amp;quot;quelle sera l'autonomie de la balle et quel sera le système de rechargement ?&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet au 18/02/2018&amp;lt;/font&amp;gt;. &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Wiki mis à jour en catastrophe le 19/02/2018. Peu d'informations, seul le routage d'une carte semble avoir été entrepris.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Présentation acceptable mais avec des supports non soignés. Trouver des concurrents indirects. Une histoire mais pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page Wiki modifiée après la présentation. Une réponse incomplète à la question difficile. Trop de coquilles pour ce niveau d'études.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Cinq séances pour faire chauffer une résistance, n'est-ce pas trop ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune modification de la page Wiki depuis début octobre.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Une bonne description de l'avancé du projet. Projet encore dans la phase de prototypage. Comment vous comptez recevoir une carte SIM ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Supports très textuels, pas de scénario d'usage mais une rédaction sur l'intérêt psychologique, pas vraiment de partie &amp;quot;concurrents&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un effort pour trouver des &amp;quot;concurrents&amp;quot;, pas de réponses aux questions difficiles &amp;quot;combien de LEDs ? quelle alimentation pour quelle autonomie&amp;quot;.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Pas de liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail est a peu près décrit mais la page Wiki ressemble a un brouillon.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Bonne présentation orale. Utilisation du bluetooth peu convainquant. Pas de scénario d'usage. Un &amp;quot;concurrent&amp;quot; trouvé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Concept de scénario d'usage non compris. Une réponse à la question difficile très rapide et non convaincante.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste de matériel dans la page Wiki mais à insérer dans le tableau en bas de la page principale. Pas de référence (voir sur la page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail avec le prototype pilote de LEDs est très bien décrit et de façon agréable à lire. Par contre le schéma du futur circuit est très mal engagé. Il faut commencer par faire un schéma plus précis du collier.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Support assez corrects, sujet non entièrement compris, scénario d'usage minimal.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Un problème dans le scénario d'usage : les conteneurs doivent être lancés sur un serveur. Une réponse acceptable à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel particulier.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Aucun travail ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu du travail très lapidaire et parfois illisible à cause des coquilles. Le Wiki ne donne pas l'impression que le projet avance.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation trop impécise, pas vraiment de scénario d'usage. Par contre des concurrents ont été présentés.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un scénario d'usage éloigné de la future utilisation. Trop de coquilles dans ce scénario. Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Une liste du matériel mais pas dans la page principale. Pas de référence (voir page de l'an passé).&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Compte-rendu non à jour au 18/02/2018 alors que la feuille d'heures est à jour. Le Wiki manque d'illustration, par exemple donnez le schéma du circuit.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Des informations sur la carte en gestation&amp;lt;/font&amp;gt;.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte. Un concurrent assez peu en rapport avec les essaims de robots mais dans la ligne des dispositifs de déminage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Liste du matériel. Préciser pour le chassis.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Impossible de connaître l'avancé du projet à la lecture du Wiki. N'êtes-vous pas entrain de vous perdre dans vos problèmes avec FreeRTOS ?&amp;lt;/font&amp;gt; &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Objectif mal expliqué. Exercice réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Mieux définir l'objectif suite à la visite en entreprise. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Bonne description du travail. Votre Wiki manque d'illustrations sur un sujet qui le permet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Excellente présentation et excellent travail préparatoire, Scénario d'usage à préciser, trouver des concurrents.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Attention quand vous dites qu'un ATMega328p n'a pas assez de sorties pour commander 8 oscillateurs, il dispose tout de même de plus de 20 E/S.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice réussi. Cependant précisez les acteurs dans le scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de modification du scénario. Pas de réponse à la question difficile.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Rien à redire sur la liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Description du travail correct, des illustrations. Essayez de formater avec la syntaxe Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Réponses aux questions difficiles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Le travail effectué est décrit. Un nombre de coquilles non acceptable, la lecture en devient difficile. Utilisez la syntaxe de formatage du Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Sujet se prêtant peu à l'exercice mais très bonne présentation. Sujet travaillé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas vraiment de question, la suggestion est noté dans la page Wiki.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Description du travail un peu rapide (DNS leak quesako ?). Rédaction en cours au moment de la lecture du Wiki.&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Effort de rédaction entre le 18/02/2018 et le 19/02/2018. Il manque des sections mais le travail effectué devient lisible.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse aux questions difficiles &amp;quot;Comment démarrer l'imprimante à distance ? Comment sera calibrée la plaque d’impression ?&lt;br /&gt;
Comment la plaque va se fixer sur le sol ? &amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Il est possible de mettre une copie d'écran de l'application de plus. Pas la peine de vous tirer dans les pattes.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Le projet ne semble pas encore avoir été sérieusement étudié.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Net effort de documentation de la page Wiki. Pas de réponse directe à la question difficile sur la Kinect mais une discussion sur le problème posé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Très bonne description du travail. Des illustrations mais il pourrait y avoir des photos du système robotino / kinect.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Contexte mal présenté, sujet flou. Scénario d'usage à préciser. Pas de contact avec les encadrants avant la présentation.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page de Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Compte-rendu rapide du travail. Ce compte-rendu est inquiétant. Il ne semble y avoir aucun résultat depuis le début du projet. Un module a été abandonné sans que le module en question n'ait été décrit ou que la raison de l'abandon ait été précisé. Attention votre projet est en voie d'échec.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Page de Wiki assez vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Le robot centaure est en plus mauvais état maintenant qu'au début du projet. Vous semblez avoir une nouvelle fois abandonné votre projet.&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt;Des ajouts mineurs au Wiki le 19/02/2018.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Présentation très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Pas de réponse à la question difficile. Page Wiki un peu vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Un Wiki incomplet alors que la feuille d'heures est actualisée. Vous semblez toujours bloqués sur les problèmes d'étalonnage !&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Wiki avec quelques informations sur le travail accompli depuis fin novembre : étude sur modbus et labview. Quelques coquilles.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Très peu d'illustrations. Texte mal formaté et avec des coquilles intolérable à ce niveau d'étude. Le compte-rendu donne l'impression d'une méthode de travail très brouillonne.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Présentation sans support. Trouver des concurrents indirects. Pas de scénario d'usage.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Aucune liste de matériel.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Analyse très correcte.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki bien tenue. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: yellow; background-color: grey;&amp;quot;&amp;gt;Quelques éléments sur le matériel dans la page Wiki mais aucune liste avec références.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tout simplement parfait !&amp;lt;/b&amp;gt; Bien illustré, bien rédigé, le travail est très bien décrit. Presque à jour. Vous n'aviez pas des cartes à faire fabriquer à l'extérieur ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Exercice bien réalisé.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Page Wiki très complète. Ajoutez des illustrations.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: lightgreen; background-color: grey;&amp;quot;&amp;gt;Une liste probablement pas exhaustive.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Exceptionnel !&amp;lt;/b&amp;gt; Très illustré, bien rédigé, le travail de recherche est très bien décrit. Je ne suis pas un fan de la mise en gras d'un quart du texte et la syntaxe Wiki n'est pas vraiment utilisée mais c'est du détail?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
| Doublant&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Page Wiki vide.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Pas de matériel à commander.&amp;lt;/font&amp;gt;&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Rien sur l'avancé du projet. Projet en échec ?&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 Pré-projet 1|Robot hexapode pour escalier]]&lt;br /&gt;
| Erasmus &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt;Projet en échec constaté.&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fiche de présence ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves !! Séance 1 (17/01) !! Séance 2 (24/01) !! Séance 3 (31/01) !! Séance 4 (7/02) !! Séance 5 (14/02) !! Séance 6 (21/02) !! Séance 7 (7/03) !! Séance 8 (14/03) !! Séance 9 (21/03) !! Séance 10 (28/03) !! Séance 11 (4/04) !! Séance 12 (11/04) !! Séance 13 (18/04)&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2017/2018 P1|Automatisation de la production de bière]]&lt;br /&gt;
|Quentin Boëns / Henri Carlier&lt;br /&gt;
|E304 &lt;br /&gt;
|E304/305&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201/E304&lt;br /&gt;
|-&lt;br /&gt;
| P3 [[IMA4 2017/2018 P3|Sécurisation de l'Internet des Objets par surveillance globale]]&lt;br /&gt;
|Ji Yang&lt;br /&gt;
|E306&lt;br /&gt;
|E303&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E306&lt;br /&gt;
|-&lt;br /&gt;
| P4 [[IMA4 2017/2018 P4|Développement d'un module d'énergie pour Internet des Objets]]&lt;br /&gt;
| Alexis Viscogliosi / Abass Ayoub &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|E304 &amp;lt;font style=&amp;quot;color: green;&amp;quot;&amp;gt;Alexis Viscogliosi Absent excusé pour entretien stage&amp;lt;/font&amp;gt;&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P5 [[IMA4 2017/2018 P5|Réseau de capteurs de pollution]]&lt;br /&gt;
| Paul Ribeiro / Mehanna Naïf&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E301&lt;br /&gt;
|E301 puis B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|C201 puis E304&lt;br /&gt;
|-&lt;br /&gt;
| P6 [[IMA4 2017/2018 P6|Réseau LoRaWAN]]&lt;br /&gt;
|  Antoine Gosse&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P7 [[IMA4 2017/2018 P7|Brique pour apprentissage informatique]]&lt;br /&gt;
| Maëva Delaporte / Simon Blas&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
| C201/E304 &amp;lt;br/&amp;gt;&lt;br /&gt;
| E301 &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2017/2018 P10|Portage de RIOT-OS sur MSP430 pour IOT]]&lt;br /&gt;
| Baptiste Cartier&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E306&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P12 [[IMA4 2017/2018 P12|Système d'ostéophonie pour magicien]]&lt;br /&gt;
| Amine El Messaoudi / Simon Feutrier&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| B207&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2017/2018 P14|Ecran géant modulaire]]&lt;br /&gt;
| Jade Dupont&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|Absence Maladie&lt;br /&gt;
|E304 &lt;br /&gt;
|E304 &lt;br /&gt;
|-&lt;br /&gt;
| P15 [[IMA4 2017/2018 P15|Balle vibrante connectée pour enfants sourd]]&lt;br /&gt;
| Thomas Cunin / Thibault Cattelain&lt;br /&gt;
| E304&lt;br /&gt;
| B306/E304&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E304 - A305)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P16 [[IMA4 2017/2018 P16|Sous-chaussure chauffante pour docker]]&lt;br /&gt;
| Rémi Mairesse / Gustave Roux&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304 / C201&lt;br /&gt;
|-&lt;br /&gt;
| P17 [[IMA4 2017/2018 P17|Safe Watch]]&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|E302&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|E304&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2017/2018 P18|Mandala électronique]]&lt;br /&gt;
| Lirui Zhang / Lihe Zhang&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| C201&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2017/2018 P19|Bijou électronique]]&lt;br /&gt;
| Lijie Yao / Keren Qiang&lt;br /&gt;
| E303&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2017/2018 P20|Solution de messagerie à base de conteneurs]]&lt;br /&gt;
| Maxime Creteur / Gao Fan&lt;br /&gt;
|E303&lt;br /&gt;
|E301&lt;br /&gt;
|A204 &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absents &amp;lt;/font&amp;gt;&lt;br /&gt;
|E303&lt;br /&gt;
|B309 puis B207&lt;br /&gt;
|E301&lt;br /&gt;
|E301&lt;br /&gt;
|-&lt;br /&gt;
| P22 [[IMA4 2017/2018 P22|Horloge numérique DCF77, serveur de temps et ludique]]&lt;br /&gt;
| Amaury Knockaert / Fabrice Taingland&lt;br /&gt;
| E304&lt;br /&gt;
| E304&lt;br /&gt;
| E304/E302&lt;br /&gt;
| C203/E306&lt;br /&gt;
| E306/E304&lt;br /&gt;
| Forum stages euratech/E304&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P23 [[IMA4 2017/2018 P23|Table de bar connectée]]&lt;br /&gt;
| Matthieu Delobelle&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E303 - C201&lt;br /&gt;
| E306 - C201&lt;br /&gt;
| E304&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2017/2018 P25|Essaim de robots]]&lt;br /&gt;
| Benjamin Canu / Ganix Etcheguibel&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| Forum Euratech jusque 17h &amp;lt;br/&amp;gt; E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2017/2018 P30|Contrôle d'une caméra WiFi.]]&lt;br /&gt;
| Taky Djeraba / Thomas Hubert&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt;&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2017/2018 P32|Tribute to Peter Vogel]]&lt;br /&gt;
| Jean-Baptiste Watine / Antoine Untereiner&lt;br /&gt;
| E306/C201&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (C201) &amp;lt;/font&amp;gt;&lt;br /&gt;
| C205&lt;br /&gt;
| C205/E301&lt;br /&gt;
| C205/E301&lt;br /&gt;
| E301&lt;br /&gt;
| C205&lt;br /&gt;
|-&lt;br /&gt;
| P35 [[IMA4 2017/2018 P35|Manette de jeu vidéo pour personne en situation de handicap]]&lt;br /&gt;
| Transley Gracias / Camille Saad&lt;br /&gt;
| E306 &lt;br /&gt;
| E306 &lt;br /&gt;
| E305&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306/C202&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2017/2018 P39|Musique des plantes]]&lt;br /&gt;
| Xavier Chenot / Rodolphe Toin&lt;br /&gt;
| E306 &lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306 puis C201&lt;br /&gt;
|-&lt;br /&gt;
| P40 [[IMA4 2017/2018 P40|Exploration du réseau d'anonymisation Tor]]&lt;br /&gt;
| Antoine Duquenoy / Anthony Durot&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
| E306&lt;br /&gt;
|-&lt;br /&gt;
| P42 [[IMA4 2017/2018 P42|Automatisation de l'assemblage de LEGO]]&lt;br /&gt;
| Eloi Zalczer / Justine Senellart&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E302/E306&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E304/E302&lt;br /&gt;
|E306/E302&lt;br /&gt;
|Hors Polytech/E302&lt;br /&gt;
|E302/E304&lt;br /&gt;
|E302/E304&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2017/2018 P44|Reconnaissance d’objets via Traitement d’image]]&lt;br /&gt;
| Damien Narbais / Zoé Briois&lt;br /&gt;
| E306&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle (E301)&amp;lt;/font&amp;gt;&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| C205&lt;br /&gt;
| E304 + 17h réunion C00X&lt;br /&gt;
| A317&lt;br /&gt;
| E304&lt;br /&gt;
|-&lt;br /&gt;
| P49 [[IMA4 2017/2018 P49|Suivi de la qualité de l’air]]&lt;br /&gt;
| Hugo Delbroucq / Nicolas Havard &lt;br /&gt;
| E301&lt;br /&gt;
| INRIA&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt; (INRIA)&lt;br /&gt;
| E301&lt;br /&gt;
| E301 puis E304&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P50 [[IMA4 2017/2018 P50|Etage commande de Centaure]]&lt;br /&gt;
|-&lt;br /&gt;
| P60 [[IMA4 2017/2018 P60|Commande de niveaux d’eau]]&lt;br /&gt;
| Claire Vandamme / Alexandra Villa &lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Hors Polytech/B106&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; Pas de salle &amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color: red;&amp;quot;&amp;gt; Absentes &amp;lt;/font&amp;gt;&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|Bureau de Mr Pekpe/E306&lt;br /&gt;
|C008&lt;br /&gt;
|C008&lt;br /&gt;
|C008(Claire : jusque 16h, RDV médical)&lt;br /&gt;
|- &lt;br /&gt;
| P64 [[IMA4 2017/2018 P64|Simulation Labview et mise en réseau Modbus d’un ascenseur]]&lt;br /&gt;
|-&lt;br /&gt;
| P65 [[IMA4 2017/2018 P65|Exosquelette pour apprentissage]]&lt;br /&gt;
| Florian Le Foll&lt;br /&gt;
| E301&lt;br /&gt;
| E301&lt;br /&gt;
|&amp;lt;font style=&amp;quot;color: orange;&amp;quot;&amp;gt; (Pas de salle) &amp;lt;/font&amp;gt;E303&lt;br /&gt;
|E303&lt;br /&gt;
|E303&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|C201&lt;br /&gt;
|-&lt;br /&gt;
| P66 [[IMA4 2017/2018 P66|Coupe de France de robotique]]&lt;br /&gt;
| Carval Amaury/ Prud'Homme Geoffrey&lt;br /&gt;
| fabricarium &lt;br /&gt;
| fabricarium puis Hors Polytech&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| Carval E306 - Preud'homme E301&lt;br /&gt;
| E301&lt;br /&gt;
| Carval C20X - Preud'homme Fabricarium&lt;br /&gt;
|-&lt;br /&gt;
| P67 [[IMA4 2017/2018 P67|Scanner 3D DIY]]&lt;br /&gt;
| Erwan Dufresne&lt;br /&gt;
| E302/E306&lt;br /&gt;
| E301&lt;br /&gt;
| E304&lt;br /&gt;
| E301&lt;br /&gt;
| E302&lt;br /&gt;
| E306&lt;br /&gt;
| E302&lt;br /&gt;
| E302/Fabricarium&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| PP1 [[IMA4 2017/2018 PP1|Robot hexapode pour escalier]]&lt;br /&gt;
| Eduardo Gomez &lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| C201&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| Fabricarium&lt;br /&gt;
| C201&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
| C201/Fabricarium&lt;br /&gt;
|-&lt;br /&gt;
| P68 [[IMA4 2017/2018 P68|Générateur de chronogrammes d'ordonnancement]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53293</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53293"/>
				<updated>2018-03-14T15:00:31Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Robot construit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse environ 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53292</id>
		<title>IMA4 2017/2018 Pré-projet 1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2017/2018_Pr%C3%A9-projet_1&amp;diff=53292"/>
				<updated>2018-03-14T15:00:11Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : /* Robot construit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation générale=&lt;br /&gt;
Le projet consiste à faire un robot araignée hexapode qui monte les escaliers&lt;br /&gt;
==Description==&lt;br /&gt;
Le projet se découpe en plusieurs phases :&lt;br /&gt;
&lt;br /&gt;
* fabrication du robot hexapode avec des servos-moteurs,&lt;br /&gt;
* programmation du robot pour monter des escaliers,&lt;br /&gt;
* localisation du robot dans Polytech et mesure de la puissance du wifi.&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
&lt;br /&gt;
=Analyse du projet=&lt;br /&gt;
La première étape est de faire de la bibliographie sur le sujet afin de définir :&lt;br /&gt;
&lt;br /&gt;
- les actions à mener pour le projet --&amp;gt; définir l'estructure, programation du robot et montage du robot&lt;br /&gt;
&lt;br /&gt;
- le matériel à utiliser&lt;br /&gt;
&lt;br /&gt;
- le scénario d'usage --&amp;gt; le robot doit monter les escaliers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Positionnement par rapport à l'existant==&lt;br /&gt;
==Scénario d'usage du produit ou du concept envisagé==&lt;br /&gt;
&lt;br /&gt;
=Préparation du projet=&lt;br /&gt;
Pour la structure du robot je vais utiliser l'imprimante 3D, donc je va faire la structure au format .stl.&lt;br /&gt;
Pour la structure je vais faire 3 composants pour les pattes et une partie central. Comme un exemple de la structure on peux regarder cette vidéo: [https://www.youtube.com/watch?v=37Q6X5ZJw-E&amp;amp;pbjreload=10]&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un design qui pourrait être intéressant pour la structure du robot: [https://www.thingiverse.com/thing:432829]&lt;br /&gt;
&lt;br /&gt;
Dans ce fichier, vous pouvez voir les images de conception [[Fichier:Diseño_robot.docx.pdf]]&lt;br /&gt;
&lt;br /&gt;
Les jambes ont trois parties, jointes par les servos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
==Choix techniques : matériel et logiciel==&lt;br /&gt;
Pour ce robot, on a besoin de:&lt;br /&gt;
&lt;br /&gt;
- 18 servo-moteurs (3 par patte, 6 pattes) --&amp;gt; MG90s&lt;br /&gt;
&lt;br /&gt;
- Arduino MEGA&lt;br /&gt;
&lt;br /&gt;
- Fils pour connecter l'Arduino et les servo-moteurs&lt;br /&gt;
&lt;br /&gt;
- Imprimante 3D&lt;br /&gt;
&lt;br /&gt;
- Une banque de batterie usb de 5 V &lt;br /&gt;
&lt;br /&gt;
- Une batterie de 9 V et 300 mA&lt;br /&gt;
&lt;br /&gt;
- Batteries portables&lt;br /&gt;
&lt;br /&gt;
- 18 vis et écrous&lt;br /&gt;
&lt;br /&gt;
- Adhésive&lt;br /&gt;
&lt;br /&gt;
==Liste des tâches à effectuer==&lt;br /&gt;
# Décider de la structure du robot: Le robot aura 6 pattes. Quelque patte aura 3 composants pour avoir un mouvement qui ressemble à une araignée. Le design sera fait au format stl pour être utilisé dans l'imprimante 3D.&lt;br /&gt;
# Utiliser l'imprimante 3D pour obtenir les parties du robot.&lt;br /&gt;
# Commencer la programation de l'Arduino. Vous devez programmer 18 servomoteurs (3 par patte, 6 pattes).&lt;br /&gt;
# Faire la connexion entre l'Arduino et les servo-moteurs.&lt;br /&gt;
&lt;br /&gt;
==Calendrier prévisionnel==&lt;br /&gt;
&lt;br /&gt;
=Réalisation du Projet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Novembre !! Décembre !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !!Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Analyse du projet &lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Recherches&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Construction&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Imprimante 3D&lt;br /&gt;
| 4&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| 6&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Wiki&lt;br /&gt;
| &lt;br /&gt;
| 5&lt;br /&gt;
| 5&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Test&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prologue==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de construire un robot hexapode capable de déplacer et de monter des escaliers. Pour cela, le robot aura besoin d'une grande mobilité dans ses pattes, pour laquelle nous utiliserons trois servomoteurs par patte. Cela fait un total de 18 servomoteurs, qui devraient être dirigés par un Arduino.&lt;br /&gt;
&lt;br /&gt;
Il sera nécessaire d'obtenir une conception du robot (corps et pattes) en 3D pour pouvoir l'imprimer sur l'imprimante 3D.&lt;br /&gt;
&lt;br /&gt;
Pour les servomoteurs, il faudra effectuer une étude sur la force qu'ils doivent exercer en fonction du poids éventuel du robot pour pouvoir les sélectionner.&lt;br /&gt;
&lt;br /&gt;
Le programme sera réalisé en Arduino, en connectant les servomoteurs aux sorties digitales et PWM de l'Arduino.&lt;br /&gt;
&lt;br /&gt;
==Analyse du servomoteurs==&lt;br /&gt;
&lt;br /&gt;
Pour mener à bien le projet, nous devons savoir quels servos utiliser. Les servos doivent être capables de soulever le robot entier, ils doivent donc avoir la force nécessaire. Pour bouger, le robot tiendra sur ses trois jambes tout en avançant avec les trois autres. Cependant, en montant les escaliers, deux servos doivent être capables de soulever le robot. C'est pourquoi nous allons diviser le poids du robot entre les deux servos qui fonctionneront en même temps.&lt;br /&gt;
&lt;br /&gt;
Le robot a:&lt;br /&gt;
&lt;br /&gt;
    1. Arduino&lt;br /&gt;
    2. Batteries&lt;br /&gt;
    3. Servo-moteurs&lt;br /&gt;
    4. GPS&lt;br /&gt;
    5. Sructure&lt;br /&gt;
&lt;br /&gt;
'''1.''' Nous devrons utiliser le méga arduino, car nous avons besoin de suffisamment d'épingles pour les 18 servo-moteurs. L'arduino mega pèse 55 grammes.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Nous avons 18 servo-moteurs. Chaque servo-moteur pèse entre 8 et 13 grammes, selon le modèle. Par conséquent, ce sera entre 144 et 234 grammes.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Le GPS pèse 8.5 grammes.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Pour connaître le nombre de batteries dont nous avons besoin, nous devons savoir quelle intensité consomme un servomoteur. Les modèles possibles de servomoteur sont:&lt;br /&gt;
&lt;br /&gt;
* 1.3kg: M = 8 g ; V = 4.8 - 7.2 V ; F = 1.3 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 1.5kg: M = 9 g ; V = 4.8 - 7.2 V ; F = 1.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
* 1.8kg: M = 10 g ; V = 4.8 - 7.2 V ; F = 1.8 kg/cm ; v = 0.12 s/60º&lt;br /&gt;
* 2.5kg: M = 13 g ; V = 4.8 - 7.2 V ; F = 2.5 kg/cm ; v = 0.10 s/60º&lt;br /&gt;
&lt;br /&gt;
M = masse ; V = tension ; F = force ; v = vitesse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On va faire les calculs avec deux servos:&lt;br /&gt;
&lt;br /&gt;
    '''1.5kg:'''&lt;br /&gt;
    C = 1.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.147 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 1.539 W&lt;br /&gt;
    I = P / V = 0.2565 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    '''2.5kg:'''&lt;br /&gt;
    C = 2.5 kg/cm * 9.8 N/kg * 1 m / 100 cm = 0.245 Nm&lt;br /&gt;
    w = 10.47 rad/s&lt;br /&gt;
    P = C * w = 2.565 W&lt;br /&gt;
    I = P / V = 0.4275 A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 2.5 kg, l'intensité total doit être 7.2 A (si I = 0.4 A). On peux utiliser batteries AA. 4 batteries de 1.5 V fait un batterie de 6 V (pour la tension du servo) avec I = 2 A. Cet batterie pèse 24 * 4 = 96 grammes. Si on utilise une batterie de 6 V pour trois servomoteurs, on a 4 batteries, qui pèsent 384 grammes.&lt;br /&gt;
&lt;br /&gt;
* Pour le servo de 1.5 kg, l'intensité total doit être 4.5 A (si I = 0.25 A). Si on utilise batteries AA, on peux utiliser une batterie de 6 V pour six servomoteurs, donc on aura 3 batteries, qui pèsent 288 grammes.&lt;br /&gt;
&lt;br /&gt;
* Le support de batterie pèse 16 grammes. Si on utilise 4 supports ça fait 64 grammes. Avec 3 supports c'est 48 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour le gps nous allons utiliser une banque de batterie usb de 5 V (286 g), et pour l'Arduino nous allons utiliser une batterie de 9 V et 300 mA (54 g).&lt;br /&gt;
&lt;br /&gt;
'''5.''' Pour trouver le poids de la structure, j'ai utilisé le robot que mes collègues ont fait l'année dernière. J'ai calculé un poid de 180 grammes, donc on peut supposer que le poids de la structure sera compris entre 100 et 250 grammes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Première supposition&lt;br /&gt;
Servo-moteur de 1.5 kg --&amp;gt; Mtotal= 55 + 162 + 8.5 + 288 + 48 + [100, 250] = 736.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Deuxième supposition&lt;br /&gt;
Servo-moteur de 2.5 kg --&amp;gt; Mtotal= 55 + 234 + 8.5 + 384 + 64 + [100, 250] = 920.5 +- 75 grammes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot sera supporté par au moins deux servomoteurs. Si le robot pèse environ 1 kg, comme nous l'avons calculé, nous pouvons utiliser l'un des deux servomoteurs pour le robot. Finalement, on va utiliser des servomoteurs sg90, qui sont les servomoteurs disponibles.&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
===Construction d'une patte===&lt;br /&gt;
&lt;br /&gt;
Pour la construction du robot je vais utiliser 18 servomoteurs MG90s, 18 vis M3-16 avec ses écrous et une adhésive pour coller les servos à la patte.&lt;br /&gt;
&lt;br /&gt;
Chaque patte est composée de trois parties: l'épaule, le fémur et la tibia. Il y a deux servomoteurs dans le fémur et un dans l'épaule. L'union entre les trois parties est faite par le servomoteur d'un côté, et une vis M3 de l'autre. Les servomoteurs sont collés avec un colle double face. Pour que le colle marche bien, on doit atteindre 24 heures avant d'utiliser la patte. Le vis ne doit pas être trop serrée car il empêche le mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Unepatte.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Ci-dessus, on peut voir une patte et les composants séparés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Construction du robot===&lt;br /&gt;
&lt;br /&gt;
La première partie consiste à construire les pattes. J'ai actuellement 12 servomoteurs disponibles, donc j'ai construit 4 pattes. Chaque patte est montée de la même manière que la première(cf section précédente). C'est un long processus car il est nécessaire d'attendre à chaque un long moment afin que la colle sèche. De plus, la fixation n'est pas tout le temps bien faite donc je dois m'y reprendre à plusieurs fois pour y arriver.&lt;br /&gt;
&lt;br /&gt;
Lorsque les pattes sont prêtes, elles doivent être jointes au corps. Pour cela, j'ai utilisé la même colle, mais les nouveaux servomoteurs n'ont pas assez de surface pour coller, donc j'ai besoin d'une colle plus forte. J'ai essayé autre fois avec la même colle et j'ai essayé aussi avec de la résine rapide, la colle de bois et la colle forte. La résine rapide et la colle de bois n'ont pas marché: quand il est séché, si j’essaie de tester les pattes ils se séparent du robot. ça a fait beaucoup de temps en train coller le robot pour atteindre à que la colle sèche.&lt;br /&gt;
&lt;br /&gt;
Finalement, j'ai utilisé de la colle forte. On doit attendre 100 heures pour que la colle sèche, mais je n'a pas trouvé autre colle ou adhésive qui marche.&lt;br /&gt;
&lt;br /&gt;
J'ai trouvé un problème de construction pendant les tests du robot. Comme la taille des servomoteurs est différente au espace destiné à eux, ils se mouvent dans la patte, donc si l'effort est très grand ils peuvent se détacher. Pour que les servomoteurs restent fixes, j'ai utilisé des vis M2 à chaque coté du servomoteur. J'ai utilisé 16 vis dans 4 pattes, et il reste faire autres deux pattes de la même manière.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:vis.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Les servomoteurs sont réutilisés (ils étaient utilisés l'année dernier pour autre robot). Je n'ai pas les vis des servomoteurs et il n'y a pas des éléments détachés. Le vis des servomoteurs n'est pas normalisé, donc je ne peux pas chercher autre vis dans le Fabricarium. C'est pour ça que je dois coller les servomoteurs dans la partie qui tourne. Je vais utiliser la même colle fort d'avant, parce qu'ils devraient supporter beaucoup de force là bas. Il faudra atteindre 100 heures aussi pour qu'ils sèchent.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:corprob.jpg|250px]] Ici on peux voir la partie centrale du robot. Je vais imprimer autre semblable pour que la patte reste bien fixé. Les deux parties seront unies par une petite élément fixé avec des vis.&lt;br /&gt;
&lt;br /&gt;
==Test d'un patte==&lt;br /&gt;
&lt;br /&gt;
===Robot de test===&lt;br /&gt;
&lt;br /&gt;
J'ai effectué le test d'une patte de robot. Pour ce test, j'ai branché  les servo-moteurs à la protoboard, qui est alimenté par la batterie. L'Arduino est branché à l'ordinateur pour télécharger le programme et l'alimenter. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Pour tester les mouvements de la patte, j'ai utilisé cette programme:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo hom;&lt;br /&gt;
Servo cod;&lt;br /&gt;
Servo pie;&lt;br /&gt;
Servo otro;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  hom.attach(3);&lt;br /&gt;
  cod.attach(5);&lt;br /&gt;
  pie.attach(6);&lt;br /&gt;
  otro.attach(9);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
 hom.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 hom.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  pie.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 pie.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
  cod.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 cod.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  &lt;br /&gt;
   otro.write(90);&lt;br /&gt;
 delay(1000);&lt;br /&gt;
 otro.write(180);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il y a un problème avec l'alimentation. si un seul servo est testé, il fonctionne correctement, mais si deux servos ou plus sont connectés, ils sont bloqués ou ils font de courts mouvements et ils vibrent. J'ai testé le programme avec différents Arduino (Arduino Mega et Arduino Uno). L'arduino Uno fonctionne mieux mais donne aussi les mêmes problèmes, donc le problème n'est pas ni l'Arduino ni le programme (j'ai testé différents programmes plus basiques et la même chose arrive).&lt;br /&gt;
&lt;br /&gt;
J'ai cherché des solutions par Internet et il dit que le problème est probablement l'alimentation. Je vais faire des testes pour voir si le problème c'est le fil de l'alimentation, mais sinon je va essayer avec une batterie plus grande.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J'ai testé les servos avec le dernier programme que j'ai ajouté et en changent l'alimentation (avec l'ordinateur ou avec la batterie). Je crois qu'on doit alimenter les servo-moteurs avec plusier d'intensité (c'est pour ça qu'ils ne marchent pas bien). Je veux tester à alimenter l'Arduino avec l'ordinateur et le robot avec la batterie et la sortie de 5V de l'Arduino. Si on fait ça, l'intensité du circuit augmente et les servos peuvent marcher bien. La connexion sera:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DoubleConnexion.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Robot construit===&lt;br /&gt;
&lt;br /&gt;
Pour tester une patte j'ai mesuré l'intensité et la tension en connectant les servos. Les servos sont connectés en parallèle à la batterie. La deuxième sortie de la batterie alimente l'Arduino. Les servos sont aussi connectés à l'Arduino avec les ports PWM. Ici on peut voir un schéma de la connexion:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schemaconnexion1.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Dans le schéma, A = mesure de l'intensité et V = mesure de la tension.&lt;br /&gt;
&lt;br /&gt;
Pour ces mesures j'ai utilisé un voltmètre et un oscilloscope pour voir la variation de la tension. &lt;br /&gt;
&lt;br /&gt;
Théoriquement, la tension doit être constant en 5 V (c'est l'alimentation de la batterie). Les servomoteurs consomment normalement entre 200 et 300 mA quand ils se mouvent.&lt;br /&gt;
&lt;br /&gt;
Dans la pratique, j'ai mesuré un tension de 5,11 V (proche à 5 V) et il varie entre 4,9 et 5,1 quand les servomoteurs se mouvent. Pour l'intensité j'ai fait trois testes: avec 1 servomoteur, avec 2 servomoteurs et avec les 3 servomoteurs, en mesurant toutes les courants à chaque fois. Les résultat étaient:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MesuresIV.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir que les servomoteurs 2 et 3 consomment un intensité entre 100 et 300 mA (normalement 250 mA) quand ils se mouvent. S'ils rentent immobiles ils ne consomment pas d'intensité.&lt;br /&gt;
Le servomoteur 1 a des valeur différentes. Normalement il a besoin entre 600 et 800 mA, mais il y a des moments où il consomme 2 A plus ou moins. Ces sont des moments très courts et seulement quand il bouge. J'ai cherché et quand les servomoteurs sont activés il peut avoir des pics de consommation. Aussi, si le servomoteur est vieux il peut avoir plusieurs des pertes et pour ça il consomme plus d'intensité.&lt;br /&gt;
&lt;br /&gt;
On peut voir que l'intensité total du circuit (sans les pics de consommation du premier servomoteur) n'est pas plus grand que 1 A, donc avec cette batterie on peut alimenter au moins deux pattes (6 servomoteurs).&lt;br /&gt;
&lt;br /&gt;
Pour mesurer l'intensité et la tension j'ai utilisé une programme d'Arduino qui fait que les servomoteurs bougent entre 0 et 180 degrés tour à tour:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD1.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD2.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
 for (i=0; i&amp;lt;180; i=i+10){&lt;br /&gt;
 AD3.write(i);&lt;br /&gt;
 delay(100);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pour voir les pics d'intensité on va utiliser un résistance en série avec le servomoteur. Comme normalement le servomoteur consomme 200 mA. on va supposer que dans la résistance aura 100 mV plus ou moins (parce que toute la tension sera dans le servomoteur) donc on a besoin d'une résistance de 0.5 Ohms (V=RI Loi de Ohm).&lt;br /&gt;
Comme on n'a pas des résistances de 0.5 Ohm, on utilisera deux résistances de 1 Ohm en parallèle pour donner une résistance de 0.5.&lt;br /&gt;
A l'aide d'une oscillateur, en mesurant la tension on peut obtenir l'intensité (multiplier par 2) et on trouve que les pics sont de 400 mA plus ou moins, pas de 1 A comme on a vu précédemment, parce que les autres mesures de l'intensité étaient fait directement sur le servomoteur et sans oscillateur, et ça ne donne pas une mesure précise des pics de l'intensité.&lt;br /&gt;
&lt;br /&gt;
* J'ai testé deux pattes en obtenant des résultats très pareils à les mesures d'une patte (une consommation moyenne de 200 mA quand ils tournent et des pics de 400 mA avec de la charge). Il faut dire que si les servomoteurs sont connectés seulement à la batterie, a partir de 3 servomoteurs ils ne marchent pas bien, mais si on connecte les servomoteurs à la batterie et à la sortie 5 V de l'Arduino on peut connecter au minimum 12 servomoteurs (4 pattes) et toutes marchent bien.&lt;br /&gt;
&lt;br /&gt;
* Pour utiliser toutes les pattes avec le même programme j'ai besoin d'une batterie plus grand (pour la consommation d'intensité des servomoteurs). J'ai cherché et il est conseillé d'utiliser des batteries LIPO qui ont un taux de décharge plus grand.&lt;br /&gt;
&lt;br /&gt;
==Programme Arduino==&lt;br /&gt;
&lt;br /&gt;
Pour programmer le robot on va utiliser Servo.h, où on peut trouver les commandes .attach(), pour définir le pin de chaque servomoteur, et .write(), pour écrite la position en grades du servomoteur.&lt;br /&gt;
&lt;br /&gt;
Ici c'est le programme que je suis en traint de faire pour monter les escaliers:&lt;br /&gt;
&lt;br /&gt;
'''Les servo-moteurs s'appelent A=avant, B=Au milieu, C=derrière; D= à droite, G= à gauche; 1=épaule, 2=femur, 3= pied.'''&lt;br /&gt;
&lt;br /&gt;
J'ai testé les parties du programme séparement et avec un ou deux servo-moteurs seulement. Si la connexion avec l'ordinateur et la batterie marche bien je peux le tester avec plusiers de servos.&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt;&lt;br /&gt;
Servo AD1;&lt;br /&gt;
Servo AD2;&lt;br /&gt;
Servo AD3;&lt;br /&gt;
Servo AG1;&lt;br /&gt;
Servo AG2;&lt;br /&gt;
Servo AG3;&lt;br /&gt;
&lt;br /&gt;
Servo BD1;&lt;br /&gt;
Servo BD2;&lt;br /&gt;
Servo BD3;&lt;br /&gt;
Servo BG1;&lt;br /&gt;
Servo BG2;&lt;br /&gt;
Servo BG3;&lt;br /&gt;
&lt;br /&gt;
Servo CD1;&lt;br /&gt;
Servo CD2;&lt;br /&gt;
Servo CD3;&lt;br /&gt;
Servo CG1;&lt;br /&gt;
Servo CG2;&lt;br /&gt;
Servo CG3;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.attach(8);&lt;br /&gt;
  AD2.attach(9);&lt;br /&gt;
  AD3.attach(10);&lt;br /&gt;
&lt;br /&gt;
  AG1.attach(11);&lt;br /&gt;
  AG2.attach(12);&lt;br /&gt;
  AG3.attach(13);&lt;br /&gt;
&lt;br /&gt;
  BD1.attach(2);&lt;br /&gt;
  BD2.attach(3);&lt;br /&gt;
  BD3.attach(4);&lt;br /&gt;
&lt;br /&gt;
  BG1.attach(5);&lt;br /&gt;
  BG2.attach(6);&lt;br /&gt;
  BG3.attach(7);&lt;br /&gt;
&lt;br /&gt;
  CD1.attach(22);&lt;br /&gt;
  CD2.attach(24);&lt;br /&gt;
  CD3.attach(26);&lt;br /&gt;
&lt;br /&gt;
  CG1.attach(28);&lt;br /&gt;
  CG2.attach(30);&lt;br /&gt;
  CG3.attach(32);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  AD1.write(90);&lt;br /&gt;
  AG1.write(90);&lt;br /&gt;
  AD2.write(90);&lt;br /&gt;
  AG2.write(90);&lt;br /&gt;
  AD3.write(90);&lt;br /&gt;
  AG3.write(90);&lt;br /&gt;
&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  BD3.write(180);&lt;br /&gt;
  BG3.write(180);&lt;br /&gt;
&lt;br /&gt;
  CD1.write(90);&lt;br /&gt;
  CG1.write(90);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  CD3.write(180);&lt;br /&gt;
  CG3.write(180);&lt;br /&gt;
  &lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(0);&lt;br /&gt;
  AG2.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD3.write(60);&lt;br /&gt;
  AG3.write(60);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD1.write(0);&lt;br /&gt;
  AG1.write(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  AD2.write(45);&lt;br /&gt;
  AG2.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  &lt;br /&gt;
for(i=0; i&amp;lt;5; i++){&lt;br /&gt;
  CG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG1.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BG2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  CD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(45);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD2.write(180);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  BD1.write(135);&lt;br /&gt;
  BG1.write(45);&lt;br /&gt;
  CD1.write(135);&lt;br /&gt;
  CG1.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  BD2.write(135);&lt;br /&gt;
  BG2.write(135);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(90);&lt;br /&gt;
  BG1.write(90);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(0);&lt;br /&gt;
  BG2.write(0);&lt;br /&gt;
  BD3.write(60);&lt;br /&gt;
  BG3.write(60);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD1.write(150);&lt;br /&gt;
  BG1.write(150);&lt;br /&gt;
  delay(20);&lt;br /&gt;
  BD2.write(45);&lt;br /&gt;
  BG2.write(45);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce programme marche avec les positions initiales de chaque servo-moteur. Il peut être necessaire qu'on devra changer les positions du programme en fonction de la contruction du robot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Méthode pour que le robot marche'''&lt;br /&gt;
&lt;br /&gt;
Pour faire que le robot marche je vais faire avancer chaque patte par séparé est après tourner au même temps toutes les servomoteurs qui unissent les pattes avec le structure du robot. Pour que le robot marche plus vite, il peut tourner ces servomoteurs de trois pattes pendant les autres pattes avancent. Le programme pour que le robot marche avec trois servomoteurs est:&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
 AD1.write(0);&lt;br /&gt;
 AG1.write(0);&lt;br /&gt;
 BD1.write(0);&lt;br /&gt;
 &lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AD3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 AG3.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(200);&lt;br /&gt;
 BD3.write(90);&lt;br /&gt;
 delay(700);&lt;br /&gt;
&lt;br /&gt;
  AD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 AG2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 AG2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
&lt;br /&gt;
 BD2.write(150);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD1.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 BD2.write(90);&lt;br /&gt;
 delay(500);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Capteur de proximité==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour détecter les escaliers et activer le programme, nous pouvons utiliser un capteur de proximité: Le HC-SR04. Il est spécialement recommandé pour utiliser avec l'Arduino, parce qu'il travaille à 5V et 1.5mA.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques:&lt;br /&gt;
* Alimentation de 5 volts.&lt;br /&gt;
* Connexion (vcc, trigger, echo, GND).&lt;br /&gt;
* Mesure: 2 cm a 400cm.&lt;br /&gt;
* Courant d'alimentation: 1.5mA.&lt;br /&gt;
* Fréquence: 40Khz.&lt;br /&gt;
* 15°.&lt;br /&gt;
* Taille: 45x20x15mm.&lt;br /&gt;
&lt;br /&gt;
=Documents Rendus=&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Schemaconnexion1.jpg&amp;diff=53291</id>
		<title>Fichier:Schemaconnexion1.jpg</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Schemaconnexion1.jpg&amp;diff=53291"/>
				<updated>2018-03-14T14:59:48Z</updated>
		
		<summary type="html">&lt;p&gt;Egomezri : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egomezri</name></author>	</entry>

	</feed>