﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://bacasable.arpitania.eu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fran%C3%A7ois</id>
	<title>Learning Lab Environnements Connectés - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://bacasable.arpitania.eu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fran%C3%A7ois"/>
	<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Sp%C3%A9cial:Contributions/Fran%C3%A7ois"/>
	<updated>2026-04-08T12:28:06Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10267</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10267"/>
		<updated>2019-05-16T11:49:23Z</updated>

		<summary type="html">&lt;p&gt;François : /* Composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
== Diagrammes fonctionnels ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
== Spécifications fonctionnelles ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Spécifications fonctionnelles&lt;br /&gt;
|-&lt;br /&gt;
|Fonction principale&lt;br /&gt;
|Diriger des robot avec une baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 1&lt;br /&gt;
|Établir une communication entre les robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 2&lt;br /&gt;
|Empêcher les ordres non voulu&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 3&lt;br /&gt;
|Implémenter un feedback physique à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 4&lt;br /&gt;
|Implémenter un feedback lumineux à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 5&lt;br /&gt;
|Implémenter un feedback lumineux aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 6&lt;br /&gt;
|Implémenter un feedback sonore aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 7&lt;br /&gt;
|Créer des chorégraphies&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Rendu_Baguette_Magique.JPG|vignette|La baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
*Régulateur de tension : Traco Power&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10266</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10266"/>
		<updated>2019-05-15T12:26:16Z</updated>

		<summary type="html">&lt;p&gt;François : /* Conception */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception 3D ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur. De plus nous souhaitions qu'elle s'amincisse à son extrémité.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|thumb|center|Vue en coupe de la première version de la baguette modélisé sous Solid]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique. De plus l'affinage à été abandonné car la place était top faible au vu du nombre de composant nécessaire et de leurs tailles.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Rendu_Baguette_Magique.JPG|thumb|center|Rendu SolidWorks de la version finale de la baguette]]&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diviseur.png|thumb|center|Pont diviseur]]&lt;br /&gt;
Afin de pouvoir alimenter l'ensemble des cartes et moteur avec une seul batteries nous avons utilisé un pont diviseur de tension pré-fait pour nous assurer de la stabilité de la tension d'alimentation.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontré des soucis avec la sparkfun hébergent à la fois le serveur bluetooth et Wi-Fi, en effet elle plante régulièrement après une utilisation trop longue. Cela est sans doute dû à des fuites de mémoires.&lt;br /&gt;
&lt;br /&gt;
Finalement la communication est effectué à 115200 bauds et subit quelques conflit sans influences sur la stabilité globale.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10265</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10265"/>
		<updated>2019-05-15T12:22:53Z</updated>

		<summary type="html">&lt;p&gt;François : /* Conception 3D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diviseur.png|thumb|center|Pont diviseur]]&lt;br /&gt;
Afin de pouvoir alimenter l'ensemble des cartes et moteur avec une seul batteries nous avons utilisé un pont diviseur de tension pré-fait pour nous assurer de la stabilité de la tension d'alimentation.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontré des soucis avec la sparkfun hébergent à la fois le serveur bluetooth et Wi-Fi, en effet elle plante régulièrement après une utilisation trop longue. Cela est sans doute dû à des fuites de mémoires.&lt;br /&gt;
&lt;br /&gt;
Finalement la communication est effectué à 115200 bauds et subit quelques conflit sans influences sur la stabilité globale.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10264</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10264"/>
		<updated>2019-05-15T12:21:40Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Conception 3D ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|thumb|center|Vue en coupe de la première version de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Rendu_Baguette_Magique.JPG|thumb|center|Rendu SolidWorks de la version finale de la baguette]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diviseur.png|thumb|center|Pont diviseur]]&lt;br /&gt;
Afin de pouvoir alimenter l'ensemble des cartes et moteur avec une seul batteries nous avons utilisé un pont diviseur de tension pré-fait pour nous assurer de la stabilité de la tension d'alimentation.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontré des soucis avec la sparkfun hébergent à la fois le serveur bluetooth et Wi-Fi, en effet elle plante régulièrement après une utilisation trop longue. Cela est sans doute dû à des fuites de mémoires.&lt;br /&gt;
&lt;br /&gt;
Finalement la communication est effectué à 115200 bauds et subit quelques conflit sans influences sur la stabilité globale.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10263</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10263"/>
		<updated>2019-05-15T12:20:15Z</updated>

		<summary type="html">&lt;p&gt;François : /* Aspect esthétique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
== Diagrammes fonctionnels ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
== Spécifications fonctionnelles ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Spécifications fonctionnelles&lt;br /&gt;
|-&lt;br /&gt;
|Fonction principale&lt;br /&gt;
|Diriger des robot avec une baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 1&lt;br /&gt;
|Établir une communication entre les robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 2&lt;br /&gt;
|Empêcher les ordres non voulu&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 3&lt;br /&gt;
|Implémenter un feedback physique à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 4&lt;br /&gt;
|Implémenter un feedback lumineux à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 5&lt;br /&gt;
|Implémenter un feedback lumineux aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 6&lt;br /&gt;
|Implémenter un feedback sonore aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 7&lt;br /&gt;
|Créer des chorégraphies&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Rendu_Baguette_Magique.JPG|vignette|La baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
*Pont diviseur de tension : Traco Power&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Rendu_Baguette_Magique.JPG&amp;diff=10262</id>
		<title>Fichier:Rendu Baguette Magique.JPG</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Rendu_Baguette_Magique.JPG&amp;diff=10262"/>
		<updated>2019-05-15T12:18:40Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10261</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10261"/>
		<updated>2019-05-15T11:43:39Z</updated>

		<summary type="html">&lt;p&gt;François : /* La détection d’obstacle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
== Diagrammes fonctionnels ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
== Spécifications fonctionnelles ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Spécifications fonctionnelles&lt;br /&gt;
|-&lt;br /&gt;
|Fonction principale&lt;br /&gt;
|Diriger des robot avec une baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 1&lt;br /&gt;
|Établir une communication entre les robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 2&lt;br /&gt;
|Empêcher les ordres non voulu&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 3&lt;br /&gt;
|Implémenter un feedback physique à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 4&lt;br /&gt;
|Implémenter un feedback lumineux à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 5&lt;br /&gt;
|Implémenter un feedback lumineux aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 6&lt;br /&gt;
|Implémenter un feedback sonore aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 7&lt;br /&gt;
|Créer des chorégraphies&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
*Pont diviseur de tension : Traco Power&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10260</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10260"/>
		<updated>2019-05-15T11:41:28Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
== Diagrammes fonctionnels ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
== Spécifications fonctionnelles ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Spécifications fonctionnelles&lt;br /&gt;
|-&lt;br /&gt;
|Fonction principale&lt;br /&gt;
|Diriger des robot avec une baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 1&lt;br /&gt;
|Établir une communication entre les robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 2&lt;br /&gt;
|Empêcher les ordres non voulu&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 3&lt;br /&gt;
|Implémenter un feedback physique à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 4&lt;br /&gt;
|Implémenter un feedback lumineux à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 5&lt;br /&gt;
|Implémenter un feedback lumineux aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 6&lt;br /&gt;
|Implémenter un feedback sonore aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 7&lt;br /&gt;
|Créer des chorégraphies&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
*Pont diviseur de tension : Traco Power&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10259</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10259"/>
		<updated>2019-05-15T11:39:18Z</updated>

		<summary type="html">&lt;p&gt;François : /* Schéma de câblage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diviseur.png|thumb|center|Pont diviseur]]&lt;br /&gt;
Afin de pouvoir alimenter l'ensemble des cartes et moteur avec une seul batteries nous avons utilisé un pont diviseur de tension pré-fait pour nous assurer de la stabilité de la tension d'alimentation.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontré des soucis avec la sparkfun hébergent à la fois le serveur bluetooth et Wi-Fi, en effet elle plante régulièrement après une utilisation trop longue. Cela est sans doute dû à des fuites de mémoires.&lt;br /&gt;
&lt;br /&gt;
Finalement la communication est effectué à 115200 bauds et subit quelques conflit sans influences sur la stabilité globale.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Diviseur.png&amp;diff=10258</id>
		<title>Fichier:Diviseur.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Diviseur.png&amp;diff=10258"/>
		<updated>2019-05-15T11:36:51Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10257</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10257"/>
		<updated>2019-05-14T12:19:02Z</updated>

		<summary type="html">&lt;p&gt;François : /* Communication Wi-Fi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontré des soucis avec la sparkfun hébergent à la fois le serveur bluetooth et Wi-Fi, en effet elle plante régulièrement après une utilisation trop longue. Cela est sans doute dû à des fuites de mémoires.&lt;br /&gt;
&lt;br /&gt;
Finalement la communication est effectué à 115200 bauds et subit quelques conflit sans influences sur la stabilité globale.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10256</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10256"/>
		<updated>2019-05-14T12:05:26Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:BLE_client_WIFI_server.zip&amp;diff=10255</id>
		<title>Fichier:BLE client WIFI server.zip</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:BLE_client_WIFI_server.zip&amp;diff=10255"/>
		<updated>2019-05-14T07:49:14Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10254</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10254"/>
		<updated>2019-05-13T12:08:03Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
Après une période d'environ deux minutes les moteurs s’arrêtent de fonctionner car ils deviennent trop chaud. Nous avons changer les radiateurs pour en installer de plus gros afin de pallier le problème&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10253</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10253"/>
		<updated>2019-04-26T09:33:18Z</updated>

		<summary type="html">&lt;p&gt;François : /* Programme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot (assuré par la carte [https://www.pjrc.com/teensy/ Arduino Teensy])&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves (assuré par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32])&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte Arduino Teensy.&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte Sparkfun esp32.&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10252</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10252"/>
		<updated>2019-04-26T09:31:28Z</updated>

		<summary type="html">&lt;p&gt;François : /* Conception */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sauter) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupée sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue, au détriment cependant de l'aspect esthétique.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10251</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10251"/>
		<updated>2019-04-26T09:30:13Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle direct ===&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10250</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10250"/>
		<updated>2019-04-26T09:29:29Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
== Diagrammes fonctionnels ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
== Spécifications fonctionnelles ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Spécifications fonctionnelles&lt;br /&gt;
|-&lt;br /&gt;
|Fonction principale&lt;br /&gt;
|Diriger des robot avec une baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 1&lt;br /&gt;
|Établir une communication entre les robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 2&lt;br /&gt;
|Empêcher les ordres non voulu&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 3&lt;br /&gt;
|Implémenter un feedback physique à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 4&lt;br /&gt;
|Implémenter un feedback lumineux à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 5&lt;br /&gt;
|Implémenter un feedback lumineux aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 6&lt;br /&gt;
|Implémenter un feedback sonore aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 7&lt;br /&gt;
|Créer des chorégraphies&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10249</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10249"/>
		<updated>2019-04-26T09:29:26Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Contrôle directe ===&lt;br /&gt;
&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
=== Chorégraphies ===&lt;br /&gt;
&lt;br /&gt;
Nous avons tenté de mettre en place des chorégraphies exécutées par les robots, une fois lancé les robots exécuteraient un jeu de mouvement et de son et lumière définis à l'avance.&lt;br /&gt;
&lt;br /&gt;
Pour lancer la chorégraphies nous avons choisie de ne pas ajouter de composants supplémentaire à la baguette. Pour différencier le lancement de chorégraphies d'un ordre lambda nous allons donc utiliser les mouvements hors appui du bouton.&lt;br /&gt;
Nous allons mettre en mémoire les derniers mouvement hors appui du bouton et lors de l'appui suivant, le programme ira vérifier cette mémoire et si les derniers mouvements corresponde à une séquence et que le temps d'appui du bouton est inférieur à un seuil donné (probablement une seconde) une séquence sera lancé. Pour que se système fonctionne correctement la baguette passera la première seconde d'appui à ne rien faire en dehors de vérifier que le bouton reste enfoncé.&lt;br /&gt;
&lt;br /&gt;
Cela implique un lag d'une seconde lors de l'appui du bouton pour lancer les ordres normaux mais cette solution semble être la plus simple à mettre en oeuvre tout en restant élégante et en conservant l'aspect &amp;quot;magique&amp;quot; de la baguette.&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10248</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10248"/>
		<updated>2019-04-26T08:46:50Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde.&lt;br /&gt;
&lt;br /&gt;
Mais un problème persiste: lorsque la carte du robot-maître doit à la fois réservoir les informations Bluetooth et transmettre les ordres en Wi-Fi le système deviens instable.&lt;br /&gt;
Afin de palier ce problème nous avons tenté de créer une connexion UDP pour pouvoir établir une connexion stable entre le robot-maître et les deux robot-esclaves simultanément.&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10247</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10247"/>
		<updated>2019-04-26T08:27:26Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
== Diagrammes fonctionnels ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
== Spécifications fonctionnelles ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Spécifications fonctionnelles&lt;br /&gt;
|-&lt;br /&gt;
|Fonction principale&lt;br /&gt;
|Diriger des robot avec une baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 1&lt;br /&gt;
|Établir une communication entre les robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 2&lt;br /&gt;
|Empêcher les ordres non voulu&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 3&lt;br /&gt;
|Implémenter un feedback physique à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 4&lt;br /&gt;
|Implémenter un feedback lumineux à la baguette&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 5&lt;br /&gt;
|Implémenter un feedback lumineux aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 6&lt;br /&gt;
|Implémenter un feedback sonore aux robots&lt;br /&gt;
|-&lt;br /&gt;
|Fonction secondaire 7&lt;br /&gt;
|Eviter les obstacles&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10246</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10246"/>
		<updated>2019-04-26T07:43:45Z</updated>

		<summary type="html">&lt;p&gt;François : /* Références externes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
[[https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique Documentation technique]]&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10245</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10245"/>
		<updated>2019-04-25T14:12:02Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|frame|Schéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10244</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10244"/>
		<updated>2019-04-25T14:06:07Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|Chéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage simplifié de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10243</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10243"/>
		<updated>2019-04-25T14:05:15Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center|Chéma de câblage de la buaguette]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction et même le model de carte pour pouvoir identifier la source du problème.&lt;br /&gt;
&lt;br /&gt;
 Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
Un autre souci à été son alimentation, en effet non seulement elle est très consommatrice d'énergie mais en plus elle n'est pas alimenté en 3.3V&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Communication Wi-Fi ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10242</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10242"/>
		<updated>2019-04-25T13:53:51Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px|center]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10241</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10241"/>
		<updated>2019-04-25T13:48:38Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip|Programme de test du gyromètre]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip|Programme final hors gestion LED]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr BLE scanner] afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png|center]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10240</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10240"/>
		<updated>2019-04-25T13:40:55Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître qui doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
Documentation technique: https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10239</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10239"/>
		<updated>2019-04-25T13:39:16Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître, le robot-maître doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun esp32] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la détection d’obstacle &lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
Documentation technique: https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10238</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10238"/>
		<updated>2019-04-25T13:39:12Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile &amp;lt;ref name=&amp;quot;BLEscan&amp;quot;&amp;gt; BLE scanner  [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr] &amp;lt;/ref&amp;gt; afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Le programme du robot-maître se sépare en deux grandes parties:&lt;br /&gt;
*le pilotage du robot&lt;br /&gt;
*la communication avec la baguette et les robot-esclaves&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10237</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10237"/>
		<updated>2019-04-25T13:34:27Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip]]&lt;br /&gt;
&lt;br /&gt;
Ce code ci est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile &amp;lt;ref name=&amp;quot;BLEscan&amp;quot;&amp;gt; BLE scanner  [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr] &amp;lt;/ref&amp;gt; afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
== Conception ==&lt;br /&gt;
&lt;br /&gt;
La conception 3D de la baguette à été faite sous Solid Works. Elle a ensuite été imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
Initialement elle devait s'ouvrir aux deux extrémités (à la manière d'un manche de corde à sautée) afin de pouvoir accéder aux différentes cartes et batteries à l'intérieur.&lt;br /&gt;
&lt;br /&gt;
Cependant c'est l'ouverture par la tranche à la façon d'un moule (la baguette est coupé sur toute la longueur et maintenue en place par des vis) qui a été retenue, en effet cela garantie une plus grande résilience en une praticité accrue.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via un asservissent et des interruptions par la carte [https://www.pjrc.com/teensy/ Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Dès que l'une des roues codeuses atteint une nouvelle position elle génère une interruption afin d'optimiser la réactivité de notre asservissement en limitant les consommations électriques de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Les communications Wi-Fi et Bluetooth sont gérées par la carte [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all Sparkfun esp32]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexions au serveur plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client]]&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10236</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10236"/>
		<updated>2019-04-25T13:05:48Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître, le robot-maître doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations linéaire et rotative&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la détection d’obstacle &lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
Documentation technique: https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10235</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10235"/>
		<updated>2019-04-25T13:05:46Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png]]&lt;br /&gt;
&lt;br /&gt;
== Code Arduino ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip]]&lt;br /&gt;
&lt;br /&gt;
Ce code si est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile &amp;lt;ref name=&amp;quot;BLEscan&amp;quot;&amp;gt; BLE scanner  [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr] &amp;lt;/ref&amp;gt; afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;br /&gt;
&lt;br /&gt;
= Robot-maître =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Interface_moteur_4_roues.png|1000px|thumb|center|Schéma de câblage de l'interface de puissance du robot-maître (complètement équivalent à celui des robot-esclaves)]]&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
=== Pilotage ===&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
[[Fichier:Server_wifi.png|vignette|Alternance des connections au serveur]]&lt;br /&gt;
[[Média:Wifiserver 2clients.zip|code serveur wifi]]&lt;br /&gt;
&lt;br /&gt;
Nous avons dans un premier temps eu des problèmes pour établir une communication stable entre le serveur et le client. En effet le client pouvait se connecter mais il ne parvenait pas obtenir d'information de la part du serveur. Une fois réglé ce problème il à été simple de connecter un second client au serveur.&lt;br /&gt;
&lt;br /&gt;
Cependant les deux clients ne sont pas connecté au même moment au serveur, ils alternent les connexion plusieurs fois par seconde&lt;br /&gt;
&lt;br /&gt;
= Robot-esclave =&lt;br /&gt;
&lt;br /&gt;
== Schéma de câblage ==&lt;br /&gt;
&lt;br /&gt;
Le schéma de câblage des robot-esclaves est le même que celui du robot-maître, il a juste été adapté pour trois roues&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
[[Fichier:Client1.JPG|vignette|Communication du serveur avec le client point de vu client&lt;br /&gt;
Le programme des robot-esclaves est également le même que celui du maître, seule la partie concernant la communication Wi-Fi change. &lt;br /&gt;
&lt;br /&gt;
Les deux robot-esclaves on évidement le même [[Média:Client.zip|code client wifi]], cependant ils ont chacun leur propre adresse IP&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Client1.JPG&amp;diff=10234</id>
		<title>Fichier:Client1.JPG</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Client1.JPG&amp;diff=10234"/>
		<updated>2019-04-25T13:04:51Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Server_wifi.png&amp;diff=10233</id>
		<title>Fichier:Server wifi.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Server_wifi.png&amp;diff=10233"/>
		<updated>2019-04-25T13:03:00Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Wifiserver_2clients.zip&amp;diff=10232</id>
		<title>Fichier:Wifiserver 2clients.zip</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Wifiserver_2clients.zip&amp;diff=10232"/>
		<updated>2019-04-25T12:57:16Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Client.zip&amp;diff=10231</id>
		<title>Fichier:Client.zip</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Client.zip&amp;diff=10231"/>
		<updated>2019-04-25T12:52:41Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Interface_moteur_4_roues.png&amp;diff=10230</id>
		<title>Fichier:Interface moteur 4 roues.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Interface_moteur_4_roues.png&amp;diff=10230"/>
		<updated>2019-04-25T12:29:57Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10229</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10229"/>
		<updated>2019-04-25T12:26:19Z</updated>

		<summary type="html">&lt;p&gt;François : /* Composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître, le robot-maître doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la détection d’obstacle &lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
Documentation technique: https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10228</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10228"/>
		<updated>2019-04-25T12:25:24Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître, le robot-maître doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe1.png|thumb|center|Diagramme fonctionnel de classe 1]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png|1000px|thumb|center|Diagramme fonctionnel de classe 2]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all carte Sparkfun] a été retenu en raison de sa communication BLE malgré ça grande taille comparé à [https://www.pjrc.com/teensy/ carte Arduino Teensy].&lt;br /&gt;
&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh.&lt;br /&gt;
&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la [https://www.pololu.com/product/2470 Pololu AltMU-10 v4] et le [http://wiki.seeedstudio.com/Grove-IMU_10DOF/ Grove IMU 10DOF v1.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (triés par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître.&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Une [https://www.adafruit.com/product/1506 bande de LED] est enroulé autour de la baguette pour coller au mieux au coté ludique des robots.&lt;br /&gt;
&lt;br /&gt;
Ses fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: [http://www.kysanelectronics.com/graphics/RK-370CA.pdf Mabuchi rk-370-CA]&lt;br /&gt;
*Carte de contrôle: Arduino Teensy et Sparkfun esp32 communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf Carte fournie par TSE]&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la détection d’obstacle &lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy &amp;lt;ref name=&amp;quot;Teensy&amp;quot;/&amp;gt;&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE &amp;lt;ref name=&amp;quot;Interface de puissance&amp;quot;&amp;gt; Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] &amp;lt;/ref&amp;gt;&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
Documentation technique: https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10227</id>
		<title>Robots danseurs</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs&amp;diff=10227"/>
		<updated>2019-04-25T12:09:02Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.&amp;lt;br /&amp;gt;&lt;br /&gt;
= Sujet =&lt;br /&gt;
L'utilisateur doit pouvoir commander un robot &amp;quot;maître&amp;quot; à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
&lt;br /&gt;
Créer une &amp;quot;baguette magique&amp;quot; permettant de donner des ordres de façon fluide et intuitive à un robot-maître, le robot-maître doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Diagramme_classe_2t.png]]&lt;br /&gt;
&lt;br /&gt;
= La Baguette =&lt;br /&gt;
&lt;br /&gt;
La baguette sert à contrôler le robot maître par le biais de ses mouvements.&lt;br /&gt;
Elle doit donc pouvoir:&lt;br /&gt;
*Mesurer les amplitudes et directions de ses accélérations&lt;br /&gt;
*Traiter l'information pour en faire des ordres compréhensible par le robot-maître &lt;br /&gt;
*Pouvoir communiquer avec le robot-maître&lt;br /&gt;
&lt;br /&gt;
== Composants électroniques ==&lt;br /&gt;
&lt;br /&gt;
=== Carte de contrôle ===&lt;br /&gt;
&lt;br /&gt;
La carte Sparkfun esp32 &amp;lt;ref name=&amp;quot;Sparkfun&amp;quot;&amp;gt; carte Sparkfun [https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/all] &amp;lt;/ref&amp;gt; a été retenu en raison de sa communication BLE malgré ça grande taille comparé à L'arduinoe Teensy &amp;lt;ref name=&amp;quot;Sparkfun&amp;quot;&amp;gt; carte Teensy [https://www.pjrc.com/teensy/] &amp;lt;/ref&amp;gt;.&lt;br /&gt;
Cette carte est alimenté via une batterie de 3.6V et 600mAh&lt;br /&gt;
La carte de contrôle et la l'appareil de mesure communiquent ensemble par communication I2C.&lt;br /&gt;
&lt;br /&gt;
=== Appareil de mesure ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Gyro.jpg|vignette|Axes d'un gyromètre]]&lt;br /&gt;
Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.&lt;br /&gt;
&lt;br /&gt;
Deux gyromètre sont en compétition, la Pololu AltMU-10 v4 &amp;lt;ref name=&amp;quot;Pololu&amp;quot;&amp;gt; carte Pololu [https://www.pololu.com/product/2470] &amp;lt;/ref&amp;gt; et le Grove IMU 10DOF v1.1 &amp;lt;ref name=&amp;quot;Grove&amp;quot;&amp;gt; carte Grove [http://wiki.seeedstudio.com/Grove-IMU_10DOF/] &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Critères de choix retenus (trié par ordre d'importance):&lt;br /&gt;
# la fiabilité du capteur (absence de valeur aberrantes)&lt;br /&gt;
# la taille (il doit être facile à intégrer sur la baguette)&lt;br /&gt;
# la facilité de programmation &lt;br /&gt;
# la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)&lt;br /&gt;
&lt;br /&gt;
Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.&lt;br /&gt;
&lt;br /&gt;
Nous avons également ajouté un bouton poussoir sur la baguette, il permet de prévenir la baguette qu'elle doit commencer à capter les informations venant du gyromètre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sparkfun.jpg|vignette|Sparkfun esp32]]&lt;br /&gt;
=== Fonctionnement ===&lt;br /&gt;
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.&lt;br /&gt;
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.&lt;br /&gt;
&lt;br /&gt;
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître&lt;br /&gt;
&lt;br /&gt;
=== Liste des ordres disponibles ===&lt;br /&gt;
&lt;br /&gt;
La liste est ordre est :&lt;br /&gt;
*Coup vers l'avant: fait avancer le robot&lt;br /&gt;
*Coup vers l'arrière: fait reculer le robot&lt;br /&gt;
*Coup vers la droite: fait aller le robot vers la droite&lt;br /&gt;
*Coup vers la gauche: fait aller le robot vers la gauche&lt;br /&gt;
*Rotation droite: fait tourner le robot dans le sens anti-trigonométrique&lt;br /&gt;
*Rotation gauche: fait tourner le robot dans le sens trigonométrique&lt;br /&gt;
&lt;br /&gt;
== Aspect esthétique ==&lt;br /&gt;
&lt;br /&gt;
=== Fabrication ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]&lt;br /&gt;
&lt;br /&gt;
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.&lt;br /&gt;
&lt;br /&gt;
=== Décorations supplémentaires ===&lt;br /&gt;
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]&lt;br /&gt;
&lt;br /&gt;
Des bandes de led &amp;lt;ref name=&amp;quot;LED&amp;quot;&amp;gt; LED strip [https://www.adafruit.com/product/1506] &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La bande est enroulé autour de la baguette ces fonctionnalités sont:&lt;br /&gt;
*Prendre une couleur différente pour chaque ordre&lt;br /&gt;
*Plus l'ordre est maintenu plus le nombre de led illuminé augmente&lt;br /&gt;
*Si l'on change l'ordre les led &amp;quot;redescendent&amp;quot; rapidement avant de &amp;quot;remonter&amp;quot; dans une autre couleur&lt;br /&gt;
*Si le bouton est relâché les led &amp;quot;redescendent&amp;quot;&lt;br /&gt;
&lt;br /&gt;
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Le Robot-Maître =&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Robot maitre.jpg|vignette|Photo du robot-maître]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Mabuchi rk-370-CA &amp;lt;ref name=&amp;quot;Moteur Esclave&amp;quot;&amp;gt; Moteur Esclave [http://www.kysanelectronics.com/graphics/RK-370CA.pdf] &amp;lt;/ref&amp;gt;&lt;br /&gt;
*Carte de contrôle: Arduino Teensy &amp;lt;ref name=&amp;quot;Teensy&amp;quot;/&amp;gt; et Sparkfun esp32 &amp;lt;ref name=&amp;quot;Sparkfun&amp;quot;&amp;gt; communicant ensemble par UART&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE &amp;lt;ref name=&amp;quot;Interface de puissance&amp;quot;&amp;gt; Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] &amp;lt;/ref&amp;gt;&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le code des robots sera séparé en trois parties distinctes : &lt;br /&gt;
*la commande du robot&lt;br /&gt;
*la détection d’obstacle &lt;br /&gt;
*la communication&lt;br /&gt;
&lt;br /&gt;
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.&lt;br /&gt;
&lt;br /&gt;
=== La commande du robot ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]&lt;br /&gt;
&lt;br /&gt;
Les moteurs sont pilotés via différentes fonctions:&lt;br /&gt;
*Avancer&lt;br /&gt;
*Reculer&lt;br /&gt;
*Aller à droite&lt;br /&gt;
*Aller à gauche&lt;br /&gt;
*Aller en biais en haut à droite&lt;br /&gt;
*Aller en biais en haut à gauche&lt;br /&gt;
*Aller en biais en bas à droite&lt;br /&gt;
*Aller en biais en bas à gauche&lt;br /&gt;
*Rotation dans le sens trigonométrique&lt;br /&gt;
*Rotation dans le sens anti trigonométrique&lt;br /&gt;
&lt;br /&gt;
=== La détection d’obstacle  ===&lt;br /&gt;
&lt;br /&gt;
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures &lt;br /&gt;
&lt;br /&gt;
=== La communication ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le robot-maître reçoit ses ordres de la baguette par bluetooth.&lt;br /&gt;
&lt;br /&gt;
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.&lt;br /&gt;
&lt;br /&gt;
= Les Robot-Esclaves =&lt;br /&gt;
[[Fichier:Robot esclave.jpg|vignette|droite|Photo d'un des robot-esclaves]]&lt;br /&gt;
&lt;br /&gt;
== Composants ==&lt;br /&gt;
&lt;br /&gt;
*Moteur: Hennkwell HG37D670WE12-052&lt;br /&gt;
*Carte de contrôle: Arduino Teensy &amp;lt;ref name=&amp;quot;Teensy&amp;quot;/&amp;gt;&lt;br /&gt;
*Interface de puissance: Carte fournie par TSE &amp;lt;ref name=&amp;quot;Interface de puissance&amp;quot;&amp;gt; Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] &amp;lt;/ref&amp;gt;&lt;br /&gt;
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V  &lt;br /&gt;
&lt;br /&gt;
== Programmation ==&lt;br /&gt;
&lt;br /&gt;
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre.&lt;br /&gt;
&lt;br /&gt;
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.&lt;br /&gt;
&lt;br /&gt;
= Références externes =&lt;br /&gt;
&lt;br /&gt;
Documentation technique: https://ujm.webgroup.fr/index.php?title=Robots_danseurs_technique&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10226</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10226"/>
		<updated>2019-04-25T12:08:49Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png]]&lt;br /&gt;
&lt;br /&gt;
== Code Arduino ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip]]&lt;br /&gt;
&lt;br /&gt;
Ce code si est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile &amp;lt;ref name=&amp;quot;BLEscan&amp;quot;&amp;gt; BLE scanner  [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr] &amp;lt;/ref&amp;gt; afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LEDraté2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Diagramme_classe1.png&amp;diff=10225</id>
		<title>Fichier:Diagramme classe1.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Diagramme_classe1.png&amp;diff=10225"/>
		<updated>2019-04-25T12:07:24Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Diagramme_classe_2t.png&amp;diff=10224</id>
		<title>Fichier:Diagramme classe 2t.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Diagramme_classe_2t.png&amp;diff=10224"/>
		<updated>2019-04-25T12:06:29Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:LEDrat%C3%A92.jpg&amp;diff=10222</id>
		<title>Fichier:LEDraté2.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:LEDrat%C3%A92.jpg&amp;diff=10222"/>
		<updated>2019-04-25T10:16:38Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10221</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10221"/>
		<updated>2019-04-25T10:15:44Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png]]&lt;br /&gt;
&lt;br /&gt;
== Code Arduino ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip]]&lt;br /&gt;
&lt;br /&gt;
Ce code si est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile &amp;lt;ref name=&amp;quot;BLEscan&amp;quot;&amp;gt; BLE scanner  [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr] &amp;lt;/ref&amp;gt; afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan2.jpg]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
[[Fichier:LEDraté.jpg]]&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10219</id>
		<title>Robots danseurs technique</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_danseurs_technique&amp;diff=10219"/>
		<updated>2019-04-25T10:14:00Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Baguette =&lt;br /&gt;
&lt;br /&gt;
== Schéma de cablage == &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma baguette.png]]&lt;br /&gt;
&lt;br /&gt;
== Code Arduino ==&lt;br /&gt;
Le code suivant nous a servi à tester le gyromètre, il renvoi la direction dans laquelle le gyromètre est déplacé.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_pololu.zip]]&lt;br /&gt;
&lt;br /&gt;
Ce code si est le code utilisé pour tester toute la partie purement fonctionnel du code, il recouvre toute la partie d’acquisition des données gyroscopiques, de prise de décision et de communication BLE.&lt;br /&gt;
&lt;br /&gt;
[[Média:Test_actions_BLE.zip]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Résultat ==&lt;br /&gt;
&lt;br /&gt;
On voit ici les données brut renvoyé par le capteur Pololu, soit des valeur d'accélération dans les trois directions de l'espace. Ces valeurs n'étant pas facilement lisible par un humain nous avons implanté une fonction traduisant les informations brut en français.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_1.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons maintenant ici les résultats du capteur une fois traité, elles nous permettent de savoirs dans quel sens est dirigé la baguette de manière lisible plus facilement par un humain.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Résultat_2.png]]&lt;br /&gt;
&lt;br /&gt;
Nous utilisons l’application mobile &amp;lt;ref name=&amp;quot;BLEscan&amp;quot;&amp;gt; BLE scanner  [https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&amp;amp;hl=fr] &amp;lt;/ref&amp;gt; afin de récupérer les communication Bluetooth émises par la carte. Cela nous à permit de tester la communication de la baguette indépendamment de celle du robot.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:BLEscan.jpg]]&lt;br /&gt;
&lt;br /&gt;
On voit ici une tentative de connexion entre la baguette et le robot, la connexion ne fonctionnait pas vraiment car le robot ce connectait et ce déconnectait en permanence &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connection_raté.png]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc modifié le code du robot pour régler ce problème&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Connexion_réussi.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bande de LED ==&lt;br /&gt;
&lt;br /&gt;
Nous avions un souci avec la bande de LED, en effet certaines LED s'allume sans recevoir d'instructions.&lt;br /&gt;
[[Fichier:LEDraté.jpg]]&lt;br /&gt;
Nous avons donc tenté d'isoler le problème en cherchant à changer les couleurs/intensité/instruction pour pouvoir le régler. Au final il semble que le problème vient des instructions en elles-même. Nous avons donc cherché directement dans la librairie fournie avec la bande de LED afin d'identifier et de régler le problème.&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:BLEscan.jpg&amp;diff=10218</id>
		<title>Fichier:BLEscan.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:BLEscan.jpg&amp;diff=10218"/>
		<updated>2019-04-25T10:13:27Z</updated>

		<summary type="html">&lt;p&gt;François : François a téléversé une nouvelle version de Fichier:BLEscan.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Connexion_r%C3%A9ussi.png&amp;diff=10217</id>
		<title>Fichier:Connexion réussi.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Connexion_r%C3%A9ussi.png&amp;diff=10217"/>
		<updated>2019-04-25T10:10:35Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Connection_rat%C3%A9.png&amp;diff=10216</id>
		<title>Fichier:Connection raté.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Connection_rat%C3%A9.png&amp;diff=10216"/>
		<updated>2019-04-25T10:08:31Z</updated>

		<summary type="html">&lt;p&gt;François : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>François</name></author>
		
	</entry>
</feed>