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

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10147</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10147"/>
				<updated>2014-02-26T14:16:35Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Prototype à base du MRF49XA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;br /&gt;
&lt;br /&gt;
== Rendu final ==&lt;br /&gt;
&lt;br /&gt;
=== Prototype à base du MRF49XA ===&lt;br /&gt;
&lt;br /&gt;
* Datasheet du MRF49XA : [[Fichier:MRF49XA.pdf|Datasheet du MRF49XA]]&lt;br /&gt;
* Firmware de l'ATMega328p : [[Fichier:Mrf49xa firmware.zip]] / [[https://bigfile.univ-lille1.fr/get?k=qpgkFLtHGwszbpEgOyP|Lien BigFile de Lille1]]&lt;br /&gt;
AVR-GCC est nécessaire pour pouvoir compiler le programme est le transférer sur l'ATMega328p.&lt;br /&gt;
* Schéma et typon de la version actuelle du prototype : [[Fichier:Mrf49xa schema v1.zip]] / [[https://bigfile.univ-lille1.fr/get?k=GanInTsS29ZOdIX9esL|Lien BigFile de Lille1]]&lt;br /&gt;
* Schéma de la nouvelle version du prototype, non réalisé : [[Fichier:Mrf49xa schema v2.zip]] / [[https://bigfile.univ-lille1.fr/get?k=aLcJi1fAkF2BglHkuNh|Lien BigFile de Lille1]]&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Mrf49xa_schema_v2.zip&amp;diff=10146</id>
		<title>Fichier:Mrf49xa schema v2.zip</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Mrf49xa_schema_v2.zip&amp;diff=10146"/>
				<updated>2014-02-26T14:16:01Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Schéma de la nouvelle version du prototype (non réalisé).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schéma de la nouvelle version du prototype (non réalisé).&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Mrf49xa_schema_v1.zip&amp;diff=10145</id>
		<title>Fichier:Mrf49xa schema v1.zip</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Mrf49xa_schema_v1.zip&amp;diff=10145"/>
				<updated>2014-02-26T14:14:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Schéma de la version actuelle du prototype.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schéma de la version actuelle du prototype.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Mrf49xa_firmware.zip&amp;diff=10144</id>
		<title>Fichier:Mrf49xa firmware.zip</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Mrf49xa_firmware.zip&amp;diff=10144"/>
				<updated>2014-02-26T14:11:52Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Firmware du MRF49XA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Firmware du MRF49XA&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10143</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10143"/>
				<updated>2014-02-26T14:08:59Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Prototype à base du MRF49XA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;br /&gt;
&lt;br /&gt;
== Rendu final ==&lt;br /&gt;
&lt;br /&gt;
=== Prototype à base du MRF49XA ===&lt;br /&gt;
&lt;br /&gt;
* [[Fichier:MRF49XA.pdf|Datasheet du MRF49XA]]&lt;br /&gt;
* Firmware de l'ATMega328p : [[https://bigfile.univ-lille1.fr/get?k=qpgkFLtHGwszbpEgOyP|Lien BigFile de Lille1]]&lt;br /&gt;
AVR-GCC est nécessaire pour pouvoir compiler le programme est le transférer sur l'ATMega328p.&lt;br /&gt;
* Schéma et typon de la version actuel du prototype : [[https://bigfile.univ-lille1.fr/get?k=GanInTsS29ZOdIX9esL|Lien BigFile de Lille1]]&lt;br /&gt;
* Schéma de la nouvelle version du prototype, non réalisé : [[https://bigfile.univ-lille1.fr/get?k=aLcJi1fAkF2BglHkuNh|Lien BigFile de Lille1]]&lt;br /&gt;
&lt;br /&gt;
Les liens BigFile sont valables jusqu'au 19 mars 2014. Si les fichiers sont indisponibles, vous pouvez me contacter par mail (nicolas.husse).&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10142</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10142"/>
				<updated>2014-02-26T14:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Prototype à base du MRF49XA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;br /&gt;
&lt;br /&gt;
== Rendu final ==&lt;br /&gt;
&lt;br /&gt;
=== Prototype à base du MRF49XA ===&lt;br /&gt;
&lt;br /&gt;
* [[Fichier:MRF49XA|Datasheet du MRF49XA]]&lt;br /&gt;
* Firmware de l'ATMega328p : [[https://bigfile.univ-lille1.fr/get?k=qpgkFLtHGwszbpEgOyP|Lien BigFile de Lille1]]&lt;br /&gt;
AVR-GCC est nécessaire pour pouvoir compiler le programme est le transférer sur l'ATMega328p.&lt;br /&gt;
* Schéma et typon de la version actuel du prototype : [[https://bigfile.univ-lille1.fr/get?k=GanInTsS29ZOdIX9esL|Lien BigFile de Lille1]]&lt;br /&gt;
* Schéma de la nouvelle version du prototype, non réalisé : [[https://bigfile.univ-lille1.fr/get?k=aLcJi1fAkF2BglHkuNh|Lien BigFile de Lille1]]&lt;br /&gt;
&lt;br /&gt;
Les liens BigFile sont valables jusqu'au 19 mars 2014. Si les fichiers sont indisponibles, vous pouvez me contacter par mail (nicolas.husse).&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10141</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10141"/>
				<updated>2014-02-26T14:07:26Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 3 : Mise en place et test du protocole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;br /&gt;
&lt;br /&gt;
== Rendu final ==&lt;br /&gt;
&lt;br /&gt;
=== Prototype à base du MRF49XA ===&lt;br /&gt;
&lt;br /&gt;
* [[Fichier:MRF49XA|Datasheet du MRF49XA]]&lt;br /&gt;
* Firmware de l'ATMega328p : [[https://bigfile.univ-lille1.fr/get?k=qpgkFLtHGwszbpEgOyP|Lien BigFile de Lille1]]&lt;br /&gt;
AVR-GCC est nécessaire pour pouvoir compiler le programme est le transférer sur l'ATMega328p.&lt;br /&gt;
* Schéma et typon de la version actuel du prototype : [[https://bigfile.univ-lille1.fr/get?k=GanInTsS29ZOdIX9esL|Lien BigFile de Lille1]]&lt;br /&gt;
* Schéma de la nouvelle version du prototype, non réalisé : [[https://bigfile.univ-lille1.fr/get?k=aLcJi1fAkF2BglHkuNh|Lien BigFile de Lille1]]&lt;br /&gt;
&lt;br /&gt;
Les liens BigFile sont valables jusqu'au 19 mars 2014. Si les fichiers sont indisponibles, vous pouvez me contacter par mail.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:MRF49XA.pdf&amp;diff=10139</id>
		<title>Fichier:MRF49XA.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:MRF49XA.pdf&amp;diff=10139"/>
				<updated>2014-02-26T13:52:31Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Datasheet du MRF49XA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Datasheet du MRF49XA&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10137</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10137"/>
				<updated>2014-02-26T13:49:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 3 : Mise en place et test du protocole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10136</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10136"/>
				<updated>2014-02-26T13:48:43Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 3 : Mise en place et test du protocole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10135</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10135"/>
				<updated>2014-02-26T13:48:14Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 3 : Mise en place et test du protocole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left|Utilisation du registre de transmission du MRF49XA]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10134</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10134"/>
				<updated>2014-02-26T13:47:11Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 3 : Mise en place et test du protocole */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left]]&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10133</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10133"/>
				<updated>2014-02-26T13:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Débogage du prototype */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
[[Fichier:Tx mrf.png|250px|thumb|left]]&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet et dont le schéma à gauche en résume l'utilisation) et non un paquet de donnée.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Tx_mrf.png&amp;diff=10132</id>
		<title>Fichier:Tx mrf.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Tx_mrf.png&amp;diff=10132"/>
				<updated>2014-02-26T13:44:14Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Utilisation du registre de transmission du MRF49XA.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Utilisation du registre de transmission du MRF49XA.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10131</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=10131"/>
				<updated>2014-02-26T13:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
== Phase 3 : Mise en place et test du protocole ==&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 01/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Rajout de l'inductance manquante. Un nouveau test de communication entre deux cartes n'a pas fonctionné. Après divers tests sur l'un des prototype, celui-ci ne semble pas fonctionnel car la communication par SPI ne semble pas donner de réponse.&lt;br /&gt;
* Ces tests ont aussi mis en évidence l'impossibilité d'envoyer des paquets.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 20/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Mise en évidence d'un conflit au niveau des tests d'envoie de paquet. En effet, pour réaliser ce test, un paquet est envoyé tous les 60 boucles du main. Hors, c'est envoie était réalisé sans vérifier le statut du MRF. Problème résolu mais qui n'était pas à l'origine du problème d'envoie de paquet.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 27/01/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Aucun paquet n'est envoyé. En effet, à la première interruption provoquer par le MRF, c'est un paquet de réveil du registre de transmission qui est envoyé (deux paquets ayant pour valeur 0xAA pour réveillé le registre de transmission sont réclamé par la datasheet) et non un paquet de donnée.  &lt;br /&gt;
&lt;br /&gt;
=== Semaine du 03/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Une autre erreur de programmation a été mis en évidence : à chaque interruption, l'adresse du registre de transmission est envoyé avant l'octet de donnée hors cette adresse n'est nécessaire qu'à la première interruption et ne l'est plus pour les interruptions suivantes.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 10/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Un court-circuit a était découvert au niveau du ballun du circuit. Une tentative de réparation a été effectué mais malheureusement sans réussite. Un nouveau prototype est nécessaire.&lt;br /&gt;
&lt;br /&gt;
=== Semaine du 17/02/14 ===&lt;br /&gt;
&lt;br /&gt;
==== Débogage du prototype ====&lt;br /&gt;
&lt;br /&gt;
* Le prototype à base de MRF est pour l'instant mis de côté afin de pouvoir travailler sur les essais à base de XBee.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8436</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8436"/>
				<updated>2013-12-17T20:28:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Séance 36 (13/12/13) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication entre deux cartes et de lecture du RSSI. Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Séance 37 (18/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8435</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8435"/>
				<updated>2013-12-17T20:27:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Séance 36 (13/12/13) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Problème de communication peut-être du à l'absence d'une inductance dans le ballun de la carte.&lt;br /&gt;
&lt;br /&gt;
=== Séance 37 (18/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8433</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8433"/>
				<updated>2013-12-17T20:22:57Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Séance 33 (10/12/13) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Programmation de la lecture du RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8430</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8430"/>
				<updated>2013-12-17T20:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Séance 31 (05/12/13) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:AVRISP mkII.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Matos.jpg|400px|thumb|center|Matériel]]&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto1 MRFXA49.jpg|250px|thumb|left|Vue Eclatée]]&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
* Résolution de problème : prendre en compte le RESET.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Schematic.png&amp;diff=8192</id>
		<title>Fichier:Schematic.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Schematic.png&amp;diff=8192"/>
				<updated>2013-12-13T14:00:51Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : a téléversé une nouvelle version de « Fichier:Schematic.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematic - Capteur Communicant Intelligent V1&lt;br /&gt;
Nicolas Husse / Chalaux Bastien&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8107</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8107"/>
				<updated>2013-12-10T14:22:10Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Partie PCB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduinos.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Xbee Pro Std.jpg|250px|thumb|left|Xbees Pro et Std]]&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Amélioration de l’algorithme des TOURELLES pour qu'elles emmettent chacun leur tour de façon cyclique pour ne plus avoir à s'occuper de cette partie lors des essai dans l'amphi.&lt;br /&gt;
&lt;br /&gt;
* Optimisation de la puissance d'emission des Xbees&lt;br /&gt;
&lt;br /&gt;
* Récupération d'alimentation secteurs 5V pour les futurs tests&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Deuxième essai dans l’amphithéâtre de l'IRCICA. Le système fonctionne bien.&lt;br /&gt;
&lt;br /&gt;
* En première approximation la résolution est de 2 sièges.&lt;br /&gt;
&lt;br /&gt;
* / ! \ On constate rapidement que la présence d'une personne dans le champs entre un BRACELET et une TOURELLE fait fortement fluctuer les valeurs sans changer la position spatiale des différents systèmes.&lt;br /&gt;
&lt;br /&gt;
* Ce phénomène s'explique avec l'utilisation de la bande de fréquence des 2,4 GHz qui est très proche de la fréquence de résonance de l'eau donc plus sensible aux êtres vivants. On décide donc d'abandonner cette bande de fréquence et de regarder les technologies disponibles dans les 433 MHz ou 868 MHz (fréquences libres en Europe)&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Toute la séance est consacrée à la reflexion autour d'un prtocole de communication à la fois de compact et riche en information.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes techniques combinées de localisation : Position barycentrique grâce aux tourelles de references, Découvertes des voisins les plus proches&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Vantroys.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
* Expérimentation de la librairie de communication Serie en C &amp;quot;RS-232 for Linux and Windows&amp;quot; entre un arduino UNO et un PC sous windows &lt;br /&gt;
&lt;br /&gt;
    int RS232_OpenComport(int comport_number, int baudrate)&lt;br /&gt;
    void RS232_CloseComport(int comport_number)&lt;br /&gt;
    int RS232_PollComport(int comport_number, unsigned char *buf, int size)&lt;br /&gt;
    int RS232_SendByte(int comport_number, unsigned char byte)&lt;br /&gt;
&lt;br /&gt;
source : http://www.teuniz.net/RS-232/&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suite du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB (En commun) ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
[[Fichier:Schematic.png|centre|400px|alt=Schematic - Capteur Communicant Intelligent V1|vignette|Schéma]]&lt;br /&gt;
[[Fichier:Typon.png|centre|400px|alt=Typon - Capteur Communicant Intelligent V1|vignette|Typon]]&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
-&amp;gt; Ajouter photos PCB&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Typon.png&amp;diff=8099</id>
		<title>Fichier:Typon.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Typon.png&amp;diff=8099"/>
				<updated>2013-12-10T14:15:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Typon - Capteur Communicant Intelligent V1
Nicolas Husse / Chalaux Bastien&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Typon - Capteur Communicant Intelligent V1&lt;br /&gt;
Nicolas Husse / Chalaux Bastien&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Schematic.png&amp;diff=8098</id>
		<title>Fichier:Schematic.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Schematic.png&amp;diff=8098"/>
				<updated>2013-12-10T14:14:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Schematic - Capteur Communicant Intelligent V1
Nicolas Husse / Chalaux Bastien&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematic - Capteur Communicant Intelligent V1&lt;br /&gt;
Nicolas Husse / Chalaux Bastien&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8043</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8043"/>
				<updated>2013-12-08T21:41:06Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 2 : Développement de Prototypes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduino.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Ventroy.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suit du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
-&amp;gt; Ajouter schéma&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
-&amp;gt; Ajouter photos PCB&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 31 (05/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test de la communication SPI à partir d'un second Arduino. Il n'y a pas de problème.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8042</id>
		<title>Capteur Communicant Intelligent</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Capteur_Communicant_Intelligent&amp;diff=8042"/>
				<updated>2013-12-08T21:36:55Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Phase 2 : Développement de Prototypes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Présentation ==&lt;br /&gt;
&lt;br /&gt;
=== Cahier des charges ===&lt;br /&gt;
==== Objectif : ====&lt;br /&gt;
&lt;br /&gt;
Réaliser une matrice de LED à l’échelle d'un publique d'une salle de spectacle en distribuant des bracelets lumineux localisables automatiquement&lt;br /&gt;
&lt;br /&gt;
==== Description : ====&lt;br /&gt;
&lt;br /&gt;
Dans le cadre d'un projet entre l'Artiste Wax Taylor et le laboratoire IRCICA de Lille, nous devont mettre au point un système permettant de localiser des personnes dans une salle de spectacle en vue de réaliser une matrice de LED à l'échelle d'un publique où le bracelet lumineux d'une personne ou ceux d'un ensemble de personne représente un pixel d'une image ou d'un motif. Le défi majeur reside dans la localisation des bracelets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel requis ===&lt;br /&gt;
&lt;br /&gt;
== Avancement du Projet ==&lt;br /&gt;
&lt;br /&gt;
== Phase 0 : Début du Projet ==&lt;br /&gt;
=== Séance 1 (11/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Prise en main du sujet&lt;br /&gt;
* Test de la programmation ISP d'un ATMega328p et de son mode de fonctionnement sans quartz pour faire clignoter une LED sur breadboard&lt;br /&gt;
&lt;br /&gt;
=== Séance 2 (17/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réflexion autour de différentes solutions techniques de localisation à l'intérieur d'un bâtiment.&lt;br /&gt;
Infrarouge&amp;lt;br&amp;gt;Ultrason&amp;lt;br&amp;gt;RSSI (Received Signal Strength Indication) : Absolue / Relative&lt;br /&gt;
&lt;br /&gt;
=== Séance 3 (18/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Confrontation avec le point de vue des encadrants : Après plusieurs discussions, la localisation absolue par RSSI semble la solution la plus &amp;quot;adaptée&amp;quot; au sujet. Il reste néanmoins à faire rapidement la preuve de ce concepte. Il a donc été décidé d'implémenter un premier système à base d'Xbee et d'Arduino en vu de faire des tests préliminaires dans l’amphithéâtre de l'IRCICA.&lt;br /&gt;
&lt;br /&gt;
== Phase 1 : Expérimentation Xbee &amp;amp; Arduino ==&lt;br /&gt;
=== Séance 4 (25/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Regoupement du matériel disponible à l'IRCICA et Polytech :  &lt;br /&gt;
&lt;br /&gt;
     6 x Xbee Standard&lt;br /&gt;
     4 x Xbee Pro&lt;br /&gt;
     4 x Arduino UNO&lt;br /&gt;
     1 x Arduino Mega&lt;br /&gt;
&lt;br /&gt;
=== Séance 5 (26/09/13) ===&lt;br /&gt;
&lt;br /&gt;
Début de la configuration des Xbees grâce à l'outils X-CTU de la société DIGI.&lt;br /&gt;
&lt;br /&gt;
    Serial	ID	CH	DL	DH	MY&lt;br /&gt;
    4049CDF2	3335	C	FFFF	0	CDF2&lt;br /&gt;
    4049CC3E	3335	C	FFFF	0	CC3E&lt;br /&gt;
    407A6584	3335	C	FFFF	0	6584&lt;br /&gt;
    407A6459	3335	C	FFFF	0	6459&lt;br /&gt;
    40017249	3335	C	FFFF	0	7249&lt;br /&gt;
    40017248	3335	C	FFFF	0	7248&lt;br /&gt;
    407BE8C6	3335	C	FFFF	0	E8C6&lt;br /&gt;
    407C84D7	3335	C	FFFF	0	84D7&lt;br /&gt;
&lt;br /&gt;
Serial = numéro de série de l'Xbee&amp;lt;br&amp;gt;&lt;br /&gt;
ID (Network Identifiant) = Id du réseau (virtuel) dans lequel on veut faire travailler les Xbees&amp;lt;br&amp;gt;&lt;br /&gt;
CH (Channel) = Selection du canal d'émission correspondant à la frequénce TX/RX&amp;lt;br&amp;gt;&lt;br /&gt;
DL (Destination Low) = Partie basse du registre de configuration de l'adresse de communication (FFFF = Broadcast)&amp;lt;br&amp;gt;&lt;br /&gt;
DH (Destination High) = Partie haute du même registre&amp;lt;br&amp;gt;&lt;br /&gt;
MY (Device Identifiant) = Identifiant de l'Xbee sur le reseau (Convention : MY=2 derniers octects du Serial)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Séance 6 (30/09/13) ===&lt;br /&gt;
&lt;br /&gt;
* Pour la localisation par RSSI, on constate très vite qu'il nous faut au minimum 3 émetteurs dont on connait la position et qui transmettent des trames de façon régulière chacun leur tour sans qu'il y ait de conflits. On appellera ces émetteurs TOURELLE tout au long de ce projet en opposition avec le récepteur à localiser qui sera appelé BRACELET. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pour les TOURELLES on décide d'implémenter dans un Arduino UNO un petit programme capable d’écouter ce qu'il reçoit sur son port série en provenance du module Xbee et d'identifier les éléments d'un trame simpliste de la forme suivante : &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;AA,BB,CC&amp;gt; &lt;br /&gt;
    AA=num de la trame&lt;br /&gt;
    BB=nb total de trames&lt;br /&gt;
    CC=identifiant de la TOURELLE &lt;br /&gt;
&lt;br /&gt;
Chaque Arduino connait l'ensemble des identifiants des tourelles et leur priorité et sait ainsi à quel moment il a le droit d’émettre.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pour l'unique BRACELET que l'on cherche à localiser on utilise une Arduino MEGA 2530 qui comporte 3 vraies UART supplémentaires. On aura donc Serial0 (Arduino &amp;lt;--&amp;gt; PC) et Serial1 (Arduino &amp;lt;--&amp;gt; Xbee) afin de ne manquer aucune trame et de pouvoir la visualiser en direct sur un PC. Ce récepteur enregistre les niveaux RSSI reçu de chaque TOURELLE. On y a directement accès via la pin6 du module Xbee qui est en fait une PWM dont le rapport cyclique et proportionnel au RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Séance 7 (02/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* On continu d'implémenter les fonctions précédemment décrites dans les Arduino.&lt;br /&gt;
&lt;br /&gt;
* On redécouvre les joies du parsing de commande sur un environnement embarqué qui peut parfois poser des problèmes (utilisation de masques binaires et/ou des fonctions de la librairie C standard &amp;lt;String&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Séance 8 (04/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Des tests préliminaires dans le petit laboratoire de l'IRCICA démontrent que la puissance d'émission des TOURELLES doit être suffisamment faible ou en tout cas adaptée à la surface que l'on veut couvrir pour ne pas saturer le récepteur. En effet dans le cas des Xbee le RSSI est calculé uniquement sur 10 bits et on atteint la saturation pour quelques mW.&lt;br /&gt;
&lt;br /&gt;
=== Séance 9 (10/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* En lisant la datasheet on remarque que les Xbee standard ont une puissance (configurable) plus faible que les Xbee PRO on décide donc de remplacer les Xbee PRO des TOURELLES par des Xbee standard et de renouveler notre expérience. On observe maintenant une différence de signal quand on se déplace à l'échelle d'une pièce&lt;br /&gt;
&lt;br /&gt;
=== Séance 10 (14/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Jusqu'ici nous récupérions le RSSI en lisant un registre de l'Xbee. Cela a pour avantage d'avoir directement une valeur en numérique mais les temps d'accès sont long puisque pour chaque accès il faut mettre l'Xbee dans le mode d'interprétation des commandes AT à l'aide de la commande &amp;quot;+++&amp;quot; attendre sa réponse, l'interroger, parser sa réponse. Tout cela à la vitesse de 9600 bauds. On décide donc d'utiliser la sortie RSSI de l'Xbee sur la pin 6 qui est une PWM dont la rapport cyclique est proportionnel au RSSI donc facile à évaluer avec l'entrée analogique d'un arduino.&lt;br /&gt;
&lt;br /&gt;
=== Séance 11 (15/10/13) ===&lt;br /&gt;
&lt;br /&gt;
* Premiers tests dans l'amphi de l'IRCICA mais nous manquons d'alimentations indépendantes pour les Arduino et il y a encore trop de collisions entre les messages des TOURELLES nous devons donc encore améliorer notre code.&lt;br /&gt;
&lt;br /&gt;
=== Séance 12 (16/10/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 13 (21/10/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 14 (23/10/13) ===&lt;br /&gt;
&lt;br /&gt;
== Phase 2 : Développement de Prototypes ==&lt;br /&gt;
&lt;br /&gt;
=== Pendant les Vacances ===&lt;br /&gt;
&lt;br /&gt;
* Ébauche du protocole de communication.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format d'une Trame&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Base/Tourelle/Bracelet&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | ID&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | CMD&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Emission/Reponse Commande&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | DATA&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Stuffing&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | TOTAL&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | NB OCTECTS&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;row&amp;quot; | Nb de Bits&lt;br /&gt;
 | 2 &lt;br /&gt;
 | 16&lt;br /&gt;
 | 4&lt;br /&gt;
 | 1&lt;br /&gt;
 | 32&lt;br /&gt;
 | 1&lt;br /&gt;
 | 56&lt;br /&gt;
 | 7&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Format des DATA&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''NUM'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CODE'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''CMD'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''EMETTEUR'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DATA [nb de bits]'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Nb Bits de DATA Utilisés'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BASE||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BASE ||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||BASE ||IDTOUR [16] / NBTRAME [3] / INTERVAL (x10ms) [8] ||27||Autorise une Tourelle à Emettre&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BASE ||IDBRAC [16] / MASK [16]||16||Interroge un ou des bracelets pour connaitre le RSSI des Tourelles&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BASE ||IDBRAC [16] / MASK [16] / N [3]||19||Interroge un ou des bracelets pour connaitre les N RSSI plus fort recus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BASE ||IDBRAC [16] ||16||Demande à tout les bracelets qui ont entendu un ID particulier de repondre&lt;br /&gt;
|-&lt;br /&gt;
| 5||0101||PING||BASE ||IDBRAC [16] ||16||Ping un bracelet en particulier&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| TOURELLES||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||TOUR ||Tout les bits à 1||||la Tourelle envoie une trame de Test en Broadcast&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||TX TOUR||TOUR ||IDTOUR [16] / NUMTRAME [3] / NBTRAME [3] / INTERVAL [8]||30||Trame émise par une Tourelle&lt;br /&gt;
|-&lt;br /&gt;
| ||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| BRACELETS||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
| 0||0000||-||BRAC||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
| 1||0001||-||BRAC||-||-||Ne fait rien ce sont les touerelles qui emettent&lt;br /&gt;
|-&lt;br /&gt;
| 2||0010||RSSI TOUR||BRAC||IDTOUR [16] / NBTRAME [3] / RSSIMOY [10] ||29||Le Bracelet renvoi le RSSI Moyen recu des tourelles qu'il a entendu&lt;br /&gt;
|-&lt;br /&gt;
| 3||0011||RSSI MAX||BRAC||IDBRAC [16] / N [3] / RSSI [10]||29||Le Bracelet renvoi les N plus forts RSSI  recu des autres bracelets entendus&lt;br /&gt;
|-&lt;br /&gt;
| 4||0100||ENTENDU||BRAC||IDBRAC [16] / RSSI [10]||26||Le Bracelet renvoi le RSSI recu du bracelet recherché&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Séance 15 (04/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Bilan de l'avancement avec M Ventroy.&lt;br /&gt;
* On règle différentes questions qu'en à la taille des données de localisation et leur stockage.&lt;br /&gt;
* On fait le point sur les objectifs pour la soutenance du 19 décembre (validation de concepte, réalisation de prototypes et de mesures)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Séance 16 (05/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* A partir de là nous nous sommes reparti les tâches en 2 parties. L'un commençant à écrire le code pour la station de BASE qui sera le chef d'orchestre de tout le système donnant la parole aux Equipements chacun leur tour et relevant  les données en vu d'effectuer les calculs de localisation. L'autre s'occupe de réaliser les différents PCB sous EAGLE&lt;br /&gt;
&lt;br /&gt;
=== Séance 17 (06/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Nous somme parti sur l'utilisation du MRF49XA, un transmetteur utilisant les fréquences 433/868Mhz et utilisant la communication série SPI. &lt;br /&gt;
* Recherche et ébauche du schéma utilisant un ATMega328p et le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 18 (07/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Correction du schéma précédant.&lt;br /&gt;
* Et recherche d'une solution compact pour l'antenne.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 19 (08/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Développement du PCB : ATMega328p&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 20 (12/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Développement de fonctions C permettant la communication serial sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 21 (13/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie AVR ====&lt;br /&gt;
&lt;br /&gt;
* Suit du développement de fonctions C permettant la communication SPI sans les librairies et le bootloader Arduino.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 22 (15/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* On commence à écrire la commande en commun des composants que l'on aura besoin pour la suite du projet, on relève les références sur le site MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 23 (18/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Suite à une réunion avec Alexandre Boé, nous nous sommes orienté vers une carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 24 (19/11/13) ===&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Réalisation la carte sans ATMega328p.&lt;br /&gt;
&lt;br /&gt;
==== Partie Station de Base ====&lt;br /&gt;
&lt;br /&gt;
=== Séance 25 (20/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la commande MOUSER&lt;br /&gt;
&lt;br /&gt;
=== Séance 26 (26/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Avancement du Wiki&lt;br /&gt;
&lt;br /&gt;
* Réflexions autour des algorithmes de localisation (Barycentre, Trilatération,...)&lt;br /&gt;
&lt;br /&gt;
==== Partie PCB ====&lt;br /&gt;
&lt;br /&gt;
* Optimisation du 1er PCB de prototypage : MRF49XA + Ballun&lt;br /&gt;
-&amp;gt; Ajouter schéma&lt;br /&gt;
&lt;br /&gt;
=== Séance 27 (27/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Réalisation de 3 PCB MRF49XA + Ballun. Découverte des logicielles liés à la graveuse&lt;br /&gt;
-&amp;gt; Ajouter photos PCB&lt;br /&gt;
* Ajout de fonctions simples permettant la configuration des registres du MRF49XA ainsi que l'ensemble des définitions de variable utile à sa configuration.&lt;br /&gt;
&lt;br /&gt;
=== Séance 28 (28/11/13) ===&lt;br /&gt;
&lt;br /&gt;
* Ajout de fonctions de communication à travers le MRF49XA.&lt;br /&gt;
&lt;br /&gt;
=== Séance 29 (03/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Test du programme dans le MRF49XA, une premières lecture du registre de statut du MRF49XA semble validé la configuration mais il semble y avoir une erreur lors de l'envoie.&lt;br /&gt;
&lt;br /&gt;
=== Séance 30 (04/12/13) ===&lt;br /&gt;
&lt;br /&gt;
* Débugage du programme : soit un problème au niveau de la communication SPI, soit un problème dans le traitement de l'interruption.&lt;br /&gt;
&lt;br /&gt;
=== Séance 33 (10/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 34 (11/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 35 (12/12/13) ===&lt;br /&gt;
&lt;br /&gt;
=== Séance 36 (13/12/13) ===&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5883</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5883"/>
				<updated>2013-05-07T06:42:51Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
[[Image:étudiants.png|200px|thumb|upright|Etudiants]]&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
* Ensuite une 4éme partie d'acquisition vidéo et transfert de vidéo pour afficher chez l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=FH0rIUhr-kQ&amp;amp;feature=youtu.be Lien provisoire vers la vidéo]&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino Uno&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee : 4214A-XBEE série S1&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre équipé d'un gyroscope: ADLX345 / ITG-3200&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* SRAM 23K256&lt;br /&gt;
&lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:arduino.jpg|150px|thumb|upright|Arduino]]&lt;br /&gt;
| [[Image:Capteur.jpg|150px|thumb|upright|Capteur(Accéléromètre et Gyroscope]]&lt;br /&gt;
| [[Image:Xbee.jpg|150px|thumb|upright|Xbee]]&lt;br /&gt;
| [[Image:servo.jpg|150px|thumb|upright|Servomoteur]]&lt;br /&gt;
| [[Image:C3088.jpg|150px|thumb|upright|Caméra]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Matériel de tests===&lt;br /&gt;
&lt;br /&gt;
* 1 adapateur série - usb pour softwareserial.&lt;br /&gt;
&lt;br /&gt;
* 1 tourelle de test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:tourelle.jpg|150px|thumb|upright|Tourelle de test]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
* Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2013:'''&lt;br /&gt;
[[Image:Shield xbee.jpg|150px|thumb|upright|Shield Xbee]]&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2013:'''&lt;br /&gt;
[[Image:Partiecapteur.jpg|150px|thumb|upright|Installation xbee et capteur]]&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Tests techniques)&lt;br /&gt;
&lt;br /&gt;
* Communication des données via le module Xbee entre deux Arduino.(Test techniques)&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
* Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Élaboration et tests de la commande d'un mini servomoteur en utilisant un Arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée et fonctionnelle)&lt;br /&gt;
&lt;br /&gt;
* Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
* La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
* Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Test du code développé en vacances en utilisation l'Arduino de l'émission équipé d'un module Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Févier 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement de la fonctionnalité de l'émission par récupération des valeurs de l'accéléromètre et transmission avec Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test unitaire sur Arduino de programme à l'émission.&lt;br /&gt;
&lt;br /&gt;
* Suivi d'avancement de projet et discussion sur les solutions à proposer pour évoluer le système.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 28 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement sur Arduino d'une fonction permettant de récupérer à partir du module xbee les valeurs de l'accéléromètre selon les trois axes (x,y,z) à travers une lecture sur le terminal série de l'Arduino.  &lt;br /&gt;
&lt;br /&gt;
* Vérification des valeurs obtenu à travers l'utilisation de softwareSerial en faisant une écriture sur ce terminal. ==&amp;gt; Partie Fonctionnelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 04 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Partie moteurs.jpg|150px|thumb|upright|Partie servomoteurs]]&lt;br /&gt;
* Phase d'intégration entre la partie commande de moteur et la partie récupération des valeurs de l'accéléromètre reçu par Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test d'intégration en utilisant les valeurs d'un seul axe x.&lt;br /&gt;
&lt;br /&gt;
Partie non achevée : Test en cours et identification d'une réponse du moteur non correcte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 06 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
Résultat des tests d'intégration:&lt;br /&gt;
&lt;br /&gt;
* Observation d'une oscillation dans le mouvement de servomoteur.&lt;br /&gt;
&lt;br /&gt;
* Détection d'une incompatibilité entre la libraire softwareserial.h et servo.h. &lt;br /&gt;
&lt;br /&gt;
* Problème de lecture sur terminal série à cause de l'absence de Serial.available().&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 07 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Mise en œuvre des corrections nécessaires pour modifier la réponse de moteur et la stabiliser. &lt;br /&gt;
&lt;br /&gt;
* Étalonnage des valeurs de moteur entre 0 et 180 en fonction des valeurs de x reçus.&lt;br /&gt;
&lt;br /&gt;
* Début de l'intégration de 3 servomoteurs à la fois.&lt;br /&gt;
&lt;br /&gt;
* Récupération d'une tourelle de test chez M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Axes X et Y fonctionnels, cependant au bout d'un certain (ou d'un certain nombre de mesure ?) les servos s’arrêtent de fonctionner...&lt;br /&gt;
&lt;br /&gt;
* Prochaine séance: régler la position initiale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 13 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Le problème des servomoteurs est réglé.&lt;br /&gt;
&lt;br /&gt;
* Les mesures selon les 3 axes: &lt;br /&gt;
&lt;br /&gt;
L'axe x : axe longitudinal ou axe de roulis --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe y : axe transversal ou axe de tangage --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe z : axe de lacet --&amp;gt; Non Fonctionnel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 18 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Poursuite des tests pour régler les résultats incohérents sur l'axe z.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 20 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Nos propres tests et une recherche bibliographique nous permet d'affirmer que on ne peut détecter un mouvement de lacet à travers un accéléromètre seulement. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 21 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Solution: On a fait un changement de matériel pour remplacer l’accéléromètre par un nouveau composant intégrant:&lt;br /&gt;
&lt;br /&gt;
- L’accéléromètre ADXL345 (déjà utilisé)&lt;br /&gt;
&lt;br /&gt;
- Gyroscope ITG-3200&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Modification de la technologie de communication de SPI vers I2C. &lt;br /&gt;
&lt;br /&gt;
* Début de la partie acquisition à partir d'une caméra (C3088).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration en I2C de nouveau composant (Accéléromètre + Gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Lecture de la documentation du module C3088 (avec la caméra ov6620).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement du programme I2C permettant de communiquer avec la caméra en I2C. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 3 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Tests de la communication I2C avec la caméra --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Début de la configuration de la caméra pour l'adapter à un fonctionnement sous microcontrôleur ATmega.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 4 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration de la caméra:&lt;br /&gt;
&lt;br /&gt;
- Format QCIF (176*144) &lt;br /&gt;
&lt;br /&gt;
- YCrCb mode&lt;br /&gt;
&lt;br /&gt;
- Réduction de nombre des images par seconde (fps).&lt;br /&gt;
&lt;br /&gt;
* Début de l'acquisition des images à travers le terminal série de l'Arduino (fonctionnement à 115200 bauds).&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Résultats non fonctionnels pour cette partie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 8 avril 2013''' &lt;br /&gt;
&lt;br /&gt;
* Pour travailler plus rapidement, nous avons effectué quelques optimisations de notre programme:&lt;br /&gt;
&lt;br /&gt;
- Utilisation des ports de l'ATmega 2560 pour lire simultanément les 8 broches Y.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Possibilité d'utiliser un RAM externe pour stocker les données avant de l'envoyer via port série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances'''&lt;br /&gt;
&lt;br /&gt;
* Partie Tracking : Récupération des trois angles nécessaire pour commander les servomoteurs à partir du gyromètre et de l'accéléromètre en utilisant une librairie existante. Testé sans Xbee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 29 avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Partie Tracking :Ajout de la communication par Xbee entre l'Arduino qui récupère les angles et celui qui commande les servomoteurs.&lt;br /&gt;
&lt;br /&gt;
* Partie caméra : Intégration d'une mémoire SRAM 23K256 pour la sauvegarde des données. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 2 Mai 2013'''&lt;br /&gt;
&lt;br /&gt;
* Assemblage du dispositif de prototypage pour la vidéo.&lt;br /&gt;
&lt;br /&gt;
== Bilan ==&lt;br /&gt;
&lt;br /&gt;
Nous avons fait le bilan d'avancement de notre projet:&lt;br /&gt;
&lt;br /&gt;
* Détection de mouvements de la tête:Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Communication sans fil(Xbee):Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Commande des servomoteurs:Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Acquisition de flux vidéo:Configuration fonctionnel, Capture non fonctionnel&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:Casque_f.png|150px|thumb|upright|Casque de détection]]&lt;br /&gt;
| [[Image:Tourelle_de_prototype.jpg|150px|thumb|upright|Tourelle de prototypage]]&lt;br /&gt;
| [[Image:Camera_f.png|150px|thumb|upright|Caméra C3008]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Difficultés rencontrées ==&lt;br /&gt;
Les difficultés rencontrées durant ce projet sont :&lt;br /&gt;
&lt;br /&gt;
* Synchronisation de signal vidéo à travers un micro-contrôleur.(Problème principale)&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un pur accéléromètre au début de projet pour mesurer la rotation de lacet --&amp;gt; physiquement impossible.&lt;br /&gt;
&lt;br /&gt;
* Récupérer la bonne information du gyroscope à travers les parasites.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
A travers ce projet, nous avons réussi à réaliser la partie principale de la vision déportée avec :&lt;br /&gt;
&lt;br /&gt;
* La communication Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des valeurs des capteurs (accéléromètre + gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Traitement des données récupérées.&lt;br /&gt;
&lt;br /&gt;
* Commande des moteurs de la tourelle selon 3 axes de rotation.&lt;br /&gt;
&lt;br /&gt;
mais nous n'avons pas réussi à finir la partie acquisition et transfert des données caméra.&lt;br /&gt;
&lt;br /&gt;
== Rapport ==&lt;br /&gt;
[[Fichier:Rapport projet vision déportée.pdf]]&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Rapport_projet_vision_d%C3%A9port%C3%A9e.pdf&amp;diff=5882</id>
		<title>Fichier:Rapport projet vision déportée.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Rapport_projet_vision_d%C3%A9port%C3%A9e.pdf&amp;diff=5882"/>
				<updated>2013-05-07T06:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Rapport projet vision déportée - Nicolas Husse - Adel Aljane&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rapport projet vision déportée - Nicolas Husse - Adel Aljane&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5841</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5841"/>
				<updated>2013-05-06T19:12:18Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Difficultés rencontrées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
[[Image:étudiants.png|200px|thumb|upright|Etudiants]]&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
* Ensuite une 4éme partie d'acquisition vidéo et transfert de vidéo pour afficher chez l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=FH0rIUhr-kQ&amp;amp;feature=youtu.be Lien provisoire vers la vidéo]&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino Uno&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee : 4214A-XBEE série S1&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre équipé d'un gyroscope: ADLX345 / ITG-3200&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* SRAM 23K256&lt;br /&gt;
&lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:arduino.jpg|150px|thumb|upright|Arduino]]&lt;br /&gt;
| [[Image:Capteur.jpg|150px|thumb|upright|Capteur(Accéléromètre et Gyroscope]]&lt;br /&gt;
| [[Image:Xbee.jpg|150px|thumb|upright|Xbee]]&lt;br /&gt;
| [[Image:servo.jpg|150px|thumb|upright|Servomoteur]]&lt;br /&gt;
| [[Image:C3088.jpg|150px|thumb|upright|Caméra]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Matériel de tests===&lt;br /&gt;
&lt;br /&gt;
* 1 adapateur série - usb pour softwareserial.&lt;br /&gt;
&lt;br /&gt;
* 1 tourelle de test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:tourelle.jpg|150px|thumb|upright|Tourelle de test]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
* Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2013:'''&lt;br /&gt;
[[Image:Shield xbee.jpg|150px|thumb|upright|Shield Xbee]]&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2013:'''&lt;br /&gt;
[[Image:Partiecapteur.jpg|150px|thumb|upright|Installation xbee et capteur]]&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Tests techniques)&lt;br /&gt;
&lt;br /&gt;
* Communication des données via le module Xbee entre deux Arduino.(Test techniques)&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
* Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Élaboration et tests de la commande d'un mini servomoteur en utilisant un Arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée et fonctionnelle)&lt;br /&gt;
&lt;br /&gt;
* Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
* La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
* Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Test du code développé en vacances en utilisation l'Arduino de l'émission équipé d'un module Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Févier 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement de la fonctionnalité de l'émission par récupération des valeurs de l'accéléromètre et transmission avec Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test unitaire sur Arduino de programme à l'émission.&lt;br /&gt;
&lt;br /&gt;
* Suivi d'avancement de projet et discussion sur les solutions à proposer pour évoluer le système.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 28 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement sur Arduino d'une fonction permettant de récupérer à partir du module xbee les valeurs de l'accéléromètre selon les trois axes (x,y,z) à travers une lecture sur le terminal série de l'Arduino.  &lt;br /&gt;
&lt;br /&gt;
* Vérification des valeurs obtenu à travers l'utilisation de softwareSerial en faisant une écriture sur ce terminal. ==&amp;gt; Partie Fonctionnelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 04 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Partie moteurs.jpg|150px|thumb|upright|Partie servomoteurs]]&lt;br /&gt;
* Phase d'intégration entre la partie commande de moteur et la partie récupération des valeurs de l'accéléromètre reçu par Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test d'intégration en utilisant les valeurs d'un seul axe x.&lt;br /&gt;
&lt;br /&gt;
Partie non achevée : Test en cours et identification d'une réponse du moteur non correcte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 06 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
Résultat des tests d'intégration:&lt;br /&gt;
&lt;br /&gt;
* Observation d'une oscillation dans le mouvement de servomoteur.&lt;br /&gt;
&lt;br /&gt;
* Détection d'une incompatibilité entre la libraire softwareserial.h et servo.h. &lt;br /&gt;
&lt;br /&gt;
* Problème de lecture sur terminal série à cause de l'absence de Serial.available().&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 07 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Mise en œuvre des corrections nécessaires pour modifier la réponse de moteur et la stabiliser. &lt;br /&gt;
&lt;br /&gt;
* Étalonnage des valeurs de moteur entre 0 et 180 en fonction des valeurs de x reçus.&lt;br /&gt;
&lt;br /&gt;
* Début de l'intégration de 3 servomoteurs à la fois.&lt;br /&gt;
&lt;br /&gt;
* Récupération d'une tourelle de test chez M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Axes X et Y fonctionnels, cependant au bout d'un certain (ou d'un certain nombre de mesure ?) les servos s’arrêtent de fonctionner...&lt;br /&gt;
&lt;br /&gt;
* Prochaine séance: régler la position initiale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 13 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Le problème des servomoteurs est réglé.&lt;br /&gt;
&lt;br /&gt;
* Les mesures selon les 3 axes: &lt;br /&gt;
&lt;br /&gt;
L'axe x : axe longitudinal ou axe de roulis --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe y : axe transversal ou axe de tangage --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe z : axe de lacet --&amp;gt; Non Fonctionnel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 18 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Poursuite des tests pour régler les résultats incohérents sur l'axe z.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 20 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Nos propres tests et une recherche bibliographique nous permet d'affirmer que on ne peut détecter un mouvement de lacet à travers un accéléromètre seulement. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 21 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Solution: On a fait un changement de matériel pour remplacer l’accéléromètre par un nouveau composant intégrant:&lt;br /&gt;
&lt;br /&gt;
- L’accéléromètre ADXL345 (déjà utilisé)&lt;br /&gt;
&lt;br /&gt;
- Gyroscope ITG-3200&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Modification de la technologie de communication de SPI vers I2C. &lt;br /&gt;
&lt;br /&gt;
* Début de la partie acquisition à partir d'une caméra (C3088).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration en I2C de nouveau composant (Accéléromètre + Gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Lecture de la documentation du module C3088 (avec la caméra ov6620).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement du programme I2C permettant de communiquer avec la caméra en I2C. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 3 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Tests de la communication I2C avec la caméra --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Début de la configuration de la caméra pour l'adapter à un fonctionnement sous microcontrôleur ATmega.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 4 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration de la caméra:&lt;br /&gt;
&lt;br /&gt;
- Format QCIF (176*144) &lt;br /&gt;
&lt;br /&gt;
- YCrCb mode&lt;br /&gt;
&lt;br /&gt;
- Réduction de nombre des images par seconde (fps).&lt;br /&gt;
&lt;br /&gt;
* Début de l'acquisition des images à travers le terminal série de l'Arduino (fonctionnement à 115200 bauds).&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Résultats non fonctionnels pour cette partie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 8 avril 2013''' &lt;br /&gt;
&lt;br /&gt;
* Pour travailler plus rapidement, nous avons effectué quelques optimisations de notre programme:&lt;br /&gt;
&lt;br /&gt;
- Utilisation des ports de l'ATmega 2560 pour lire simultanément les 8 broches Y.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Possibilité d'utiliser un RAM externe pour stocker les données avant de l'envoyer via port série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances'''&lt;br /&gt;
&lt;br /&gt;
* Partie Tracking : Récupération des trois angles nécessaire pour commander les servomoteurs à partir du gyromètre et de l'accéléromètre en utilisant une librairie existante. Testé sans Xbee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 29 avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Partie Tracking :Ajout de la communication par Xbee entre l'Arduino qui récupère les angles et celui qui commande les servomoteurs.&lt;br /&gt;
&lt;br /&gt;
* Partie caméra : Intégration d'une mémoire SRAM 23K256 pour la sauvegarde des données. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 2 Mai 2013'''&lt;br /&gt;
&lt;br /&gt;
* Assemblage du dispositif de prototypage pour la vidéo.&lt;br /&gt;
&lt;br /&gt;
== Bilan ==&lt;br /&gt;
&lt;br /&gt;
Nous avons fait le bilan d'avancement de notre projet:&lt;br /&gt;
&lt;br /&gt;
* Détection de mouvements de la tête:Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Communication sans fil(Xbee):Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Commande des servomoteurs:Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Acquisition de flux vidéo:Configuration fonctionnel, Capture non fonctionnel&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:Casque_f.png|150px|thumb|upright|Casque de détection]]&lt;br /&gt;
| [[Image:Tourelle_de_prototype.jpg|150px|thumb|upright|Tourelle de prototypage]]&lt;br /&gt;
| [[Image:Camera_f.png|150px|thumb|upright|Caméra C3008]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Difficultés rencontrées ==&lt;br /&gt;
Les difficultés rencontrées durant ce projet sont :&lt;br /&gt;
&lt;br /&gt;
* Synchronisation de signal vidéo à travers un micro-contrôleur.(Problème principale)&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un pur accéléromètre au début de projet pour mesurer la rotation de lacet --&amp;gt; physiquement impossible.&lt;br /&gt;
&lt;br /&gt;
* Récupérer la bonne information du gyroscope à travers les parasites.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
A travers ce projet, nous avons réussi à réaliser la partie principale de la vision déportée avec :&lt;br /&gt;
&lt;br /&gt;
* La communication Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des valeurs des capteurs (accéléromètre + gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Traitement des données récupérées.&lt;br /&gt;
&lt;br /&gt;
* Commande des moteurs de la tourelle selon 3 axes de rotation.&lt;br /&gt;
&lt;br /&gt;
mais nous n'avons pas réussi à finir la partie acquisition et transfert des données caméra.&lt;br /&gt;
&lt;br /&gt;
== Rapport ==&lt;br /&gt;
à venir&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5576</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5576"/>
				<updated>2013-05-05T18:41:33Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
* Ensuite une 4éme partie d'acquisition vidéo et transfert de vidéo pour afficher chez l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=FH0rIUhr-kQ&amp;amp;feature=youtu.be Lien provisoire vers la vidéo]&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino Uno&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee : 4214A-XBEE série S1&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre équipé d'un gyroscope: ADLX345 / ITG-3200&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* SRAM 23K256&lt;br /&gt;
&lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:arduino.jpg|150px|thumb|upright|Arduino]]&lt;br /&gt;
| [[Image:Capteur.jpg|150px|thumb|upright|Capteur(Accéléromètre et Gyroscope]]&lt;br /&gt;
| [[Image:Xbee.jpg|150px|thumb|upright|Xbee]]&lt;br /&gt;
| [[Image:servo.jpg|150px|thumb|upright|Servomoteur]]&lt;br /&gt;
| [[Image:C3088.jpg|150px|thumb|upright|Caméra]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Matériel de tests===&lt;br /&gt;
&lt;br /&gt;
* 1 adapateur série - usb pour softwareserial.&lt;br /&gt;
&lt;br /&gt;
* 1 tourelle de test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:tourelle.jpg|150px|thumb|upright|Tourelle de test]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
* Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Tests techniques)&lt;br /&gt;
&lt;br /&gt;
* Communication des données via le module Xbee entre deux Arduino.(Test techniques)&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
* Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Élaboration et tests de la commande d'un mini servomoteur en utilisant un Arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée et fonctionnelle)&lt;br /&gt;
&lt;br /&gt;
* Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
* La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
* Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Test du code développé en vacances en utilisation l'Arduino de l'émission équipé d'un module Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Févier 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement de la fonctionnalité de l'émission par récupération des valeurs de l'accéléromètre et transmission avec Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test unitaire sur Arduino de programme à l'émission.&lt;br /&gt;
&lt;br /&gt;
* Suivi d'avancement de projet et discussion sur les solutions à proposer pour évoluer le système.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 28 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement sur Arduino d'une fonction permettant de récupérer à partir du module xbee les valeurs de l'accéléromètre selon les trois axes (x,y,z) à travers une lecture sur le terminal série de l'Arduino.  &lt;br /&gt;
&lt;br /&gt;
* Vérification des valeurs obtenu à travers l'utilisation de softwareSerial en faisant une écriture sur ce terminal. ==&amp;gt; Partie Fonctionnelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 04 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Phase d'intégration entre la partie commande de moteur et la partie récupération des valeurs de l'accéléromètre reçu par Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test d'intégration en utilisant les valeurs d'un seul axe x.&lt;br /&gt;
&lt;br /&gt;
Partie non achevée : Test en cours et identification d'une réponse du moteur non correcte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 06 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
Résultat des tests d'intégration:&lt;br /&gt;
&lt;br /&gt;
* Observation d'une oscillation dans le mouvement de servomoteur.&lt;br /&gt;
&lt;br /&gt;
* Détection d'une incompatibilité entre la libraire softwareserial.h et servo.h. &lt;br /&gt;
&lt;br /&gt;
* Problème de lecture sur terminal série à cause de l'absence de Serial.available().&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 07 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Mise en œuvre des corrections nécessaires pour modifier la réponse de moteur et la stabiliser. &lt;br /&gt;
&lt;br /&gt;
* Étalonnage des valeurs de moteur entre 0 et 180 en fonction des valeurs de x reçus.&lt;br /&gt;
&lt;br /&gt;
* Début de l'intégration de 3 servomoteurs à la fois.&lt;br /&gt;
&lt;br /&gt;
* Récupération d'une tourelle de test chez M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Axes X et Y fonctionnels, cependant au bout d'un certain (ou d'un certain nombre de mesure ?) les servos s’arrêtent de fonctionner...&lt;br /&gt;
&lt;br /&gt;
* Prochaine séance: régler la position initiale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 13 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Le problème des servomoteurs est réglé.&lt;br /&gt;
&lt;br /&gt;
* Les mesures selon les 3 axes: &lt;br /&gt;
&lt;br /&gt;
L'axe x : axe longitudinal ou axe de roulis --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe y : axe transversal ou axe de tangage --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe z : axe de lacet --&amp;gt; Non Fonctionnel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 18 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Poursuite des tests pour régler les résultats incohérents sur l'axe z.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 20 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Nos propres tests et une recherche bibliographique nous permet d'affirmer que on ne peut détecter un mouvement de lacet à travers un accéléromètre seulement. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 21 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Solution: On a fait un changement de matériel pour remplacer l’accéléromètre par un nouveau composant intégrant:&lt;br /&gt;
&lt;br /&gt;
- L’accéléromètre ADXL345 (déjà utilisé)&lt;br /&gt;
&lt;br /&gt;
- Gyroscope ITG-3200&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Modification de la technologie de communication de SPI vers I2C. &lt;br /&gt;
&lt;br /&gt;
* Début de la partie acquisition à partir d'une caméra (C3088).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration en I2C de nouveau composant (Accéléromètre + Gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Lecture de la documentation du module C3088 (avec la caméra ov6620).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement du programme I2C permettant de communiquer avec la caméra en I2C. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 3 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Tests de la communication I2C avec la caméra --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Début de la configuration de la caméra pour l'adapter à un fonctionnement sous microcontrôleur ATmega.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 4 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration de la caméra:&lt;br /&gt;
&lt;br /&gt;
- Format QCIF (176*144) &lt;br /&gt;
&lt;br /&gt;
- YCrCb mode&lt;br /&gt;
&lt;br /&gt;
- Réduction de nombre des images par seconde (fps).&lt;br /&gt;
&lt;br /&gt;
* Début de l'acquisition des images à travers le terminal série de l'Arduino (fonctionnement à 115200 bauds).&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Résultats non fonctionnels pour cette partie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 8 avril 2013''' &lt;br /&gt;
&lt;br /&gt;
* Pour travailler plus rapidement, nous avons effectué quelques optimisations de notre programme:&lt;br /&gt;
&lt;br /&gt;
- Utilisation des ports de l'ATmega 2560 pour lire simultanément les 8 broches Y.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Possibilité d'utiliser un RAM externe pour stocker les données avant de l'envoyer via port série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances'''&lt;br /&gt;
&lt;br /&gt;
* Partie Tracking : Récupération des trois angles nécessaire pour commander les servomoteurs à partir du gyromètre et de l'accéléromètre en utilisant une librairie existante. Testé sans Xbee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 29 avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Partie Tracking :Ajout de la communication par Xbee entre l'Arduino qui récupère les angles et celui qui commande les servomoteurs.&lt;br /&gt;
&lt;br /&gt;
* Partie caméra : Intégration d'une mémoire SRAM 23K256 pour la sauvegarde des données. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 2 Mai 2013'''&lt;br /&gt;
&lt;br /&gt;
* Assemblage du dispositif de prototypage pour la vidéo. &lt;br /&gt;
&lt;br /&gt;
== Bilan ==&lt;br /&gt;
&lt;br /&gt;
Nous avons fait le bilan d'avancement de notre projet:&lt;br /&gt;
&lt;br /&gt;
== Difficultés rencontrées ==&lt;br /&gt;
Les difficultés rencontrées durant ce projet sont :&lt;br /&gt;
&lt;br /&gt;
* Synchronisation de signal vidéo à travers un micro-contrôleur.(Problème principale)&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un pur accéléromètre au début de projet pour mesurer la rotation de lacet --&amp;gt; physiquement impossible.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
A travers ce projet, nous avons réussi à réaliser la partie principale de la vision déportée avec :&lt;br /&gt;
&lt;br /&gt;
* La communication Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des valeurs des capteurs (accéléromètre + gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Traitement des données récupérées.&lt;br /&gt;
&lt;br /&gt;
* Commande des moteurs de la tourelle selon 3 axes de rotation.&lt;br /&gt;
&lt;br /&gt;
mais nous n'avons pas réussi à finir la partie acquisition et transfert des données caméra.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5003</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5003"/>
				<updated>2013-04-29T15:13:36Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino Uno&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee : 4214A-XBEE série S1&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre : ADLX345&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
===Matériel de tests===&lt;br /&gt;
&lt;br /&gt;
* 1 adapateur série - usb pour softwareserial.&lt;br /&gt;
&lt;br /&gt;
* 3 Mini servomoteurs de Kit arduino.&lt;br /&gt;
&lt;br /&gt;
* 1 tourelle de test&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
* Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Tests techniques)&lt;br /&gt;
&lt;br /&gt;
* Communication des données via le module Xbee entre deux Arduino.(Test techniques)&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
* Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Élaboration et tests de la commande d'un mini servomoteur en utilisant un Arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée et fonctionnelle)&lt;br /&gt;
&lt;br /&gt;
* Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
* La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
* Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Test du code développé en vacances en utilisation l'Arduino de l'émission équipé d'un module Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Févier 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement de la fonctionnalité de l'émission par récupération des valeurs de l'accéléromètre et transmission avec Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test unitaire sur Arduino de programme à l'émission.&lt;br /&gt;
&lt;br /&gt;
* Suivi d'avancement de projet et discussion sur les solutions à proposer pour évoluer le système.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 28 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement sur Arduino d'une fonction permettant de récupérer à partir du module xbee les valeurs de l'accéléromètre selon les trois axes (x,y,z) à travers une lecture sur le terminal série de l'Arduino.  &lt;br /&gt;
&lt;br /&gt;
* Vérification des valeurs obtenu à travers l'utilisation de softwareSerial en faisant une écriture sur ce terminal. ==&amp;gt; Partie Fonctionnelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 04 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Phase d'intégration entre la partie commande de moteur et la partie récupération des valeurs de l'accéléromètre reçu par Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test d'intégration en utilisant les valeurs d'un seul axe x.&lt;br /&gt;
&lt;br /&gt;
Partie non achevée : Test en cours et identification d'une réponse du moteur non correcte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 06 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
Résultat des tests d'intégration:&lt;br /&gt;
&lt;br /&gt;
* Observation d'une oscillation dans le mouvement de servomoteur.&lt;br /&gt;
&lt;br /&gt;
* Détection d'une incompatibilité entre la libraire softwareserial.h et servo.h. &lt;br /&gt;
&lt;br /&gt;
* Problème de lecture sur terminal série à cause de l'absence de Serial.available().&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 07 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Mise en œuvre des corrections nécessaires pour modifier la réponse de moteur et la stabiliser. &lt;br /&gt;
&lt;br /&gt;
* Étalonnage des valeurs de moteur entre 0 et 180 en fonction des valeurs de x reçus.&lt;br /&gt;
&lt;br /&gt;
* Début de l'intégration de 3 servomoteurs à la fois.&lt;br /&gt;
&lt;br /&gt;
* Récupération d'une tourelle de test chez M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Axes X et Y fonctionnels, cependant au bout d'un certain (ou d'un certain nombre de mesure ?) les servos s’arrêtent de fonctionner...&lt;br /&gt;
&lt;br /&gt;
* Prochaine séance: régler la position initiale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 13 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Le problème des servomoteurs est réglé.&lt;br /&gt;
&lt;br /&gt;
* Les mesures selon les 3 axes: &lt;br /&gt;
&lt;br /&gt;
L'axe x : axe longitudinal ou axe de roulis --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe y : axe transversal ou axe de tangage --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe z : axe de lacet --&amp;gt; Non Fonctionnel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 18 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Poursuite des tests pour régler les résultats incohérents sur l'axe z.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 20 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Nos propres tests et une recherche bibliographique nous permet d'affirmer que on ne peut détecter un mouvement de lacet à travers un accéléromètre seulement. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 21 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Solution: On a fait un changement de matériel pour remplacer l’accéléromètre par un nouveau composant intégrant:&lt;br /&gt;
&lt;br /&gt;
- L’accéléromètre ADXL345 (déjà utilisé)&lt;br /&gt;
&lt;br /&gt;
- Gyroscope ITG-3200&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Modification de la technologie de communication de SPI vers I2C. &lt;br /&gt;
&lt;br /&gt;
* Début de la partie acquisition à partir d'une caméra (C3088).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration en I2C de nouveau composant (Accéléromètre + Gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Lecture de la documentation du module C3088 (avec la caméra ov6620).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement du programme I2C permettant de communiquer avec la caméra en I2C. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 3 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Tests de la communication I2C avec la caméra --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Début de la configuration de la caméra pour l'adapter à un fonctionnement sous microcontrôleur ATmega.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 4 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration de la caméra:&lt;br /&gt;
&lt;br /&gt;
- Format QCIF (176*144) &lt;br /&gt;
&lt;br /&gt;
- YCrCb mode&lt;br /&gt;
&lt;br /&gt;
- Réduction de nombre des images par seconde (fps).&lt;br /&gt;
&lt;br /&gt;
* Début de l'acquisition des images à travers le terminal série de l'Arduino (fonctionnement à 115200 bauds).&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Résultats non fonctionnels pour cette partie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 8 avril 2013''' &lt;br /&gt;
&lt;br /&gt;
* Pour travailler plus rapidement, nous avons effectué quelques optimisations de notre programme:&lt;br /&gt;
&lt;br /&gt;
- Utilisation des ports de l'ATmega 2560 pour lire simultanément les 8 broches Y.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Possibilité d'utiliser un RAM externe pour stocker les données avant de l'envoyer via port série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances'''&lt;br /&gt;
&lt;br /&gt;
* Récupération des trois angles nécessaire pour commander les servomoteurs à partir du gyromètre et de l'accéléromètre en utilisant une librairie existante. Testé sans Xbee.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 29 avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Ajout de la communication par Xbee entre l'Arduino qui récupère les angles et celui qui commande les servomoteurs.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5002</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=5002"/>
				<updated>2013-04-29T15:13:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino Uno&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee : 4214A-XBEE série S1&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre : ADLX345&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
===Matériel de tests===&lt;br /&gt;
&lt;br /&gt;
* 1 adapateur série - usb pour softwareserial.&lt;br /&gt;
&lt;br /&gt;
* 3 Mini servomoteurs de Kit arduino.&lt;br /&gt;
&lt;br /&gt;
* 1 tourelle de test&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
* Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Tests techniques)&lt;br /&gt;
&lt;br /&gt;
* Communication des données via le module Xbee entre deux Arduino.(Test techniques)&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
* Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Élaboration et tests de la commande d'un mini servomoteur en utilisant un Arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée et fonctionnelle)&lt;br /&gt;
&lt;br /&gt;
* Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
* La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
* Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Test du code développé en vacances en utilisation l'Arduino de l'émission équipé d'un module Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Févier 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement de la fonctionnalité de l'émission par récupération des valeurs de l'accéléromètre et transmission avec Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test unitaire sur Arduino de programme à l'émission.&lt;br /&gt;
&lt;br /&gt;
* Suivi d'avancement de projet et discussion sur les solutions à proposer pour évoluer le système.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 28 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement sur Arduino d'une fonction permettant de récupérer à partir du module xbee les valeurs de l'accéléromètre selon les trois axes (x,y,z) à travers une lecture sur le terminal série de l'Arduino.  &lt;br /&gt;
&lt;br /&gt;
* Vérification des valeurs obtenu à travers l'utilisation de softwareSerial en faisant une écriture sur ce terminal. ==&amp;gt; Partie Fonctionnelle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 04 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Phase d'intégration entre la partie commande de moteur et la partie récupération des valeurs de l'accéléromètre reçu par Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test d'intégration en utilisant les valeurs d'un seul axe x.&lt;br /&gt;
&lt;br /&gt;
Partie non achevée : Test en cours et identification d'une réponse du moteur non correcte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 06 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
Résultat des tests d'intégration:&lt;br /&gt;
&lt;br /&gt;
* Observation d'une oscillation dans le mouvement de servomoteur.&lt;br /&gt;
&lt;br /&gt;
* Détection d'une incompatibilité entre la libraire softwareserial.h et servo.h. &lt;br /&gt;
&lt;br /&gt;
* Problème de lecture sur terminal série à cause de l'absence de Serial.available().&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 07 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Mise en œuvre des corrections nécessaires pour modifier la réponse de moteur et la stabiliser. &lt;br /&gt;
&lt;br /&gt;
* Étalonnage des valeurs de moteur entre 0 et 180 en fonction des valeurs de x reçus.&lt;br /&gt;
&lt;br /&gt;
* Début de l'intégration de 3 servomoteurs à la fois.&lt;br /&gt;
&lt;br /&gt;
* Récupération d'une tourelle de test chez M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Axes X et Y fonctionnels, cependant au bout d'un certain (ou d'un certain nombre de mesure ?) les servos s’arrêtent de fonctionner...&lt;br /&gt;
&lt;br /&gt;
* Prochaine séance: régler la position initiale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 13 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Le problème des servomoteurs est réglé.&lt;br /&gt;
&lt;br /&gt;
* Les mesures selon les 3 axes: &lt;br /&gt;
&lt;br /&gt;
L'axe x : axe longitudinal ou axe de roulis --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe y : axe transversal ou axe de tangage --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
L'axe z : axe de lacet --&amp;gt; Non Fonctionnel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 18 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Poursuite des tests pour régler les résultats incohérents sur l'axe z.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 20 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Nos propres tests et une recherche bibliographique nous permet d'affirmer que on ne peut détecter un mouvement de lacet à travers un accéléromètre seulement. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 21 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Solution: On a fait un changement de matériel pour remplacer l’accéléromètre par un nouveau composant intégrant:&lt;br /&gt;
&lt;br /&gt;
- L’accéléromètre ADXL345 (déjà utilisé)&lt;br /&gt;
&lt;br /&gt;
- Gyroscope ITG-3200&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Modification de la technologie de communication de SPI vers I2C. &lt;br /&gt;
&lt;br /&gt;
* Début de la partie acquisition à partir d'une caméra (C3088).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration en I2C de nouveau composant (Accéléromètre + Gyroscope)&lt;br /&gt;
&lt;br /&gt;
* Lecture de la documentation du module C3088 (avec la caméra ov6620).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement du programme I2C permettant de communiquer avec la caméra en I2C. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 3 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Tests de la communication I2C avec la caméra --&amp;gt; Fonctionnel&lt;br /&gt;
&lt;br /&gt;
* Début de la configuration de la caméra pour l'adapter à un fonctionnement sous microcontrôleur ATmega.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 4 Avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Configuration de la caméra:&lt;br /&gt;
&lt;br /&gt;
- Format QCIF (176*144) &lt;br /&gt;
&lt;br /&gt;
- YCrCb mode&lt;br /&gt;
&lt;br /&gt;
- Réduction de nombre des images par seconde (fps).&lt;br /&gt;
&lt;br /&gt;
* Début de l'acquisition des images à travers le terminal série de l'Arduino (fonctionnement à 115200 bauds).&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Résultats non fonctionnels pour cette partie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 8 avril 2013''' &lt;br /&gt;
&lt;br /&gt;
* Pour travailler plus rapidement, nous avons effectué quelques optimisations de notre programme:&lt;br /&gt;
&lt;br /&gt;
- Utilisation des ports de l'ATmega 2560 pour lire simultanément les 8 broches Y.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Possibilité d'utiliser un RAM externe pour stocker les données avant de l'envoyer via port série.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Vacances'''&lt;br /&gt;
&lt;br /&gt;
* Récupération des trois angles nécessaire pour commander les servomoteurs à partir du gyromètre et de l'accéléromètre en utilisant une librairie existante. Testé sans Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Lundi 29 avril 2013'''&lt;br /&gt;
&lt;br /&gt;
* Ajout de la communication par Xbee entre l'Arduino qui récupère les angles et celui qui commande les servomoteurs.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=4479</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=4479"/>
				<updated>2013-03-11T14:55:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino Uno&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee : 4214A-XBEE série S1&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre : ADLX345&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
===Matériel de tests===&lt;br /&gt;
&lt;br /&gt;
* 1 adapateur série - usb pour softwareserial.&lt;br /&gt;
&lt;br /&gt;
* 3 Mini servomoteurs de Kit arduino.&lt;br /&gt;
&lt;br /&gt;
* 1 tourelle de test&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
* Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
* Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Tests techniques)&lt;br /&gt;
&lt;br /&gt;
* Communication des données via le module Xbee entre deux arduino.(Test techniques)&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
* Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2013:'''&lt;br /&gt;
&lt;br /&gt;
* Élaboration et tests de la commande d'un mini servomoteur en utilisant un arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée et fonctionnelle)&lt;br /&gt;
&lt;br /&gt;
* Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
'''Vacances:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
* La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
* Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
'''Lundi 25 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Test du code développé en vacances en utilisation l'arduino de l'émission équipé d'un module Xbee.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 27 Févier 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement de la fonctionnalité de l'émission par récupération des valeurs de l'accéléromètre et transmission avec Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test unitaire sur arduino de programme à l'émission.&lt;br /&gt;
&lt;br /&gt;
* Suivi d'avancement de projet et discussion sur les solutions à proposer pour évoluer le système.&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 28 Février 2013'''&lt;br /&gt;
&lt;br /&gt;
* Développement sur arduino d'une fonction permettant de récupérer à partir du module xbee les valeurs de l'accéléromètre selon les trois axes (x,y,z) à travers une lecture sur le terminal série de l'arduino.  &lt;br /&gt;
&lt;br /&gt;
* Vérification des valeurs obtenu à travers l'utilisation de softwareSerial en faisant une écriture sur ce terminal. ==&amp;gt; Partie Fonctionnelle&lt;br /&gt;
&lt;br /&gt;
'''Lundi 04 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Phase d'intégration entre la partie commande de moteur et la partie récupération des valeurs de l'accéléromètre reçu par Xbee.&lt;br /&gt;
&lt;br /&gt;
* Test d'intégration en utilisant les valeurs d'un seul axe x.&lt;br /&gt;
&lt;br /&gt;
Partie non achevée : Test en cours et identification d'une réponse du moteur non correcte.&lt;br /&gt;
&lt;br /&gt;
'''Mercredi 06 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
Résultat des tests d'intégration:&lt;br /&gt;
&lt;br /&gt;
* Observation d'une oscillation dans le mouvement de servomoteur.&lt;br /&gt;
&lt;br /&gt;
* Détection d'une incompatibilité entre la libraire softwareserial.h et servo.h. &lt;br /&gt;
&lt;br /&gt;
* Problème de lecture sur terminal série à cause de l'absence de Serial.available().&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 07 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Mise en œuvre des corrections nécessaires pour modifier la réponse de moteur et la stabiliser. &lt;br /&gt;
&lt;br /&gt;
* Étalonnage des valeurs de moteur entre 0 et 180 en fonction des valeurs de x reçus.&lt;br /&gt;
&lt;br /&gt;
* Début de l'intégration de 3 servomoteurs à la fois.&lt;br /&gt;
&lt;br /&gt;
* Récupération d'une tourelle de test chez M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Mars 2013'''&lt;br /&gt;
&lt;br /&gt;
* Axes X et Y fonctionnels, cependant au bout d'un certain (ou d'un certain nombre de mesure ?) les servos s’arrêtent de fonctionner...&lt;br /&gt;
&lt;br /&gt;
* Prochaine séance: régler la position initiale.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=4167</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=4167"/>
				<updated>2013-02-22T15:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
Communication des données via le module Xbee entre deux arduino.&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Élaboration et tests de la commande d'un mini servomoteur en utilisant un arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
'''Vacance:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
Montage:&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 1 et 3 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 4 et 5 du MAX232&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 2 du MAX232 et VCC&lt;br /&gt;
&lt;br /&gt;
1 Condensateur 100nF entre le pin 6 du MAX232 et GND&lt;br /&gt;
&lt;br /&gt;
Le pin 16 du MAX232 est relié au VCC&lt;br /&gt;
&lt;br /&gt;
Le pin 15 du MAX232 est relié au GND et à la broche GND du RS-232 (fil noir)&lt;br /&gt;
&lt;br /&gt;
Le pin 14 du MAX232 est relié à la broche TX du RS-232 (fil rouge)&lt;br /&gt;
&lt;br /&gt;
Le pin 13 du MAX232 est relié à la broche RX du RS-232 (fil jaune)&lt;br /&gt;
&lt;br /&gt;
Le pin 12 du MAX232 est relié au pin 10 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
Le pin 11 du MAX232 est relié au pin 11 de l'Arduino&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=4152</id>
		<title>Vision déportée</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Vision_d%C3%A9port%C3%A9e&amp;diff=4152"/>
				<updated>2013-02-22T14:44:05Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Le but de ce projet est de développer une tourelle équipée d'un caméra suivant le regard d'une personne.Le projet est constitué principalement de 3 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication à l'aide des modules Xbee&lt;br /&gt;
&lt;br /&gt;
* Acquisition des données capteur (accéléromètre)&lt;br /&gt;
&lt;br /&gt;
* Commande d'un ou plusieurs moteurs pour les mouvements du caméra.&lt;br /&gt;
&lt;br /&gt;
Ce projet est en collaboration avec le département Conception Mécanique représenté par M. Rodolphe Astori et M. Aurelien Benechet.&lt;br /&gt;
&lt;br /&gt;
== Préparation du projet ==&lt;br /&gt;
===Matériel nécessaire===&lt;br /&gt;
&lt;br /&gt;
* 2 Arduino&lt;br /&gt;
&lt;br /&gt;
* 2 Modules Xbee&lt;br /&gt;
&lt;br /&gt;
* 1 Accéléromètre&lt;br /&gt;
&lt;br /&gt;
* 3 Servomoteurs&lt;br /&gt;
&lt;br /&gt;
* 1 Caméra&lt;br /&gt;
 &lt;br /&gt;
* 1 Une tourelle mécanique (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
* 1 Casque (Fourni par le département CM)&lt;br /&gt;
&lt;br /&gt;
== Avancement du projet ==&lt;br /&gt;
'''Lundi 4 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Contact des encadrants du projet.&lt;br /&gt;
&lt;br /&gt;
Présentation du projet par M. Alexandre Boé.&lt;br /&gt;
&lt;br /&gt;
Discussion autour des différentes parties du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 7 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Durant cette séance, nous avons effectué la configuration de la communication sans fil à travers le protocole de communication ZigBee.&lt;br /&gt;
Pour garantir une communication entre deux modules xBee 4214A-XBEE on a défini :&lt;br /&gt;
&lt;br /&gt;
Un identifiant réseau: 3005 (commande ATID)&lt;br /&gt;
&lt;br /&gt;
Une adresse pour chaque module:(adresses 10 et 11)&lt;br /&gt;
&lt;br /&gt;
1er Module ATMY10 - ATDL11&lt;br /&gt;
&lt;br /&gt;
2éme Module ATMY11 - ATDL10&lt;br /&gt;
&lt;br /&gt;
Enregistrement en Mémoire: ATWR&lt;br /&gt;
&lt;br /&gt;
La vérification et les tests se font à l'aide de deux ordinateurs sous terminal série qui communiquent à une même vitesse (9600 BAUD).(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lundi 11 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Utilisation d'un accéléromètre et récupération des données sur le terminal série d'un arduino suivant 3 axes.(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
Communication des données via le module Xbee entre deux arduino.&lt;br /&gt;
&lt;br /&gt;
Problème de vérification sur terminal série et envoi des données en même temps =&amp;gt; recours à une connexion série supplémentaire sur les broches d'arduino.&lt;br /&gt;
&lt;br /&gt;
Réunion de spécification et avancement de projet avec les enseignants CM.&lt;br /&gt;
&lt;br /&gt;
Répartition de travail pour la prochaine séance sur 2 parties:&lt;br /&gt;
&lt;br /&gt;
* Communication et tests connexion série (Nicolas)&lt;br /&gt;
&lt;br /&gt;
* Commande servomoteur  (Adel)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Jeudi 14 Février 2012:'''&lt;br /&gt;
&lt;br /&gt;
Élaboration et tests de la commande d'un mini servomoteur en utilisant un arduino et un potentiomètre fonctionnant sur 180°.(Partie achevée)&lt;br /&gt;
&lt;br /&gt;
Communication sur une liaison série parallèle.(Partie non achevée) =&amp;gt; emprunt d'un module Xbee et une liaison série pour travailler pendant les vacances.&lt;br /&gt;
&lt;br /&gt;
'''Vacance:'''&lt;br /&gt;
&lt;br /&gt;
Il est à noter que pour pouvoir exploiter un port série logiciel à l'aide la librairie SoftwareSerial (pour le débuggage par exemple), il faut utiliser un MAX232 (Niveaux TTL et RS-232 différents).&lt;br /&gt;
&lt;br /&gt;
La configuration automatique du Xbee par l'Arduino est opérationnel.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2912</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2912"/>
				<updated>2012-05-26T22:17:02Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Le README est disponible ici: [[Média:Readme.txt]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Malgré les problèmes, une vidéo a été tourné et est disponible ici: [[https://www.dropbox.com/s/kjg1ktnw24r634a/Gestion_afficheurs_7-seg.mpg lien]].&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2904</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2904"/>
				<updated>2012-05-26T13:23:07Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Le README est disponible ici: [[Média:Readme.txt]]&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2903</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2903"/>
				<updated>2012-05-26T13:22:35Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Le README est disponible ici: [[Fichier:Readme.txt]]&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2902</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2902"/>
				<updated>2012-05-26T13:19:26Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Le README est disponible ici: [[Readme.txt]]&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2901</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2901"/>
				<updated>2012-05-26T13:18:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Le README est disponible ici: [Readme.txt]&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Readme.txt&amp;diff=2900</id>
		<title>Fichier:Readme.txt</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Readme.txt&amp;diff=2900"/>
				<updated>2012-05-26T13:18:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Readme de la gestion de l'afficheur 7-segments.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Readme de la gestion de l'afficheur 7-segments.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2874</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2874"/>
				<updated>2012-05-25T22:02:08Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Note: Rédaction du Readme en cours&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2873</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2873"/>
				<updated>2012-05-25T21:24:31Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Le 24 mai 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. &lt;br /&gt;
Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Note: Rédaction du Readme en cours&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2872</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2872"/>
				<updated>2012-05-25T21:18:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Le 11 mai 2012: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Note: Rédaction du Readme en cours&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2871</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2871"/>
				<updated>2012-05-25T21:18:08Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Rapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
'''Partie électronique:'''&lt;br /&gt;
[[Fichier:Schema_elec.png|640px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
Ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|640px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partie informatique:'''&lt;br /&gt;
&lt;br /&gt;
Deux versions du programme sont présent sur la Foxboard: &amp;quot;prog_a.c&amp;quot; pour les afficheurs 7-segments liés à l'Arduino et &amp;quot;prog.c&amp;quot; pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme.&lt;br /&gt;
En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé.&lt;br /&gt;
Le tableau de conversion ASCII/7-segments est issue de ce tableau: [http://3.bp.blogspot.com/-DaLlkUUNG40/Tl-0JcQ0sXI/AAAAAAAAABk/2ZMzsZeEmQY/s1600/ASCII-to-SevenSegent.jpg Lien]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:7-seg-web.png|424px|thumb|left|Interface web de la gestion de l'afficheur 7-segments]]&lt;br /&gt;
&lt;br /&gt;
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.&lt;br /&gt;
&lt;br /&gt;
Note: Rédaction du Readme en cours&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2870</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2870"/>
				<updated>2012-05-25T21:01:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Le 11 mai 2012: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
'''Prévisions:'''&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schema_elec.png|1500px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|1000px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2869</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2869"/>
				<updated>2012-05-25T21:00:31Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Le 21 mai 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
== Evaluation informatique et électronique ==&lt;br /&gt;
&lt;br /&gt;
=== Gestion de projet / rédaction Wiki ===&lt;br /&gt;
&lt;br /&gt;
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé.&lt;br /&gt;
Note 70% (à revoir suivant les améliorations apportées).&lt;br /&gt;
&lt;br /&gt;
=== Test fonctionnels ===&lt;br /&gt;
&lt;br /&gt;
* Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).&lt;br /&gt;
* Système : Non abordé. Note 100%&lt;br /&gt;
&lt;br /&gt;
=== Qualité de la réalisation ===&lt;br /&gt;
&lt;br /&gt;
* Informatique :&lt;br /&gt;
** procédure de test : Pas de &amp;lt;tt&amp;gt;README&amp;lt;/tt&amp;gt; sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%. &lt;br /&gt;
** pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.&lt;br /&gt;
** scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.&lt;br /&gt;
** installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.&lt;br /&gt;
* Electronique :&lt;br /&gt;
** qualité de la réalisation :&lt;br /&gt;
** tests autonomes :&lt;br /&gt;
&lt;br /&gt;
=== Bilan ===&lt;br /&gt;
&lt;br /&gt;
Tous les points principaux ont un poids équivalent (sauf &amp;quot;système&amp;quot; qui est un bonus).&lt;br /&gt;
&lt;br /&gt;
Note finale :&lt;br /&gt;
&lt;br /&gt;
== Le 20 avril 2012: ==&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
== Le 11 mai 2012: ==&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).&lt;br /&gt;
&lt;br /&gt;
== Le 21 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prévision:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;br /&gt;
Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).&lt;br /&gt;
&lt;br /&gt;
'''Travail effectué:'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique.&lt;br /&gt;
Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.&lt;br /&gt;
&lt;br /&gt;
== Le 24 mai 2012 ==&lt;br /&gt;
&lt;br /&gt;
= Rapport =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schema_elec.png|1500px|thumb|left|Schéma électrique fait sur altium et implanté sur la nanoboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ce schéma est constitué de:&lt;br /&gt;
&lt;br /&gt;
- 2 compteurs (CB2CES)&lt;br /&gt;
&lt;br /&gt;
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)&lt;br /&gt;
&lt;br /&gt;
- 1 multiplexeur (M8_B4B1)&lt;br /&gt;
&lt;br /&gt;
- 4 bascules (FD8CB)&lt;br /&gt;
&lt;br /&gt;
- 1 decodeur (D2_4S)&lt;br /&gt;
&lt;br /&gt;
- 12 sorties&lt;br /&gt;
&lt;br /&gt;
- 1 horloge correspond à celle de la nanoboard&lt;br /&gt;
&lt;br /&gt;
- un bloc de réception&lt;br /&gt;
&lt;br /&gt;
- 1 bloc pour le port série RS232&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Circuit_elec.jpg|1000px|thumb|left|montage électrique entre la plaquette, l'afficheur, la nanoboard et la foxboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)&lt;br /&gt;
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:7-seg-web.png&amp;diff=2868</id>
		<title>Fichier:7-seg-web.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:7-seg-web.png&amp;diff=2868"/>
				<updated>2012-05-25T20:52:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : Interface web de la gestion des afficheurs 7-segments.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface web de la gestion des afficheurs 7-segments.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2536</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2536"/>
				<updated>2012-05-12T13:31:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
Nicolas Husse, Mathieu Lenormand, Matthias Debie&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
== Avancement ==&lt;br /&gt;
&lt;br /&gt;
'''Le 20 avril 2012:'''&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
'''Le 11 mai 2012:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
'''Prochaine séance'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2535</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2535"/>
				<updated>2012-05-12T13:31:29Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
Nicolas Husse, Mathieu Lenormand, Matthias Debie&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
== Avancement ==&lt;br /&gt;
&lt;br /&gt;
'''Le 20 avril 2012:'''&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
'''Le 11 mai 2012:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;br /&gt;
&lt;br /&gt;
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)&lt;br /&gt;
&lt;br /&gt;
'''Prochaine séance'''&lt;br /&gt;
&lt;br /&gt;
Pour la partie informatique, le programme doit être intégré et adapter à la FoxBoard.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2523</id>
		<title>Gestion afficheurs, 2011/2012, TD3</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Gestion_afficheurs,_2011/2012,_TD3&amp;diff=2523"/>
				<updated>2012-05-11T15:28:03Z</updated>
		
		<summary type="html">&lt;p&gt;Nhusse : /* Avancement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Gestion d'afficheurs 7-segments =&lt;br /&gt;
&lt;br /&gt;
Nicolas Husse, Mathieu Lenormand, Matthias Debie&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
== Avancement ==&lt;br /&gt;
&lt;br /&gt;
'''Le 20 avril 2012:'''&lt;br /&gt;
&lt;br /&gt;
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique.&lt;br /&gt;
Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau.&lt;br /&gt;
Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela. &lt;br /&gt;
&lt;br /&gt;
'''Le 11 mai 2012:'''&lt;br /&gt;
&lt;br /&gt;
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.&lt;/div&gt;</summary>
		<author><name>Nhusse</name></author>	</entry>

	</feed>