<?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=Cduplouy</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=Cduplouy"/>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Cduplouy"/>
		<updated>2026-05-13T20:53:37Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27758</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27758"/>
				<updated>2016-02-23T22:06:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Semaine 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur]  '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ] '''[10 fournis le 22/02/2016]'''&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS] '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien] '''[fourni le 22/02/2016]'''&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumé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;
Les diodes IR et photorésistances devant être de part et d’autre de la boîte, il était nécessaire de réaliser deux cartes PCB que nous avons réalisées.&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27757</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27757"/>
				<updated>2016-02-23T22:06:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur]  '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ] '''[10 fournis le 22/02/2016]'''&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS] '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien] '''[fourni le 22/02/2016]'''&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumé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;
Les diodes IR et photorésistances devant être de part et d’autre de la boîte, il était nécessaire de réaliser deux cartes PCB que nous avons réalisées.&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27756</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27756"/>
				<updated>2016-02-23T22:06:00Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur]  '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ] '''[10 fournis le 22/02/2016]'''&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS] '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien] '''[fourni le 22/02/2016]'''&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les diodes IR et photorésistances devant être de part et d’autre de la boîte, il était nécessaire de réaliser deux cartes PCB que nous avons réalisées.&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27755</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27755"/>
				<updated>2016-02-23T22:05:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur]  '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ] '''[10 fournis le 22/02/2016]'''&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS] '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien] '''[fourni le 22/02/2016]'''&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les diodes IR et photorésistances devant être de part et d’autre de la boîte, il était nécessaire de réaliser deux cartes PCB que nous avons réalisées.&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27754</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27754"/>
				<updated>2016-02-23T22:05:12Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur]  '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ] '''[10 fournis le 22/02/2016]'''&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS] '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien] '''[fourni le 22/02/2016]'''&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumé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;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
Les diodes IR et photorésistances devant être de part et d’autre de la boîte, il était nécessaire de réaliser deux cartes PCB que nous avons réalisées.&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27753</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27753"/>
				<updated>2016-02-23T22:02:16Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur]  '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ] '''[10 fournis le 22/02/2016]'''&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS] '''[fournis le 22/02/2016]'''&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien] '''[fourni le 22/02/2016]'''&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27752</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27752"/>
				<updated>2016-02-23T21:54:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
&lt;br /&gt;
==App Android==&lt;br /&gt;
L’application Android est complémentaire de la partie Arduino. Il est possible à l’aide de cette application d’établir un suivi permanent du pilulier connecté. La communication entre l’application et le capteur s’effectue à travers le protocole Bluetooth Low Energy.&lt;br /&gt;
L’application se compose d’une seule interface qui peut exécuter plusieurs activités en arrière-plan.&lt;br /&gt;
L’interface se décompose en 4 parties, chacune ayant une fonction précise.&lt;br /&gt;
La première partie correspond à la communication Bluetooth. On y aperçu trois boutons qui se succèdent dont chacun correspond à une étape de la mise en communication avec le RFduino :&lt;br /&gt;
* Enable Bluetooth permet de mettre en marche le BLE du téléphone si celui-ci est éteint.&lt;br /&gt;
* Scan permet de détecter le RFduino.&lt;br /&gt;
* Connect met en connexion et récupère les informations de la balise BLE.&lt;br /&gt;
&lt;br /&gt;
La seconde partie a pour rôle d’enregistrer le numéro du médecin ou du responsable de l’utilisateur. L’enregistrement du numéro est nécessaire à l’envoi d’un SMS si le patient n’a pas pris son médicament dans un temps spécifié.&lt;br /&gt;
&lt;br /&gt;
Nous arrivons ensuite à la troisième partie qui renseigne le suivi hebdomadaire du patient. On retrouve les 4 zones de journées comme l’est indiqué sur les piluliers standards, à savoir le matin, le midi, le soir et la nuit ; ainsi que la date en temps réel.&lt;br /&gt;
Pour chaque période de la journée, on indique l’état du compartiment du pilulier correspondant à la période. Cet état est représenté par un point pouvant avoir 4 couleurs différentes selon le contexte :&lt;br /&gt;
* Si un point jaune apparait, le médicament à ingurgiter actuellement est dans le compartiment correspondant à ce moment de la journée.&lt;br /&gt;
* Si un point vert apparait, le médicament présent dans ce compartiment devra être ingurgité plus tard dans la journée.&lt;br /&gt;
* Si un point rouge apparait, le médicament dans ce compartiment a oublié d’être ingurgité plus tôt dans la journée.&lt;br /&gt;
* Si un point noir apparaît, il n’y a pas de médicament à prendre dans ce compartiment ou il a déjà été pris.&lt;br /&gt;
&lt;br /&gt;
Enfin dans la dernière partie, on retrouve un bouton Stop Alarm qui désactive l’alarme.&lt;br /&gt;
Celui-ci se déclenche lorsqu’on passe à une nouvelle période de la journée. Plus précisément, lorsqu’on passe du matin au midi.&lt;br /&gt;
Si l’utilisateur n’a pas désactiver lui-même l’alarme, celui-ci s’arrête automatiquement au bout d’une période spécifié et entraîne l’envoi d’un SMS.&lt;br /&gt;
&lt;br /&gt;
A savoir que l’interface intègre un conteneur ScrollView qui permet le défilement du contenu et donc l’accès à l’ensemble de différentes parties de l’application.&lt;br /&gt;
Explication du firmware de l’application Android&lt;br /&gt;
Le développement de l’application Android a été long mais instructif. En effet, nous n’avons jamais développé d’application Android et codé en Java auparavant. Nous nous sommes basé alors sur les nombreux tutoriels accessibles en ligne pour réaliser cette application et acquérir quelques bases en Java et développement Android.&lt;br /&gt;
L’application a été développée en Java sous le logiciel Android Studio. Son développement s’est déroulé en plusieurs étapes :&lt;br /&gt;
1. Mise en place de la communication Bluetooth Low Energy entre le smartphone et le RFduino (module BLE du socle).&lt;br /&gt;
2. Développement de l’interface de suivi hebdomadaire&lt;br /&gt;
3. Programmation de l’alarme et de l’envoi du SMS d’alerte&lt;br /&gt;
&lt;br /&gt;
=== Communication Bluetooth Low Energy ===&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place de la communication entre le smartphone et le pilulier, nous nous sommes basé sur le code opensource disponible sur le site officiel GitHub.&lt;br /&gt;
Le Bluetooth Low Energy est un protocole de communication rapide qui demande peu d’énergie pour son fonctionnement. C’est le système de communication recommandé et primordiale pour les objets connectés du fait de la nécessité d’avoir des composants à faible consommation énergétique.&lt;br /&gt;
La communication est construite selon un profil définit la manière dont les périphériques transmettent leurs données aux appareils (Generic Attribute Profile) en utilisant des concepts appelés Services et Characteristics.&lt;br /&gt;
16&lt;br /&gt;
Les Services peuvent contenir une collection de Characteristics. Les Characteristics sont des flags de propriété ou les valeurs de capteurs. Chaque Service et Characteristic a son identifiant (UUID) propre.&lt;br /&gt;
Le profil GATT propose seulement des connections exclusives ; c’est-à-dire que les périphériques BLE ne peuvent être connecté qu’à un seul smartphone à la fois.&lt;br /&gt;
&lt;br /&gt;
Ici, nous nous retrouvons avec :&lt;br /&gt;
* Generic Attribute Profile Client pour l’application.&lt;br /&gt;
* Generic Attribute Profile Server pour le pilulier connecté (RFduino) avec un service propre et plusieurs caractéristiques (communication I2C, UART...).&lt;br /&gt;
&lt;br /&gt;
=== Suivi Hebdomadaire ===&lt;br /&gt;
&lt;br /&gt;
L’application Android reçoit les données à travers l’objet BroadcastReceiver qui par sa fonction onReceive va recevoir les events que reçoit l’application dans son Activity principal. Lorsqu’un event spécifique, par exemple dans notre cas lorsque une donnée est disponible par Bluetooth, le code correspondant du BroadcastReceiver s’exécute dès que possible.&lt;br /&gt;
Pour obtenir un suivi hebdomadaire en temps réel, nous avons utilisé la fonction runOnUiThread qui exécute l'action spécifiée sur le Thread d'interface utilisateur de manière immédiate étant donné que dans notre situation le Thread courant correspond au Thread d'interface utilisateur.&lt;br /&gt;
L’appel de cette fonction, une fois les données du RFduino reçu et récupéré dans le BroadcastReceiver, permet d’identifier les quatre périodes de la journée (matin, midi, soir et nuit) et d’adapter automatiquement de manière visuel (jaune, vert, rouge, noir) selon les données reçus (respectivement : 1, 2, 3, 4).&lt;br /&gt;
&lt;br /&gt;
=== Alarme et envoi du SMS d'alerte ===&lt;br /&gt;
&lt;br /&gt;
L’alarme est déclenchée suite à la réception, via la communication Bluetooth, de la commande « alarme ».&lt;br /&gt;
Afin de mettre en place l’alarme, nous avons exploité les services d’alarme du système Android, AlarmManager class, qui permet de planifier une activité à être exécuté à un moment donné dans l'avenir. Pour cela, nous avons planifié deux alarmes :&lt;br /&gt;
1. Une première alarme qui se répète toutes les 3 secondes.&lt;br /&gt;
2. Une deuxième alarme qui permet d’arrêter la première alarme au bout d’une heure.&lt;br /&gt;
17&lt;br /&gt;
Pour que l’alarme soit toujours exécutée en background de l’application et même à sa fermeture, nous avons utilisé le système d’évènement, BroadcastReceiver object, combiné à la création d’un nouveau Thread ou Tâche dans le service sur lequel dirige le BroadcastReceiver. Ce Thread utilise les fonctionnalités de MediaPlayer, qui permet le contrôle de la lecture de flux audio.&lt;br /&gt;
De plus, au bout de l’activation de la seconde alarme, si la première alarme n’est pas déjà désactivée, on envoie un SMS d’alerte au numéro enregistré au préalable, à partir du service SmsManager d’Android. Ce service permet de faire appel à l’application intégrée à Android « Message », et d’envoyer un SMS.&lt;br /&gt;
Enfin, si l’utilisateur appui sur le bouton Stop Alarm, la fonction appelé va d’abord arrêter la future planification de la prochaine sonnerie de l’alarme, puis annuler l’appel de l’event BroadcastReceiver.&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27751</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27751"/>
				<updated>2016-02-23T21:50:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27750</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27750"/>
				<updated>2016-02-23T21:49:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img9.JPG|200px|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27749</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27749"/>
				<updated>2016-02-23T21:49:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
[[Fichier:img9.JPG|200px|left|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27748</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27748"/>
				<updated>2016-02-23T21:49:07Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:img8.JPG|200px|thumb|Circuit de Test du faisceau IR]]&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
[[Fichier:img9.JPG|200px|thumb|Faisceau sans obstacle - LED éteinte]]&lt;br /&gt;
[[Fichier:img10.JPG|200px|thumb|Faisceau avec obstacle - LED allumée]]&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Img10.JPG&amp;diff=27747</id>
		<title>Fichier:Img10.JPG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Img10.JPG&amp;diff=27747"/>
				<updated>2016-02-23T21:48:49Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Img9.JPG&amp;diff=27746</id>
		<title>Fichier:Img9.JPG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Img9.JPG&amp;diff=27746"/>
				<updated>2016-02-23T21:48:30Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Img8.JPG&amp;diff=27745</id>
		<title>Fichier:Img8.JPG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Img8.JPG&amp;diff=27745"/>
				<updated>2016-02-23T21:47:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27744</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27744"/>
				<updated>2016-02-23T21:45:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Le support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
Img 8 Circuit de Test du faisceau IR&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
Img 9 &amp;amp; 10&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27743</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27743"/>
				<updated>2016-02-23T21:45:14Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Semaine 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Le support==&lt;br /&gt;
&lt;br /&gt;
Le support, lui, est composé de l’Arduino micro, du RTC, du RFduino ainsi que le système de détection Infrarouge.&lt;br /&gt;
Selon le schematic suivant, on crée un faisceau Infrarouge à l’aide d’un diode IR et d’une photorésistance de même longueur d’onde pour éviter les interferances avec la lumière ambiante.&lt;br /&gt;
Lorsque la photorésistance capte l’Infrarouge de la diode, un micro courant circule et permet de rendre le transistor NPN passant. Le potentiel au noeud « S » est donc 0. Au contraire, s’il y a présence d’un obstacle empêchant la photorésistance de capter le rayon Infrarouge, le transistor de peut être activé et est donc bloquant. Le potentiel au noeud « S » est 5V (‘1’ logique).&lt;br /&gt;
On peut ainsi détecter la présence d’objet entre les deux composants, dans le cas présent, un quelconque médicament.&lt;br /&gt;
Nous avons réalisé le test avec le circuit suivant :&lt;br /&gt;
&lt;br /&gt;
Img 8 Circuit de Test du faisceau IR&lt;br /&gt;
&lt;br /&gt;
On programme l’Arduino micro pour allumer la LED en présence d’un obstacle avec le code suivant :&lt;br /&gt;
&lt;br /&gt;
'&lt;br /&gt;
&lt;br /&gt;
    const int IRDetectorPin = 2; &lt;br /&gt;
    const int ledPin = 13;&lt;br /&gt;
    &lt;br /&gt;
    void setup() {&lt;br /&gt;
        pinMode(ledPin, OUTPUT);&lt;br /&gt;
        pinMode(IRDetectorPin, INPUT);&lt;br /&gt;
    }&lt;br /&gt;
    void loop(){&lt;br /&gt;
        digitalWrite(ledPin, digitalRead(IRDetectorPin));&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
'&lt;br /&gt;
&lt;br /&gt;
Voici deux photos qui confirment le fonctionnement de cette méthode :&lt;br /&gt;
Img 9 &amp;amp; 10&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
[[Fichier:Code_Android_PillBox.zip]]&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2015/2016&amp;diff=27665</id>
		<title>Projets IMA5 2015/2016</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA5_2015/2016&amp;diff=27665"/>
				<updated>2016-02-23T11:45:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en allant modifier le format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
Toutes les sources doivent être déposées sur notre archive GIT. Le service est disponible à l'URL [https://archives.plil.fr archives.plil.fr]. Connectez-vous avec vos identifiants Polytech'Lille. Sauf indication contraire de vos encadrants, rendez le projet public et mettez le lien sur votre Wiki. Vous pouvez trouver de la documentation sur ce système d'archives sur ce [https://git-scm.com/book/fr/v1 site].&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Projet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Elèves&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Encadrant Ecole&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapport décembre&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rapports finaux&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vidéo&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P1 Convertisseur DC/DC pour réseau MTDC]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Mehmet Ilter &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Philippe DELARUE &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P2 Data Logger]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Hidéo VINOT&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015 12;00&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier: Dossier_soutenance_P2_Data_Logger_Hideo_VINOT_IMA5SC_2015.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; mercredi 24 février à 10h avec L. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P4 Jukebox multi-pièces]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Jouy / Julien hérin &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rodolphe Astori / Xavier Redon / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Pre_soutenance_PFE_Jouy_herin.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV pris le 23/02 avec L. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P9 Système d'hébergement domestique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Romain Libaert / Timothée Teneur &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Xavier Redon / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 10:21, [[Fichier:P9_LIBAERT_TENEUR_DEC15.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:PFE_Final_TENEUR_LIBAERT.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 22/02 par M. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P10 LILLIAD: Connected Learning Center | P10 LILLIAD: learning center connecté]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Mageshwaran Sekar &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015,07:48, [[Fichier:P10_FYP_December_Report_M_SEKAR.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:FYP-P10-Lilliad-MSEKAR.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P11 Spectateur augmenté]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Teresa Tumbragel &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Teresa Tumbragel-Rapport Spectateur Augmente.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; NA &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P12 Capteurs enfouis pour vieillissement du béton]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; JULITA Alex &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P14 Localisation dans le corps humain]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Matthieu Marcadet &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 10:52, [[Fichier:Rapport_intermediaire_PFE_Marcadet.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_PFE_P14_Matthieu_Marcadet.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P18 Meuble intelligent]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Kevin Colautti / Benjamin Lefort &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rémy Bernard / Alexandre Boé / Xavier Redon / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 14:44, [[Fichier:P18_pre_soutenance.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_P18_COLAUTTI_LEFORT.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 22/02 par M. Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Automatic Soldering System Project|P20 Placeur de composants sur PCB]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jean Wasilewski &amp;amp; Pierre Letousey &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Xavier Redon / Thomas Vantroys / Alexandre Boé &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:P20_ASSP.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:IMA5-ASSP-JWPL.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rendez-vous pris avec M. Engels le vendredi 25 Février à 10h &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P24 Nuage pour sites Web]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jeremie Denechaud / Thibaut Scholaert &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Xavier Redon / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 12:02, [[Fichier:P24_Denechaud_Scholaert.pdf| Rapport intermédiaire de projet]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Fait Maison&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P25 Architecture ROS pour des véhicules autonomes intelligents]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jean-Michel Tournier / Cyril Smagghe &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Vincent Coelen et Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015,09:04, [[Fichier:P25-2015_Smagghe_Tournier_decembre.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_final_P25_Smagghe_Tournier.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;RDV mercredi 24 15h &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P26 Robot de forgeage et d’usinage]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Bertrand Yvernault / Louis Thebault &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 17:51&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Tournée le 22/02 par M. Engels &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P27 Robot de fraiseuse]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Flavien Royer / Maxime Morisse &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 19:06, [[Fichier:Rapport_Royer_Morisse.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Fichier:RapportPFE_ROYER_MORISSE.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; mardi 23 février à 11h15 avec Laurent Engels&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P30 Thermostat connecté et intelligent]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; TISSOT Elise / TIRABY Céline &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Guillaume Renault / Alexandre Boé / Xavier Redon &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;15/12/2015, 00:35, [[Fichier:Rapport_PFE_TISSOT_TIRABY.pdf‎ ]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_final_PFE_TISSOT_TIRABY.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 19/02 par L. Engels &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P32 Récupération d'énergie pour balise BLE]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Quentin Sultana &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Frédéric Giraud / Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 13/12/2015, 19:31, [[Fichier:CR Miprojet_Sultana.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport_P32_Sultana.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 24/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P33 Réalisations en faveur de l'accessibilité de jeux vidéos]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Jérôme Bailet / Mehdi Zeggaï &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; GAPAS / Laurent Grisoni / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 10:54, [[Fichier:PFE_IMA5_Rapport_intermediaire_Bailet_Zeggai.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 25/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P35 Robot de test pour le sport de Golf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Deborah Saunders &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Rochdi Merzouki &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 12:07&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P34 Optimisation de trajectoire pour un robot de curiethérapie]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Sandra HAGE CHEHADE / Thomas DANEL &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Vincent COELEN / Rochdi MERZOUKI &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 15/12/2015, 12:02&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P40 Maquette mécatronique durcie d'ascenseur 5 étages]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Louis CHAUCHARD / Romain IMBERT &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Blaise CONRARD &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 19:21&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:IMA5_P40_Chauchard_Imbert_RapportFinal.pdf‎]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 23/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[P13 Plateforme expérimentation IOT]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; ROCHE François &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; 14/12/2015, 19:37, [[Fichier:PFE_P13_Plateforme_expérimentation_IOT.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:PFE_P13-Plateforme_expérimentation.pdf]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Tournée le 22/02 par M. Engels &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Implantation d'un filtre FIR-FX-LMS sur FPGA pour l'annulation de Bruit Acoustique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Bown Alexander / Piat Valentin &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; NA &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[Pilulier automatique]]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Manouk Simon / Corentin Duplouy &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; Alexandre Boé / Thomas Vantroys &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; NA &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; [[Fichier:Rapport Duplouy Simon.pdf]] &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt; RDV L. Engels le 23/02 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Rapport_Duplouy_Simon.pdf&amp;diff=27663</id>
		<title>Fichier:Rapport Duplouy Simon.pdf</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Rapport_Duplouy_Simon.pdf&amp;diff=27663"/>
				<updated>2016-02-23T11:44:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27076</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27076"/>
				<updated>2016-02-12T07:44:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27075</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27075"/>
				<updated>2016-02-12T07:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
[[Fichier:Chronogramme_UART.jpeg|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Chronogramme_UART.jpeg&amp;diff=27074</id>
		<title>Fichier:Chronogramme UART.jpeg</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Chronogramme_UART.jpeg&amp;diff=27074"/>
				<updated>2016-02-12T07:42:32Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27073</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27073"/>
				<updated>2016-02-12T07:39:30Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
[[Fichier:UART.gif|200px|thumb|Test de l'envoie d'une commande par UART]]&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:UART.gif&amp;diff=27072</id>
		<title>Fichier:UART.gif</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:UART.gif&amp;diff=27072"/>
				<updated>2016-02-12T07:38:26Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27071</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27071"/>
				<updated>2016-02-12T07:23:11Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Config_ATTiny13.JPG|200px|thumb|Branchement pour programmer l'ATTiny13]]&lt;br /&gt;
&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Config_ATTiny13.JPG&amp;diff=27070</id>
		<title>Fichier:Config ATTiny13.JPG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Config_ATTiny13.JPG&amp;diff=27070"/>
				<updated>2016-02-12T07:20:59Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27069</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27069"/>
				<updated>2016-02-12T07:17:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
&lt;br /&gt;
On utilise un AVRISP pour l'ATTiny13 comme on peut le voir sur l'image.&lt;br /&gt;
Voici le code pour le programmer:&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On réalise le branchement puis pour tester, on programme l'arduino micro comme ceci :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   int state10;&lt;br /&gt;
   int laststate10=0;&lt;br /&gt;
   void setup(){&lt;br /&gt;
      pinMode(11, OUTPUT);&lt;br /&gt;
      pinMode(12, OUTPUT);&lt;br /&gt;
      pinMode(13, INPUT);&lt;br /&gt;
      digitalWrite(11, HIGH);&lt;br /&gt;
      digitalWrite(12, HIGH);}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   void loop(){&lt;br /&gt;
      state10 = digitalRead(13);&lt;br /&gt;
      if ((state10 != laststate10)){&lt;br /&gt;
        if ((state10 == 0)){&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,LOW);&lt;br /&gt;
        Serial.print(digitalRead(11));&lt;br /&gt;
        delayMicroseconds(2000);&lt;br /&gt;
&lt;br /&gt;
        digitalWrite(11,HIGH);&lt;br /&gt;
        Serial.println(digitalRead(11));}}&lt;br /&gt;
      laststate10 = state10;}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
On attend un front descendant sur le pin 13, qu'on réalisera en débranchant le câble déjà branché sur celle-ci.&lt;br /&gt;
Les 4 premiers bits 0101 sont pour la vérification d'un envoie. Sur les 4 suivants, nous avons 0010 ce qui veut dire que le PB1 sera en état haut et que nous allumerons la LED3. Le dernier bit est pour remettre par défaut en état haut.&lt;br /&gt;
&lt;br /&gt;
Voici un GIF du résultat des tests.&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27068</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27068"/>
				<updated>2016-02-12T07:06:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
&lt;br /&gt;
Voici le code pour programmer l'ATTiny13 :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   #define F_CPU 10000000&lt;br /&gt;
   #include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
   int main (void){&lt;br /&gt;
      DDRB |= 0x0F;&lt;br /&gt;
      int i, code=0;&lt;br /&gt;
      while(1){&lt;br /&gt;
         while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
            _delay_us(1000);&lt;br /&gt;
            for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
               code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
               _delay_us(2000);&lt;br /&gt;
            }&lt;br /&gt;
            if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
               PORTB |= (code - 0x50);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
               code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27067</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27067"/>
				<updated>2016-02-12T07:03:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Boîtes journalières */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
&lt;br /&gt;
Voici le code pour programmer l'ATTiny13 :&lt;br /&gt;
''&lt;br /&gt;
define F_CPU 10000000&lt;br /&gt;
include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
int main (void)&lt;br /&gt;
{/* set pin 3,2,1,0 of PORTB for output*/&lt;br /&gt;
   DDRB |= 0x0F;&lt;br /&gt;
   int i, code=0;&lt;br /&gt;
   while(1){&lt;br /&gt;
      while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
         _delay_us(1000);&lt;br /&gt;
         for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
            code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
            _delay_us(2000);&lt;br /&gt;
         }&lt;br /&gt;
         if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
            PORTB |= (code - 0x50);&lt;br /&gt;
         }&lt;br /&gt;
         else {&lt;br /&gt;
            code = 0;}}}&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27066</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=27066"/>
				<updated>2016-02-12T06:57:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Semaine 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Boîtes journalières==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après configuration de l'ATTiny13 via Arduino, les tests ont avérés que cette méthode était limitée. En effet, il y a 4 LEDs et 4 combinaisons, ce qui rend compliqué de laisser un cas &amp;quot;auncune LED allumée&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une autre solution a été adoptée :&lt;br /&gt;
* La pin Vcc pour l'alimentation en 5v&lt;br /&gt;
* La pin GND pour la masse&lt;br /&gt;
* La pin PB0 pour la LED 4&lt;br /&gt;
* La pin PB1 pour la LED 3&lt;br /&gt;
* La pin PB2 pour la LED 2&lt;br /&gt;
* La pin PB3 pour la LED 1&lt;br /&gt;
* La pin PB4 pour une liaison UART&lt;br /&gt;
&lt;br /&gt;
Principe de L'UART :&lt;br /&gt;
Le signal envoyé sur la pin PB4 est à l'état par défaut. Dès qu'on détecte un front descendant, on récupère à chaque tic d'horloge la valeur haute ou basse du signal entrant en pin PB4. Nous avons décidé de faire une vérification sur les 4 premiers bits envoyés et de donner la LED à allumer sur les 4 derniers bits. On peut voir un chronogramme ci-contre.&lt;br /&gt;
&lt;br /&gt;
Voici le code pour programmer l'ATTiny13 :&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
define F_CPU 10000000&lt;br /&gt;
include &amp;lt;avr/io.h&amp;gt;&lt;br /&gt;
include &amp;lt;util/delay.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	/* set pin 3,2,1,0 of PORTB for output*/&lt;br /&gt;
	DDRB |= 0x0F;&lt;br /&gt;
	&lt;br /&gt;
	int i, code=0;&lt;br /&gt;
	&lt;br /&gt;
	while(1){&lt;br /&gt;
		while((PINB &amp;amp; 0x10) == 0x10){}&lt;br /&gt;
	&lt;br /&gt;
		_delay_us(1000);&lt;br /&gt;
	&lt;br /&gt;
		for(i=128 ; i&amp;gt;=1 ; i=i/2){&lt;br /&gt;
			code = (((PINB &amp;amp; 0x10)/16) * i) + code;&lt;br /&gt;
			//if((PINB &amp;amp; 0x10) == 0x10){PORTB |= 0x08;}&lt;br /&gt;
			_delay_us(2000);&lt;br /&gt;
		}&lt;br /&gt;
		if((code &amp;amp; 0xF0) == 0x50){&lt;br /&gt;
			PORTB |= (code - 0x50);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			code = 0;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
} &lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26701</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26701"/>
				<updated>2016-02-08T17:08:47Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
''( 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16])''&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26700</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26700"/>
				<updated>2016-02-08T17:05:44Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 2 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26699</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26699"/>
				<updated>2016-02-08T16:57:23Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 1 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26698</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26698"/>
				<updated>2016-02-08T16:56:42Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 10, 20 ou 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle, donc 10 pour une journée - possibilité de faire le proto sur 1, 2 ou 7 journée) pour assurer la tenue du boîtier et détecter sa présence [http://fr.rs-online.com/web/p/aimants/7924559/ 1, 2 ou 7 sachets de 10 aimants ]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano] '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 04/02/2016]'''&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi '''[fourni le 05/02/2016]'''&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
* 1 décodeur 3 entrées / 8 sorties pour allumer les LEDs [http://fr.farnell.com/texas-instruments/cd74hc237m96/decodeur-demux-3-8-soic-16/dp/2499842?MER=i-9b10-00002068 1 décodeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 7 résistances de 525 ohm&lt;br /&gt;
* 1 microcontrôleur ATTiny pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode [http://fr.farnell.com/atmel/attiny84-20ssu/mcu-8bit-attiny-20mhz-soic-14/dp/1636955 Lien]&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26320</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26320"/>
				<updated>2016-02-03T22:17:19Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence [70 aimants]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015)&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) &lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
* 1 démultiplexeur 8 sorties pour allumer les LEDs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 28 résistances de 1kohm&lt;br /&gt;
* 7 microcontrôleur pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode&lt;br /&gt;
* 7 démultiplexeurs 3E/8S [http://fr.farnell.com/texas-instruments/sn74hc4851d/multiplexeur-demultiplexeur-cms/dp/9591532 7 démultiplexeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26319</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26319"/>
				<updated>2016-02-03T22:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 capteurs [http://fr.farnell.com/kingbright/kp-1608f3c/led-ir-0603-940nm/dp/2449775 IR émetteur] &lt;br /&gt;
* 28 [http://fr.farnell.com/kingbright/kp-1608p1c/phototransistor-0603-940nm/dp/2290430 Phototransistor] pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence [70 aimants]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015)&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) &lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
* 1 démultiplexeur 8 sorties pour allumer les LEDs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 28 résistances de 1kohm&lt;br /&gt;
* 7 microcontrôleur pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode&lt;br /&gt;
* 7 démultiplexeurs 3E/8S [http://fr.farnell.com/texas-instruments/sn74hc4851d/multiplexeur-demultiplexeur-cms/dp/9591532 7 démultiplexeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26318</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26318"/>
				<updated>2016-02-03T22:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence [70 aimants]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015)&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) &lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
* 1 démultiplexeur 8 sorties pour allumer les LEDs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 28 résistances de 1kohm&lt;br /&gt;
* 7 microcontrôleur pour enregistrer le compartiment à allumer (fourni par l'arduino) et allumer la diode&lt;br /&gt;
* 7 démultiplexeurs 3E/8S [http://fr.farnell.com/texas-instruments/sn74hc4851d/multiplexeur-demultiplexeur-cms/dp/9591532 7 démultiplexeur 3E/8S]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26218</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26218"/>
				<updated>2016-02-03T16:20:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 70 aimants conducteur d'électricité (5 par boîtier en face de 5 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence [http://fr.farnell.com/eclipse-magnetics/e764neo/aimant-pot-peu-profond-16x4-5/dp/2342733 70 aimants]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015)&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) &lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 28 résistances de 1kohm&lt;br /&gt;
* 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26213</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26213"/>
				<updated>2016-02-03T16:17:48Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Semaine 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 28 aimants conducteur d'électricité (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence [http://fr.farnell.com/eclipse-magnetics/e764neo/aimant-pot-peu-profond-16x4-5/dp/2342733 28 aimants]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015)&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) &lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 28 résistances de 1kohm&lt;br /&gt;
* 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Inputs&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vc+&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Vp&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Pilulier repos/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Heure médicaments&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0/1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Après quelques seconde de charge/Détection boîte&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;X&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;GND&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les inputs p0 et p1, elles dépendront du moment de la prise des médicaments :&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Moment&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;p1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Matin&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Midi&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Soir&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Coucher&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26204</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26204"/>
				<updated>2016-02-03T16:10:32Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Semaine 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 28 aimants conducteur d'électricité (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence [http://fr.farnell.com/eclipse-magnetics/e764neo/aimant-pot-peu-profond-16x4-5/dp/2342733 28 aimants]&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie [http://www.gotronic.fr/art-buzzer-sv2319c-21015.htm Buzzer]&lt;br /&gt;
* 1 arduino nano pour assurer le contrôle [http://www.mouser.fr/ProductDetail/Seeed-Studio/102010019/ arduino nano]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth contenant le composant nRF8001 (déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015)&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel contenant le composant DS1307 (MOD-RTC déjà disponible du projet Surveillance passive de sommeil de IMA4 2014/2015) &lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 rouleau de papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chaque boite contenant les 4 compartiments de la journée est composée :&lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 super-condensateur pour allumer les diodes de chaque compartiment sur le boitier [http://fr.farnell.com/kemet/fc0h104zftbr24/super-condensateur-0-1f-5-5v-cms/dp/2362048 7 super-condensateur]&lt;br /&gt;
* 28 résistances de 1kohm&lt;br /&gt;
* 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
[[Fichier:drawer_electronic.jpeg|200px|thumb|Schematic de l'électronique d'une boîte]]&lt;br /&gt;
&lt;br /&gt;
Chaque boîte sera équipée d'un petit micro-processeur, de 4 LED, 1 résistance, une grosse capacité, 5 aimants.&lt;br /&gt;
Par les 5 aimants vont transiter : &lt;br /&gt;
* Le Vc+ correspondant à la tension pour charger la capacité et permettre à l'éclairage de fonctionner pour quelques minutes.&lt;br /&gt;
* Le Vp correspondant à la tension envoyée pour détecter la présence de la boîte&lt;br /&gt;
* La masse GND&lt;br /&gt;
* Les entrées p0 et p1 pour connaître la LED à allumer.&lt;br /&gt;
&lt;br /&gt;
Nous aurons donc les cas suivants :&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Drawer_electronic.jpeg&amp;diff=26195</id>
		<title>Fichier:Drawer electronic.jpeg</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Drawer_electronic.jpeg&amp;diff=26195"/>
				<updated>2016-02-03T16:03:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : a téléversé une nouvelle version de « Fichier:Drawer electronic.jpeg »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematic de l'électronique d'une boîte pour détecter la présence et allumer une LED lorsqu'elle est retirée.&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Drawer_electronic.jpeg&amp;diff=26187</id>
		<title>Fichier:Drawer electronic.jpeg</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Drawer_electronic.jpeg&amp;diff=26187"/>
				<updated>2016-02-03T15:53:38Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : Schematic de l'électronique d'une boîte pour détecter la présence et allumer une LED lorsqu'elle est retirée.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematic de l'électronique d'une boîte pour détecter la présence et allumer une LED lorsqu'elle est retirée.&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26135</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26135"/>
				<updated>2016-02-03T14:47:21Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] déjà dispo depuis le Projet du Dé Electronique&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* 1 carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* 1 arduino uno pour assurer le contrôle [ arduino uno]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth [ shield BLE]&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* Papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26134</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26134"/>
				<updated>2016-02-03T14:46:49Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante [http://fr.farnell.com/avago-technologies/asmt-ytb2-0bb02/led-plcc6-rgb-745-1600-380mcd/dp/1863243 7 LED RGB CMS] ou [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 Déjà dispo depuis le Projet du Dé Electronique]&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* 1 carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes [http://fr.farnell.com/lumex/lcm-s01602dsf-a/display-dot-matrix-lcd-16-x-2/dp/2062132 1 Ecran LCD 2*16]&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* 1 arduino uno pour assurer le contrôle [ arduino uno]&lt;br /&gt;
* 1 shield BLE pour la connectivité bluetooth [ shield BLE]&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* Papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abandon&lt;br /&gt;
* 1 RFduino pour assurer le contrôle et la connectivité bluetooth [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22102/ RFduino]&lt;br /&gt;
* 1 USB shield pour programmer le RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22121/ USB shield]&lt;br /&gt;
* 1 batterie shield pour alimenter RFduino [http://eu.mouser.com/ProductDetail/RF-Digital/RFD22126/ batterie shield]&lt;br /&gt;
* 2 pile AA&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26097</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26097"/>
				<updated>2016-02-03T13:57:36Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068 28 LED Verte CMS]&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670 28 émetteur récepteur IR CMS]&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* 1 carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes (à voir)&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* 1 BLEduino pour assurer le contrôle et la connectivité bluetooth&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard (Corentin)&lt;br /&gt;
* 1 pile 9V&lt;br /&gt;
* 1 connecteur jack mâle pour pile 9V&lt;br /&gt;
* Papier réfléchissant&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26090</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26090"/>
				<updated>2016-02-03T13:46:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Matériels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est d'adapter un pilulier hebdomadaire pour le rendre connecté pour faciliter le suivi et la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Afin de proposer une solution alternative à ses piluliers connectés déjà existant, le patient pourra utiliser son pilulier hebdomadaire standard auquel il intégra une base qu'il rendra connecté celui ci.&lt;br /&gt;
Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
Ce support permettra au pilulier de remplir les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise (alarme différente selon le moment de la journée : matin, midi, soir, nuit)&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
== Matériels ==&lt;br /&gt;
&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* 1 interfaçage de 28 LED pour indiquer le bon compartiment [http://fr.farnell.com/avago-technologies/hsmg-c280/led-vert-15mcd-572nm-0402/dp/2494322?MER=i-9b10-00002068]&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante&lt;br /&gt;
* 28 capteurs IR émetteur récepteur pour la détection de l’intérieur des compartiments  [http://fr.farnell.com/vishay/tfdu4101-tr3/emetteur-recepteur-irda/dp/1497670]&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* 1 carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* 1 écran LCD pour afficher les messages comme la date et l'heure ou des alertes (à voir)&lt;br /&gt;
* 1 HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* 1 BLEduino pour assurer le contrôle et la connectivité bleutooth&lt;br /&gt;
* 1 RTC pour avoir le temps et la date réel&lt;br /&gt;
* 1 smartphone sous android pour développer l'application de suivi&lt;br /&gt;
* 1 pilulier standard&lt;br /&gt;
* 1 pile 9V&lt;br /&gt;
* 1 connecteur jack mâle pour pile 9V&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Détection pour chaque boitier journalier si il a été enlever du support et détection si la bonne pilule a été récupéré par le patient&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 4==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26006</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26006"/>
				<updated>2016-02-03T03:04:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Objectif du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L’objectif de ce projet est de créer un pilulier connecté qui permettra de faciliter la prise de médicaments quotidiens à différents moment de la journée.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
Il serait intéressant de proposer une alternative à ces piluliers. Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles.&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* D’un interfaçage de 28 LED pour indiquer le bon compartiment&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante&lt;br /&gt;
* 28 capteurs émetteur récepteur pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* Une carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* D’un écran LCD pour afficher les messages (à voir)&lt;br /&gt;
* D’un HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* D’un REduino pour assurer le contrôle et le BLE&lt;br /&gt;
* Une batterie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il remplira les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Élaboration de la maquette du pilulier et Codage de la page internet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26005</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26005"/>
				<updated>2016-02-03T03:04:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Description du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de créer un pilulier connecté qui permet à la fois de faciliter la prise de médicament pour les personnes ayant une déficience visuelle mais aussi de faire un suivi aux traitements en particulier pour les personnes âgées.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut bien prendre en compte la donnée suivante : il doit être transportable. Cela sous-entend d’avoir un modèle suffisamment compact ainsi qu’une autonomie sur batterie.&lt;br /&gt;
Nous devons donc trouver une entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
* Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
* Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
* Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
Il serait intéressant de proposer une alternative à ces piluliers. Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles.&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* D’un interfaçage de 28 LED pour indiquer le bon compartiment&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante&lt;br /&gt;
* 28 capteurs émetteur récepteur pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* Une carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* D’un écran LCD pour afficher les messages (à voir)&lt;br /&gt;
* D’un HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* D’un REduino pour assurer le contrôle et le BLE&lt;br /&gt;
* Une batterie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il remplira les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Élaboration de la maquette du pilulier et Codage de la page internet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26004</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26004"/>
				<updated>2016-02-03T03:03:36Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Fonctionnalités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de créer un pilulier connecté qui permet à la fois de faciliter la prise de médicament pour les personnes ayant une déficience visuelle mais aussi de faire un suivi aux traitements en particulier pour les personnes âgées.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut prendre en compte 2 caractéristiques : l'un étant qu'il doit être assez petit pour qu'il puisse être déplacé lors des voyages et/ou trajets de son utilisateur, l'autre est quel que soit le lieux de l'utilisateur le pilulier doit permettre au médecin particulier de suivre le traitement du malade.&lt;br /&gt;
&lt;br /&gt;
Nous devons donc trouver une solution en ce qui concerne la mobilité de ce pilulier. Un équilibre doit être trouvé entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
_ Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
&lt;br /&gt;
_ Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
_ Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il serait intéressant de proposer une alternative à ces piluliers. Notre pilulier connecté remplira les fonctions suivantes :&lt;br /&gt;
&lt;br /&gt;
_ Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise&lt;br /&gt;
&lt;br /&gt;
_ Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
&lt;br /&gt;
_ Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
&lt;br /&gt;
_ Indication par une LED rouge si présence d'une journée &lt;br /&gt;
&lt;br /&gt;
_&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
Il serait intéressant de proposer une alternative à ces piluliers. Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles.&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
* D’un interfaçage de 28 LED pour indiquer le bon compartiment&lt;br /&gt;
* 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante&lt;br /&gt;
* 28 capteurs émetteur récepteur pour la détection de l’intérieur des compartiments&lt;br /&gt;
* 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
* Une carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
* D’un écran LCD pour afficher les messages (à voir)&lt;br /&gt;
* D’un HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
* D’un REduino pour assurer le contrôle et le BLE&lt;br /&gt;
* Une batterie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il remplira les fonctions suivantes :&lt;br /&gt;
* Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise&lt;br /&gt;
* Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
* Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
* Détection de la présence des tiroirs&lt;br /&gt;
* Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
* Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Élaboration de la maquette du pilulier et Codage de la page internet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26003</id>
		<title>Pilulier automatique</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Pilulier_automatique&amp;diff=26003"/>
				<updated>2016-02-03T03:02:43Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Cahiers de charges */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation générale du projet=&lt;br /&gt;
&lt;br /&gt;
==Contexte du projet==&lt;br /&gt;
&lt;br /&gt;
D'après des statistiques établis en 2014, un meilleur suivi des traitements médicaux et des médicaments dans le monde permettrait de réaliser 8% d'économies sur le coût total des dépenses de santé.&lt;br /&gt;
&lt;br /&gt;
De plus, on estime en Europe que la mauvaise  prise de médicaments est à l’origine de plusieurs dizaines de milliers de décès chaque année.&lt;br /&gt;
&lt;br /&gt;
Selon le rapport IGAS2, en France, un mauvais suivi des heures de prises et de dosage de médicament aurait causé entre 8 000 à 12 000 décès par an et coûté près de 2 milliards € à l’Assurance Maladie.&lt;br /&gt;
&lt;br /&gt;
13 millions de patients résidents en France seraient polymédiqués, et parmi eux de nombreuses personnes âgées de plus de 60 ans. &lt;br /&gt;
&lt;br /&gt;
La santé connectée est donc devenue un marché porteur. &lt;br /&gt;
&lt;br /&gt;
C'est ainsi que de nombreuses solutions se développent chaque jour qui a pour but de venir en aide aux personnes âgées dans les horaires de leurs prises de médicaments et éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet==&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce projet est de créer un pilulier connecté qui permet à la fois de faciliter la prise de médicament pour les personnes ayant une déficience visuelle mais aussi de faire un suivi aux traitements en particulier pour les personnes âgées.&lt;br /&gt;
&lt;br /&gt;
==Description du projet==&lt;br /&gt;
&lt;br /&gt;
Afin de mettre en place ce pilulier connecté, il faut prendre en compte 2 caractéristiques : l'un étant qu'il doit être assez petit pour qu'il puisse être déplacé lors des voyages et/ou trajets de son utilisateur, l'autre est quel que soit le lieux de l'utilisateur le pilulier doit permettre au médecin particulier de suivre le traitement du malade.&lt;br /&gt;
&lt;br /&gt;
Nous devons donc trouver une solution en ce qui concerne la mobilité de ce pilulier. Un équilibre doit être trouvé entre son autonomie et sa connectivité et sa taille/forme.&lt;br /&gt;
&lt;br /&gt;
Actuellement, il existe sur le marché différentes propositions de pilulier connecté. Chacun avec leurs caractéristiques propres :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
_ Imedipac de Medissimo : envoie un SMS et/ou un email à l’utilisateur pour lui rappeler de prendre tel médicament à telle heure.&lt;br /&gt;
&lt;br /&gt;
_ Do-Pill de SecuR : rend accessible les comprimés et gélules à la date et à l'heure indiqué par le médecin pour éviter les surdosages ou les erreurs de traitement.&lt;br /&gt;
&lt;br /&gt;
_ Sivan de MedSecure : prévient l'entourage si erreur du patient dans la prise de ses comprimées et alerte le patient si il doit prendre un comprimé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il serait intéressant de proposer une alternative à ces piluliers. Notre pilulier connecté remplira les fonctions suivantes :&lt;br /&gt;
&lt;br /&gt;
_ Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise&lt;br /&gt;
&lt;br /&gt;
_ Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
&lt;br /&gt;
_ Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
&lt;br /&gt;
_ Indication par une LED rouge si présence d'une journée &lt;br /&gt;
&lt;br /&gt;
_&lt;br /&gt;
&lt;br /&gt;
=Cahiers de charges=&lt;br /&gt;
== Fonctionnalités ==&lt;br /&gt;
Il serait intéressant de proposer une alternative à ces piluliers. Notre pilulier connecté sera composé d’un socle contenant toute l’électronique et la batterie et de 7 boîtiers à cachets amovibles.&lt;br /&gt;
Le socle sera composé : &lt;br /&gt;
- D’un interfaçage de 28 LED pour indiquer le bon compartiment&lt;br /&gt;
- 7 LED RGB pour indiquer par une couleur verte le bon boîtier et une rouge tout problème avec la boîte correspondante&lt;br /&gt;
- 28 capteurs émetteur récepteur pour la détection de l’intérieur des compartiments&lt;br /&gt;
- 28 aimants (2 par boîtier en face de 2 autres sur le socle) pour assurer la tenue du boîtier et détecter sa présence&lt;br /&gt;
- Une carte d’interfaçage des LED avec un décodeur 2 vers 4 et un autre 3 vers 8&lt;br /&gt;
- D’un écran LCD pour afficher les messages (à voir)&lt;br /&gt;
- D’un HP ou buzzer pour émettre une sonnerie&lt;br /&gt;
- D’un REduino pour assurer le contrôle et le BLE&lt;br /&gt;
- Une batterie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il remplira les fonctions suivantes :&lt;br /&gt;
- Emission d'une alarme lorsque l'usager doit prendre une pilule à une heure et date précise&lt;br /&gt;
- Détection si l'usager a pris la bonne journée (sinon émission d'un son)&lt;br /&gt;
- Détection si l'usager a pris la bonne pilule à la bonne heure (sinon émission d'un son)&lt;br /&gt;
- Détection de la présence des tiroirs&lt;br /&gt;
- Indication par une LED la boîte du jour à prendre et par une autre, le compartiment de cette journée.&lt;br /&gt;
- Suivi par application Androïd.&lt;br /&gt;
&lt;br /&gt;
==Planning Prévisionnel==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Semaines&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 25/01 au 31/01&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 1/02 au 7/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 8/02 au 14/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 15/02 au 21/02&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;du 22/02 au 25/02&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Étapes&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Etude bibliographique&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Élaboration de la maquette du pilulier et Codage de la page internet&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Programmation et interfaçage des différentes shields avec le microcontrôleur&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Test pour correction d'erreur et amélioration&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Rédaction du rapport de projet et Préparation à la soutenance&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tableau de bord=&lt;br /&gt;
&lt;br /&gt;
==Semaine 1==&lt;br /&gt;
&lt;br /&gt;
=Fichiers Rendus=&lt;br /&gt;
==Rapport==&lt;br /&gt;
==Codes==&lt;br /&gt;
&lt;br /&gt;
=Références=&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=D%C3%A9_%C3%A9lectronique_communiquant&amp;diff=21025</id>
		<title>Dé électronique communiquant</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=D%C3%A9_%C3%A9lectronique_communiquant&amp;diff=21025"/>
				<updated>2015-05-11T01:21:00Z</updated>
		
		<summary type="html">&lt;p&gt;Cduplouy : /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cahier des charges =&lt;br /&gt;
== Présentation du projet ==&lt;br /&gt;
=== Contexte ===&lt;br /&gt;
Dans une époque où la technologie concerne le mode de vie de presque tout le monde, la plupart des gens ont tendance à se tourner vers les nouvelles technologies (smartphone, ordinateur) pour se divertir, et ainsi délaisser les anciens jeux de société. Afin de faire revivre ce genre de jeu, nous avons décidé de revisiter un pilier du jeu de société : le dé à jouer.&lt;br /&gt;
&lt;br /&gt;
=== Objectif du Projet ===&lt;br /&gt;
L'objectif de ce projet est de réaliser un dé à jouer programmable du même type que les [http://www.futurocube.com/ futurocubes].&lt;br /&gt;
&lt;br /&gt;
=== Idées de fonctionnalités === &lt;br /&gt;
Voici quelques idées d'applications qu'on pourrait mettre en place :&lt;br /&gt;
* Dé à jouer classique : chiffre aléatoire de 1 à 6&lt;br /&gt;
* Jeu du morpion (Tic Tac Toe)&lt;br /&gt;
* SNAKE fonctionnant avec l'accéléromètre&lt;br /&gt;
* Eclairage &amp;quot;d'ambiance&amp;quot; avec variation aléatoire des couleurs&lt;br /&gt;
* Modélisation d'un Rubik's Cube 3x3&lt;br /&gt;
* Jeu de mémoire couleur/son (comme le jeu Simon)&lt;br /&gt;
&lt;br /&gt;
=== Choix techniques : matériel - utilité ===&lt;br /&gt;
Nous allons nous baser sur :&lt;br /&gt;
* un microcontrôleur de type MBED (ARM Cortex M3) [&amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;fourni le 2/2/2015&amp;lt;/span&amp;gt;] : Cerveau du dé - Sons/bruitages&lt;br /&gt;
&lt;br /&gt;
La documentation est disponible [http://developer.mbed.org/platforms/mbed-LPC1768/#schematics-and-data-sheets ici].&lt;br /&gt;
Les programmes implémentés seront codés en C/C++.&lt;br /&gt;
&lt;br /&gt;
Ensuite, les composants suivants doivent être intégrés :&lt;br /&gt;
* LED RGB (54 LEDs) : Elles seront multiplexés à l'aide de transistors. [&amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;9 LED Rouges/Jaunes fournies le 4/2/2015&amp;lt;/span&amp;gt;] 54 x [http://fr.farnell.com/avago-technologies/asmb-mtb1-0a3a2/led-rgb-plcc4-surface-noire/dp/2401106 LED] [&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;100 LEDs RGB commandées chez Farnell le 18/2/2015&amp;lt;/span&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
* 18 transistors NPN [&amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;3 fournis le 4/2/2015&amp;lt;/span&amp;gt;] &lt;br /&gt;
&lt;br /&gt;
* 18 x [http://fr.farnell.com/on-semiconductor/bc548brl1g/transistor-npn-30v-100ma-to-92/dp/2317545 Transistor] [&amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;20 BC548BRL1G commandées chez Farnell fournies le 11/3/2015&amp;lt;/span&amp;gt;]&lt;br /&gt;
* 18 x [http://fr.farnell.com/diodes-inc/bc848b-7-f/transistor-npn-sot23/dp/1773620 Transistor CMS] [&amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;100 BC848B-7-F commandées chez Farnell le 18/2/2015&amp;lt;/span&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
* Résistances : à voir avec les encadrants et en fonction des tests (Savoir si on doit en placer une à l'anode ou une à chaque cathode)&lt;br /&gt;
* Accéléromètre : Orientation dans l'espace et réveil de l'appareil après la détection d'un mouvement. [&amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt; fourni le 11/2/2015&amp;lt;/span&amp;gt;]&lt;br /&gt;
* Alimentation : Rechargeable via usb.&lt;br /&gt;
* 6 faces &amp;quot;tactiles&amp;quot; via le centre de chaque face : Possible par résistances capacitives, touches tactiles (SparkFun Touch Shield), boutons poussoirs (Tests à réaliser pour déterminer la meilleure méthode).&lt;br /&gt;
&lt;br /&gt;
== Étapes du projet ==&lt;br /&gt;
=== Étape 1 ===&lt;br /&gt;
* Choix des jeux et fonctionnalités à intégrer au dé en tenant compte des contraintes matérielles&lt;br /&gt;
* Aperçu du matériel disponible et nécessaire, puis choix des composants&lt;br /&gt;
* Élaboration du schéma électronique à adopter&lt;br /&gt;
* Découverte de la plateforme MBED&lt;br /&gt;
&lt;br /&gt;
=== Étape 2 ===&lt;br /&gt;
Cette étape occupera la plus grande partie de la durée du projet.&lt;br /&gt;
* Réalisation du code des fonctionnalités à intégrer sur la plateforme MBED&lt;br /&gt;
* Réalisation des circuits électroniques nécessaires via Altium Designer&lt;br /&gt;
* Début du montage du cube&lt;br /&gt;
&lt;br /&gt;
=== Étape 3 ===&lt;br /&gt;
* Montage final du cube&lt;br /&gt;
* Réalisation de programmes optionnels s'il reste du temps (fonctionnalités compliquées à implémenter ou pensées plus tard dans le projet)&lt;br /&gt;
* Tests des fonctionnalités sur le matériel&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 (du 26/01/2015 au 01/02/2015) == &lt;br /&gt;
[[Fichier:Contrôle_DIODES.jpg|130px|thumb|Schéma multiplexage LED]]&lt;br /&gt;
Nous avons surtout porté nos recherches sur du matériel électronique spécifique, notamment pour l'aspect &amp;quot;tactile&amp;quot; de notre cube. En effet, il est possible d'utiliser les techniques suivantes :&lt;br /&gt;
* Résistance et capacité : On utilise une simple résistance et un métal conducteur. En touchant celui-ci avec notre doigt, on le transforme en capacité. On peut voir le principe [https://skyduino.wordpress.com/2012/06/02/arduino-faire-une-touche-tactile-avec-une-simple-resistance/ ici].&lt;br /&gt;
* Résistance capteur de pression : Prête à être utilisée mais assez chère. Il y a bien d'autres alternatives.&lt;br /&gt;
* [https://www.sparkfun.com/products/12013 Touch Shield] : A voir avec l'intégration des LED.&lt;br /&gt;
* Boutons réalisés sur le principe du [https://www.sparkfun.com/products/7835 Button Pad] à raison d'un par face : Dans le pire des cas ...&lt;br /&gt;
&lt;br /&gt;
Puis nous nous sommes intéressés à la connexion des LEDs. Elles seront au nombre de 54, soit 9 par face, et en plus, ce sera des LED RGB.&lt;br /&gt;
Nous avons trouvé pour cela une solution de multiplexage à l'aide de transistors NPN.&lt;br /&gt;
Voici un petit schéma du branchement possible sur une face avec 9 LEDs RGB : &lt;br /&gt;
Il sera possible de le porter à plus grande échelle par la suite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le principe de fonctionnement : On alimente une colonne de LED par l'anode commune. On détermine ensuite laquelle sera reliée à la masse et s'allumera donc. Pour cela on combine les bases et les collecteurs. Il faut activer la base (mettre à 1) correspondant à la colonne de la LED à allumer, et mettre à la masse (mettre à 0) la ligne du collecteur correspondant. Ainsi, une seule LED sera reliée à la masse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de tester les solutions du &amp;quot;tactile&amp;quot; et le branchement des LEDs.&lt;br /&gt;
&lt;br /&gt;
Nous avons également discuté avec nos encadrants sur le matériel et ses limites, c'est-à-dire le tactile, la connexion des LEDs, l’accéléromètre (disponible à Polytech), le MBED, les sons (réalisables avec le MBED) et le côté alimentation.&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 (du 02/02/2015 au 08/02/2015) ==&lt;br /&gt;
Lors de cette semaine, nous avons surtout porté nos recherches sur la méthode de multiplexage des LEDs. Faute d'avoir des LEDs RGB, nous avons testé le multiplexage selon le schéma précédent avec 3 LEDs simples, soit une LED RGB. Nous avons réalisé le test d'allumer 1 seule des LEDs (pour avoir une couleur) puis 2 (mélange de couleurs).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Test3LED1.JPG|130px|thumb|left|Test 1 multiplexage d'une LED RGB (avec 3 LEDs)]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Test3LED2.JPG|130px|thumb|centre|Test 2 multiplexage d'une LED RGB (avec 3 LEDs)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite réalisé le branchement afin d'obtenir une ligne de LEDs RGB selon le schéma précédant, soient 3 fois 3 LEDs simples. On peut voir ci-dessous le branchement et le résultat du test :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TestMUX1.JPG|130px|thumb|left|Branchement d'une ligne de 3 LEDs RGB (9 LEDs basiques)]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TestMUX2.PNG|130px|thumb|centre|Résultat du multiplexage d'une ligne de LEDs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de tester le multiplexage des LEDs sur une face, et d'aborder le côté &amp;quot;tactile&amp;quot; du projet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 (du 09/02/2015 au 15/02/2015) ==&lt;br /&gt;
&lt;br /&gt;
Suite aux résultats du multiplexage des LEDs, nous avons commencé la réalisation du codage de l'allumage de celles-ci selon le schéma complet suivant :&lt;br /&gt;
&lt;br /&gt;
Parallèlement, nous avons porté nos recherches sur l'accéléromètre ADXL335. Nous avons effectué quelques tests pour déterminer le fonctionnement exact. &lt;br /&gt;
Nous avons récupéré les valeurs de celui-ci sur les broches analogiques du MBED et à l'aide de la fonction read() qui renvoie logiquement une valeur entre 0.0 et 1.0. &lt;br /&gt;
Nous avons codé le petit programme de test suivant pour tester selon l'axe Y: &lt;br /&gt;
[[Fichier:54MUX.JPG|160px|thumb|left|Schéma complet du multiplexage]]&lt;br /&gt;
''&lt;br /&gt;
    DigitalOut myled1(LED1);&lt;br /&gt;
    DigitalOut myled2(LED2);&lt;br /&gt;
    DigitalOut myled3(LED3);&lt;br /&gt;
    DigitalOut myled4(LED4);&lt;br /&gt;
    DigitalOut verif (p5);&lt;br /&gt;
    DigitalOut verif2 (p30);&lt;br /&gt;
    AnalogIn x(p15);   // 0.4&amp;lt;X&amp;lt;0.6&lt;br /&gt;
    AnalogIn y(p16);   // 0.4&amp;lt;Y&amp;lt;0.6&lt;br /&gt;
    AnalogIn z(p17);   // 0.4&amp;lt;Z&amp;lt;0.6&lt;br /&gt;
    int main() {&lt;br /&gt;
        while(1) {&lt;br /&gt;
            wait(0.2);&lt;br /&gt;
            float m1 = x.read();&lt;br /&gt;
            float m2 = y.read();&lt;br /&gt;
            float m3 = z.read();&lt;br /&gt;
        &lt;br /&gt;
            if (m2&amp;gt;0.5) myled1=1; else myled1=0;&lt;br /&gt;
            if (m2&amp;gt;0.52) myled2=1; else myled2=0;&lt;br /&gt;
            if (m2&amp;gt;0.54) myled3=1; else myled3=0;&lt;br /&gt;
            if (m2&amp;gt;0.56) myled4=1; else myled4=0;&lt;br /&gt;
            if (m2&amp;gt;0.58) verif=1; else verif=0;&lt;br /&gt;
            if (m2&amp;gt;0.6) verif2=1; else verif2=0;}}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On peut voir le résultat ici :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Testaccel.avi]]&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 (du 16/02/2015 au 22/02/2015) ==&lt;br /&gt;
Durant cette semaine, nous avons observé le comportement de l'accéléromètre via l'utilitaire Minicom et la liaison série entre le microcontrôleur et le PC. Nous avons ainsi vérifié le fonctionnement de l'accéléromètre selon chaque axe, et ainsi confirmer les pistes observées la semaine dernière. Nous avons ainsi pu réfléchir à une solution tactile pour notre dé.&lt;br /&gt;
&lt;br /&gt;
Après nos recherches sur internet, nous avons pu voir que peu de solutions sont disponibles pour notre MBED.&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera ainsi d'approfondir nos recherches sur cette solution tactile.&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 (du 23/02/2015 au 01/03/2015) ==&lt;br /&gt;
Pendant cette semaine, nous avons poursuivi nos recherches sur la partie tactile de notre cube. Nous avons notamment réfléchi à 2 solutions :&lt;br /&gt;
* L'utilisation du [https://www.sparkfun.com/products/12013 SparkFun Touch Shield], que nous avons pu nous procurer. Néanmoins, ce pad est spécialement conçu pour être connecté sur Arduino Uno. Il n'est donc pas évident de l'adapter à notre MBED.&lt;br /&gt;
* La fabrication de touches tactiles &amp;quot;Do It Yourself&amp;quot; sur [https://skyduino.wordpress.com/2012/06/02/arduino-faire-une-touche-tactile-avec-une-simple-resistance/ ce modèle]. Néanmoins, le code de cette solution est fait pour fonctionner sous Arduino, il faudrait donc réfléchir à l'adapter à notre MBED.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi nous avons décidé d'emprunter une carte Arduino Uno, afin de tester ces deux solutions, et envisager de les porter sur notre MBED.&lt;br /&gt;
&lt;br /&gt;
Le code des touches tactiles &amp;quot;Do it Yourself&amp;quot; a parfaitement marché sur l'arduino.&lt;br /&gt;
Nous avons étudié la structure de plus près. A l'aide des fonctions disponibles sur MBED, nous avons plus ou moins suivi l'idée de ce code mais en le transcrivant pour le MBED.&lt;br /&gt;
Après plusieurs versions testées, rien ne fonctionnait vraiment sauf la suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
   include &amp;quot;mbed.h&amp;quot;&lt;br /&gt;
   DigitalOut led(LED1);&lt;br /&gt;
   DigitalOut boom (p6);&lt;br /&gt;
   DigitalInOut button (p21);&lt;br /&gt;
   Serial pc(USBTX, USBRX);&lt;br /&gt;
   //Seuil de détection &lt;br /&gt;
   const uint16_t THRESHOLD = 50;&lt;br /&gt;
   uint8_t cycles;&lt;br /&gt;
   void touch_measure(){&lt;br /&gt;
     // Décharge la capacité en contact avec la broche &lt;br /&gt;
     button.write(0);         // Place la broche à LOW&lt;br /&gt;
     button.output();         // Place la broche en sortie&lt;br /&gt;
     wait(1); // Attend pour être sur que la capacité est déchargé&lt;br /&gt;
     // Place la broche en entrée, sans résistance de pull-up ! &lt;br /&gt;
     // (La résistance de &amp;gt;1M ohms externe servira de résistance de pull-up) &lt;br /&gt;
     button.mode(PullNone);&lt;br /&gt;
     // Mesure le nombre de cycles CPU requis avant que la broche ne commute &lt;br /&gt;
     for(cycles = 0; cycles &amp;lt; 256; ++cycles)&lt;br /&gt;
     {&lt;br /&gt;
       if (button.read()) break; // Si la broche a commuter on quitte la boucle&lt;br /&gt;
     }&lt;br /&gt;
     // Re-décharge la capacité en contact avec la broche&lt;br /&gt;
     // afin d'éviter tout parasitages d'une autre mesure sur une autre broche.&lt;br /&gt;
     // Dans le cas contraire il serait impossible de manipuler plus d'une touche &amp;quot;tactile&amp;quot; &lt;br /&gt;
     button.write(0);&lt;br /&gt;
     button.output();&lt;br /&gt;
     // Retourne le résultat &lt;br /&gt;
     //return cycles;}&lt;br /&gt;
   int main() {&lt;br /&gt;
       // Test si la &amp;quot;touche&amp;quot; a été appuyé ou non &lt;br /&gt;
       while (1) {&lt;br /&gt;
           if(cycles &amp;gt; THRESHOLD)&lt;br /&gt;
           led = 1;&lt;br /&gt;
       else&lt;br /&gt;
           led = 0;&lt;br /&gt;
       wait(0.5);&lt;br /&gt;
      //pc.printf(&amp;quot;%d  &amp;quot;,cycles);&lt;br /&gt;
       touch_measure(); }  }&lt;br /&gt;
   ''&lt;br /&gt;
&lt;br /&gt;
En branchant directement le fil &amp;quot;à toucher&amp;quot; sur la masse, la led s'allumait (ce qui devait se passer quand on touche le fil). Cependant, cela ne marchait pas à tous les coups. Voici une vidéo qui montre ce qui se passe :&lt;br /&gt;
[[Fichier:Test_tactile.avi‎]]&lt;br /&gt;
&lt;br /&gt;
Nous avons donc demandé à M. Vantroys par rapport au code à utiliser et pourquoi cela ne marchait pas en transcrivant simplement le code sur MBED. &lt;br /&gt;
En fait, les fonctions utilisées dans le code du tutoriel étaient du langage très bas niveau pour l'Arduino. En effet, cela permet de toucher directement les ports du microprocesseur et donc d'avoir un temps d’exécution très court. Or, en utilisant les fonctions &amp;quot;de base&amp;quot; du MBED et ne sachant pas le code de celle-ci, on peut déduire que le temps d’exécution n'était pas aussi rapide et empêchait donc le bon fonctionnement de comptage des cycles et évaluation du temps de charge/décharge de la capacité.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la prochaine séance sera de se décider sur la solution tactile de notre cube, ou sur une alternative à adopter en cherchant le code bas niveau du MBED.&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 (du 09/03/2015 au 15/03/2015) ==&lt;br /&gt;
Lors de cette sixième semaine, nous avons continué à travailler sur la solution tactile à adopter, et nous avons spécialement étudié la manipulation des ports du microprocesseur du MBED, afin de pouvoir étudier l'utilisation de touches tactiles &amp;quot;Do It Yourself&amp;quot;. Après de nombreuses recherches et quelques essais infructueux, nous nous sommes rendus compte que cette solution aurait été trop compliqué et encombrante à coder. Nous étions prêts à nous orienter vers une solution alternative. Nous avons aussi rendu la carte Arduino Uno qui nous avait été fournie.&lt;br /&gt;
&lt;br /&gt;
Aussi, notre commande de transistors BC548 est arrivée cette semaine, nous avons pu nous les procurer, en vue de l'élaboration de nos PCB.&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de trouver la solution alternative à adopter pour l'interaction entre l'utilisateur et le dé.&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 (du 16/03/2015 au 22/03/2015) ==&lt;br /&gt;
Pendant cette semaine, une solution concernant l'interaction Utilisateur-Dé nous est arrivée : nous avons pu nous procurer un [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/overview Adafruit MPR121 Breakout Board à 12 touches], et un autre à 8 touches. Pour sa simplicité de branchement, nous avons décidé d'utiliser celui à 12 touches. Il nous permettra de créer 6 touches tactiles, une pour chaque face. Nous connecterons cette board via les ports I²C du microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
De plus, M. Boé nous a suggéré d'utiliser un accéléromètre permettant d'influer sur la consommation énergétique du microprocesseur. Il nous a ainsi fourni l'accéléromètre ADXL345, pouvant communiquer avec le microprocesseur via deux protocoles : SPI ou I²C. Nous avons tout d'abord décidé d'utiliser le protocole I²C, mais le programme-test ne fonctionnait pas comme on le voulait. L'impression des valeurs de l'accéléromètre devait se faire via une liaison série vers le PC, mais rien ne se passait à l'écran.&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de terminer la configuration de l'accéléromètre, et de configurer la board tactile.&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 (du 23/03/2015 au 29/03/2015) ==&lt;br /&gt;
Nous avons continué la configuration de l'accéléromètre, en utilisant des bibliothèques obtenues sur le site de développement MBED. N'ayant pas réussi à résoudre le problème de la communication I²C, nous avons décidé d'utiliser les ports SPI pour obtenir les valeurs, avec une bibliothèque paramétrant l'utilisation des ports SPI pour l'accéléromètre. Le code suivant nous a permis d'afficher les valeurs reçues sur les ports SPI via la liaison série :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
    #include &amp;quot;ADXL345.h&amp;quot;&lt;br /&gt;
    ADXL345 accelerometer(p5, p6, p7, p8);&lt;br /&gt;
    Serial pc(USBTX, USBRX);&lt;br /&gt;
    int main() {&lt;br /&gt;
        int readings[3] = {0, 0, 0};&lt;br /&gt;
        pc.printf(&amp;quot;Starting ADXL345 test...\n&amp;quot;);&lt;br /&gt;
        pc.printf(&amp;quot;Device ID is: 0x%02x\n&amp;quot;, accelerometer.getDevId());&lt;br /&gt;
        //Go into standby mode to configure the device.&lt;br /&gt;
        accelerometer.setPowerControl(0x00);&lt;br /&gt;
        //Full resolution, +/-16g, 4mg/LSB.&lt;br /&gt;
        accelerometer.setDataFormatControl(0x0B);&lt;br /&gt;
        //3.2kHz data rate.&lt;br /&gt;
        accelerometer.setDataRate(ADXL345_3200HZ);&lt;br /&gt;
        //Measurement mode.&lt;br /&gt;
        accelerometer.setPowerControl(0x08);&lt;br /&gt;
        while (1) {&lt;br /&gt;
            wait(0.1);&lt;br /&gt;
            accelerometer.getOutput(readings);&lt;br /&gt;
            //13-bit, sign extended values.&lt;br /&gt;
            pc.printf(&amp;quot;%i, %i, %i\n&amp;quot;, (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Nous avons aussi configuré la board tactile. Elle communique avec le microcontrôleur par les ports I²C. Avec une bibliothèque obtenue sur le site de développement MBED, nous avons réalisé un programme-test qui permet d'allumer les LEDs du microcontrôleur en fonction des touches actives ou non. Voici l'algorithme général de ce programme, exécuté en boucle :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
 //led1, led2, led3 et led4 initialement à 0&lt;br /&gt;
 Si (touche1 == 1) alors led4=1;&lt;br /&gt;
 Si (touche2 == 1) alors led3=1;&lt;br /&gt;
 Si (touche3 == 1) alors {led3=1; led4=1;}&lt;br /&gt;
 Si (touche4 == 1) alors led2=1;&lt;br /&gt;
 Si (touche5 == 1) alors {led2=1; led4=1;}&lt;br /&gt;
 Si (touche6 == 1) alors {led2=1; led3=1;}&lt;br /&gt;
 Si (touche7 == 1) alors {led2=1; led3=1; led4=1;}&lt;br /&gt;
 Si (touche8 == 1) alors led1=1;&lt;br /&gt;
 Si (touche9 == 1) alors {led1=1; led4=1;}&lt;br /&gt;
 Si (touche10 == 1) alors {led1=1; led3=1;}&lt;br /&gt;
 Si (touche11 == 1) alors {led1=1; led3=1; led4=1;}&lt;br /&gt;
 Si (touche12 == 1) alors {led1=1; led2=1;}&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de commencer l'élaboration des cartes PCB, et de paramétrer l'utilisation d'un élément piézoélectrique pour l'émission de sons.&lt;br /&gt;
&lt;br /&gt;
== Semaine 9 (du 30/03/2015 au 05/04/2015) ==&lt;br /&gt;
Lors de cette semaine, nous avons commencé à créer une carte PCB avec le logiciel Altium Designer. Nous avons tout d'abord créé la carte permettant le multiplexage des LEDs. Nous avons placé sur cette carte 18 transistors BC548, 18 résistances, ainsi qu'un décodeur 3 vers 8 74LS138, permettant d'avoir une sortie à l'état bas et les 7 autres à l'état haut, selon [http://ecee.colorado.edu/~mcclurel/sn74ls138rev5.pdf cette datasheet]. Les pistes se feront des 2 côtés de la carte. A l'issue de cette semaine, nous avons pu envoyer notre modèle au service électronique pour élaboration. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schematic drive LED.png|130px|thumb|Schématic multiplexage LED]]&lt;br /&gt;
[[Fichier:Face 1 drive LED.png|130px|thumb|multiplexage LED Face 1]]&lt;br /&gt;
[[Fichier:Face 2 drive LED.png|130px|thumb|multiplexage LED Face 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parallèlement, nous avons travaillé sur l'émission d'une gamme de sons par une pièce piézoélectrique. Sur le site de développement MBED, nous avons pu trouver une bibliothèque permettant l'élaboration d'une note et de sa durée, et par extension l'élaboration d'une mélodie.&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
    #include &amp;quot;mbed.h&amp;quot;&lt;br /&gt;
    #include &amp;lt;Sound.h&amp;gt;&lt;br /&gt;
    Sound sound(p21, p10);&lt;br /&gt;
    const Sound::sound_t WESTMINSTER[] =     {&lt;br /&gt;
        //   hanon siji 0:b(flat)   1:tujo  2:#(sharp)&lt;br /&gt;
        //   |  C1 - B9 kan deno onkai(Gx ha 9x ni okikae te siji)  0xFF=end data&lt;br /&gt;
        //   |  |   time (1/1[ms]/count)   &lt;br /&gt;
        //   |  |   |    envelope(yoin) (1/1 [ms]/count)&lt;br /&gt;
        //   |  |   |    |&lt;br /&gt;
            {1,0xC5,300,500},&lt;br /&gt;
            {1,0xD5,300,500},&lt;br /&gt;
            {1,0xE5,300,500},&lt;br /&gt;
            {1,0xF5,300,500},&lt;br /&gt;
            {1,0x85,300,500},&lt;br /&gt;
            {1,0x95,300,500},&lt;br /&gt;
            {1,0xA5,300,500},&lt;br /&gt;
            {1,0xB5,300,500},&lt;br /&gt;
            {1,0x75,300,500},&lt;br /&gt;
            {1,0x65,300,500},&lt;br /&gt;
            {1,0x55,300,500},&lt;br /&gt;
            {1,0xFF,1000,0},    // end&lt;br /&gt;
    };&lt;br /&gt;
    int main() {&lt;br /&gt;
         //---------------------&lt;br /&gt;
         // enso data no settei&lt;br /&gt;
         //---------------------&lt;br /&gt;
         // sound.sound_enso(&amp;quot;/local/enso.txt&amp;quot;);     // mbed local file data &amp;quot;enso.txt&amp;quot; load (sita ni data no rei wo oite oku)&lt;br /&gt;
        sound.sound_enso((Sound::sound_t*)WESTMINSTER);  &lt;br /&gt;
        //---------------------------------------------------&lt;br /&gt;
        // output tone&lt;br /&gt;
        //---------------------------------------------------&lt;br /&gt;
        // tone1 &lt;br /&gt;
        Sound::sound_t oto = {1,0x95,200,100};&lt;br /&gt;
        sound.sound_sound(oto);&lt;br /&gt;
        while(sound.sound_sound() == true){}       &lt;br /&gt;
        // tone2&lt;br /&gt;
        oto.hanon = 1; oto.onkai = 0xA5; oto.time = 2000; oto.envelope = 1000;&lt;br /&gt;
        sound.sound_sound(oto);&lt;br /&gt;
        while(sound.sound_sound() == true){}&lt;br /&gt;
        //---------------&lt;br /&gt;
        // output melody&lt;br /&gt;
        //--------------&lt;br /&gt;
        sound.sound_enso(true);&lt;br /&gt;
        while(1) {&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Nous travaillerons ultérieurement sur la sélection de notes à adopter.&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de continuer l'élaboration des cartes électroniques, ainsi de commencer le développement des programmes finaux.&lt;br /&gt;
&lt;br /&gt;
== Semaine 10 (du 06/04/2015 au 12/04/2015) ==&lt;br /&gt;
Lors de cette semaine, nous avons continué l'élaboration des circuits électroniques. Nous avons commencé à concevoir les faces, soit les cartes contenant 9 LEDs RGB. Nous avons eu des LEDs CMS, nous avons donc dû créer ces composants sur Altium Designer.&lt;br /&gt;
&lt;br /&gt;
Parallèlement nous avons commencé à travailler sur les programmes finaux. Nous avons développé un programme permettant d'allumer une LED une par une, selon la couleur voulue, et selon le schéma suivant :&lt;br /&gt;
&lt;br /&gt;
/* Image à venir */&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
    #include &amp;quot;mbed.h&amp;quot;&lt;br /&gt;
    #include &amp;quot;Random.h&amp;quot;&lt;br /&gt;
    BusOut myled(LED4,LED3,LED2,LED1);&lt;br /&gt;
    DigitalOut anode[9]={p12,p13,p14,p15,p16,p17,p18,p19,p20};&lt;br /&gt;
    BusOut base_couleur(p30,p29,p28);&lt;br /&gt;
    BusOut collecteur(p24,p23,p22);&lt;br /&gt;
    void allume_LED(int led, int face, char couleur){&lt;br /&gt;
        for (int i=0;i&amp;lt;9;i++) anode[i]=0;&lt;br /&gt;
        // sélection anode (&amp;quot;face&amp;quot;)&lt;br /&gt;
        if ((led == 1)||(led == 4)||(led == 7)){&lt;br /&gt;
            if ((face == 1) || (face == 2)) anode[0]=1;&lt;br /&gt;
            else if ((face == 3) || (face == 4)) anode[3] = 1;&lt;br /&gt;
            else if ((face == 5) || (face == 6)) anode[6] = 1;&lt;br /&gt;
        }&lt;br /&gt;
        else if ((led == 2)||(led == 5)||(led == 8)){&lt;br /&gt;
            if ((face == 1) || (face == 2)) anode[1] = 1;&lt;br /&gt;
            else if ((face == 3) || (face == 4)) anode[4] = 1;&lt;br /&gt;
            else if ((face == 5) || (face == 6)) anode[7] = 1;&lt;br /&gt;
        }&lt;br /&gt;
        else if ((led == 3)||(led == 6)||(led == 9)){&lt;br /&gt;
            if ((face == 1) || (face == 2)) anode[2] = 1;&lt;br /&gt;
            else if ((face == 3) || (face == 4)) anode[5] = 1;&lt;br /&gt;
            else if ((face == 5) || (face == 6)) anode[8] = 1;&lt;br /&gt;
        }&lt;br /&gt;
        // sélection collecteur (&amp;quot;ligne&amp;quot; de LEDs)&lt;br /&gt;
        if ((face == 1)||(face == 3)||(face == 5)){&lt;br /&gt;
            if ((led &amp;gt; 0) &amp;amp;&amp;amp; (led &amp;lt; 4)) collecteur.write(0);&lt;br /&gt;
            else if ((led &amp;gt; 3) &amp;amp;&amp;amp; (led &amp;lt; 7)) collecteur.write(1);&lt;br /&gt;
            else if ((led &amp;gt; 6) &amp;amp;&amp;amp; (led &amp;lt; 10)) collecteur.write(2);&lt;br /&gt;
        }&lt;br /&gt;
        else if ((face == 2)||(face == 4)||(face == 6)){&lt;br /&gt;
            if ((led &amp;gt; 0) &amp;amp;&amp;amp; (led &amp;lt; 4)) collecteur.write(3);&lt;br /&gt;
            else if ((led &amp;gt; 3) &amp;amp;&amp;amp; (led &amp;lt; 7)) collecteur.write(4);&lt;br /&gt;
            else if ((led &amp;gt; 6) &amp;amp;&amp;amp; (led &amp;lt; 10)) collecteur.write(5);&lt;br /&gt;
        }&lt;br /&gt;
        //sélection couleur (base)&lt;br /&gt;
        if (couleur == 'r') base_couleur.write(4);&lt;br /&gt;
        else if (couleur == 'g') base_couleur.write(2);&lt;br /&gt;
        else if (couleur == 'b') base_couleur.write(1);&lt;br /&gt;
    }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
A partir de ce programme, nous avons conçu une fonction affichant sur une face un chiffre selon le principe d'un dé. Chaque LED sera allumée une par une, mais avec la fréquence de travail très élevée du microprocesseur (environ 100 MHz), notre œil aura l'impression qu'elles sont allumées en même temps. La fonction prend comme paramètre le chiffre affiché, ainsi que le temps d'affichage en secondes :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
    void affiche_de(int chiffre, float time){&lt;br /&gt;
    Timer t;&lt;br /&gt;
    t.start();&lt;br /&gt;
    while (t.read() &amp;lt;= time){&lt;br /&gt;
        if (chiffre == 1) allume_LED(5,1,'r');&lt;br /&gt;
        else if (chiffre == 2) {&lt;br /&gt;
            allume_LED(1,1,'r');&lt;br /&gt;
            allume_LED(9,1,'r');&lt;br /&gt;
        }&lt;br /&gt;
        else if (chiffre == 3) {&lt;br /&gt;
            allume_LED(1,1,'b');&lt;br /&gt;
            allume_LED(5,1,'b');&lt;br /&gt;
            allume_LED(9,1,'b');&lt;br /&gt;
        }&lt;br /&gt;
        else if (chiffre == 4) {&lt;br /&gt;
            allume_LED(1,1,'b');&lt;br /&gt;
            allume_LED(3,1,'b');&lt;br /&gt;
            allume_LED(7,1,'b');&lt;br /&gt;
            allume_LED(9,1,'b');&lt;br /&gt;
        }&lt;br /&gt;
        else if (chiffre == 5) {&lt;br /&gt;
            allume_LED(1,1,'g');&lt;br /&gt;
            allume_LED(3,1,'g');&lt;br /&gt;
            allume_LED(5,1,'g');&lt;br /&gt;
            allume_LED(7,1,'g');&lt;br /&gt;
            allume_LED(9,1,'g');&lt;br /&gt;
        }&lt;br /&gt;
        else if (chiffre == 6) {&lt;br /&gt;
            allume_LED(1,1,'g');&lt;br /&gt;
            allume_LED(3,1,'g');&lt;br /&gt;
            allume_LED(4,1,'g');&lt;br /&gt;
            allume_LED(6,1,'g');&lt;br /&gt;
            allume_LED(7,1,'g');&lt;br /&gt;
            allume_LED(9,1,'g');&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    t.stop();&lt;br /&gt;
 }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Nous avons aussi paramétré un générateur d'entiers aléatoires compris entre 1 et 6. A partir d'une bibliothèque obtenue sur le site de développement MBED, nous utilisons une classe &amp;quot;Random&amp;quot; permettant de générer ce chiffre. Ici, un exemple d'affichage d'un chiffre aléatoire :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
 int main() {&lt;br /&gt;
        Random r;&lt;br /&gt;
        int i;&lt;br /&gt;
        r.init();&lt;br /&gt;
        //génération d'un entier aléatoire entre 1 et 6&lt;br /&gt;
        uint8_t chiffre = r.getByte();&lt;br /&gt;
        chiffre = (chiffre % 6)+1;&lt;br /&gt;
        //petite simulation&lt;br /&gt;
        for(i=1;i&amp;lt;10;i++) {&lt;br /&gt;
            if (i&amp;lt;4) allume_LED(i,1,'r');&lt;br /&gt;
            else if ((i&amp;gt;3) &amp;amp;&amp;amp; (i&amp;lt;7)) allume_LED(i,1,'b');&lt;br /&gt;
            else if (i&amp;gt;6) allume_LED(i,1,'g');&lt;br /&gt;
            wait_ms(200);&lt;br /&gt;
        }&lt;br /&gt;
        //affichage du chiffre aléatoire&lt;br /&gt;
        if ((chiffre &amp;gt; 0) &amp;amp;&amp;amp; (chiffre &amp;lt; 7)) affiche_de(chiffre,15);&lt;br /&gt;
 }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Enfin, nous avons pu récupérer la carte électronique de multiplexage élaborée précédemment. Sur cette carte, les pistes ont été dessinées des deux côtés. Nous avons aussi obtenu un boitier de piles fonctionnant via USB que nous utiliserons comme batterie, ainsi qu'une breadboard de petite taille permettant de fixer le microcontrôleur, l'accéléromètre et la board tactile dessus.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MUXcotecompo_recto.jpg|200px|thumb|left|Carte électronique du multiplexage des LEDs, côté composants (recto)]]&lt;br /&gt;
[[Fichier:MUX_verso.jpg|200px|thumb|centre|Carte électronique du multiplexage des LEDs (verso)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la semaine prochaine sera de continuer, voire de terminer l'élaboration des circuits électroniques des faces, de travailler sur la carte de multiplexage, ainsi que de continuer le développement des programmes finaux.&lt;br /&gt;
&lt;br /&gt;
== Semaine 11 (du 13/04/2015 au 19/04/2015) ==&lt;br /&gt;
[[Fichier:Carte Multiplexe soudee.JPG|130px|thumb|multiplexage soudee]]&lt;br /&gt;
[[Fichier:Face LED.png|130px|thumb|Schematic d'une face de LED]]&lt;br /&gt;
[[Fichier:Face LED 1.png|130px|thumb|PCB face LED 1]]&lt;br /&gt;
[[Fichier:Face LED 2.png|130px|thumb|PCB face LED 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lors de cette semaine, nous avons pu avoir une discussion avec M. Boé, afin de faire le point sur notre projet. Il nous a ainsi suggéré de revoir la taille de notre cube, afin de diminuer la taille des faces. La carte de multiplexage réalisée étant trop grande, nous avons décidé d'envisager une nouvelle carte de multiplexage plus petite, pour ainsi obtenir des faces de dimension 6x6 cm environ. Nous avons aussi décidé de créer un PCB spécialement pour des piles de type CR2032, et qu'un autre pour le MBED, l'accéléromètre et la board tactile, et ainsi abandonner l'idée de la breadboard. Nous avons ainsi revu l'élaboration de la face comportant nos LEDs RGB CMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons tout de même commencé à souder la carte de multiplexage des LEDs pour pouvoir tester les faces du cube :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Côté informatique, nous avons avancé dans notre code en créant une fonction réalisant une petite animation des LEDs, pour l'instant sur une seule face :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
 //une animation &amp;quot;d'ambiance&amp;quot;, pour l'instant sur une seule face&lt;br /&gt;
 void animations(float duree_anim){&lt;br /&gt;
    char couleurs[7] = {'w','j','r','p','b','g','t'};&lt;br /&gt;
    int coul_suiv,led_suiv,j;&lt;br /&gt;
    Timer t;&lt;br /&gt;
    //toutes les LEDs de la même couleur&lt;br /&gt;
    for(j=0;j&amp;lt;7;j++){&lt;br /&gt;
        t.start();&lt;br /&gt;
        while (t.read() &amp;lt;= (duree_anim/7)){&lt;br /&gt;
            for(int i=1;i&amp;lt;10;i++) allume_LED(i,1,couleurs[j]);&lt;br /&gt;
        }&lt;br /&gt;
        t.stop();&lt;br /&gt;
        t.reset();&lt;br /&gt;
        //changement de couleur progressif, une LED à la fois&lt;br /&gt;
        if (j==6) coul_suiv=0;&lt;br /&gt;
        else coul_suiv=j+1;&lt;br /&gt;
        led_suiv=1;&lt;br /&gt;
        t.start();&lt;br /&gt;
        while (led_suiv &amp;lt; 10){&lt;br /&gt;
            while (t.read() &amp;lt;= (1.5/9)){&lt;br /&gt;
                for(int k=1;k&amp;lt;=led_suiv;k++) allume_LED(k,1,couleurs[coul_suiv]);&lt;br /&gt;
                for(int i=led_suiv+1;i&amp;lt;10;i++) allume_LED(i,1,couleurs[j]);&lt;br /&gt;
            }&lt;br /&gt;
            led_suiv++;&lt;br /&gt;
        }&lt;br /&gt;
        t.stop();&lt;br /&gt;
        t.reset();&lt;br /&gt;
    }&lt;br /&gt;
    anim=true;&lt;br /&gt;
 }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
L'objectif pour la prochaine séance sera de créer une fonction de morpion, ainsi que de tester la carte de multiplexage sur une face.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D'autre part, nous avons réalisé le PCB d'une face de LED dont voici le schematic et le PCB: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cependant, nous avons dû réaliser le schematic et les empreintes des LEDs dans une nouvelle librairie puisque le composant n'était pas encore réalisé dans les librairies d'Altium. Nous avons pour cela suivi le tutoriel de M. Boé :&lt;br /&gt;
[[Fichier:Empreinte LED.png|130px|Composant créé sur Altium]]&lt;br /&gt;
&lt;br /&gt;
== Semaine 12 (du 20/04/2015 au 26/04/2015) ==&lt;br /&gt;
Durant cette semaine, nous avons continué notre code en commençant la programmation d'une fonction &amp;quot;morpion&amp;quot;. Cette fonction est assez longue à concevoir, et sera complétée d'une autre fonction vérifiant la victoire au morpion. Voici la fonction &amp;quot;morpion&amp;quot; (la fonction &amp;quot;win&amp;quot; sera élaborée plus tard) :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
 void morpion(){&lt;br /&gt;
    led_eteinte();&lt;br /&gt;
    int grille[9]={0,0,0,0,0,0,0,0,0};&lt;br /&gt;
    int tour=0;&lt;br /&gt;
    char coul;&lt;br /&gt;
    bool ligne1=false, ligne2=false, ligne3=false, c1=false, c2=false, c3=false, d1=false, d2=false, gagne=false;&lt;br /&gt;
    //déroulement de la partie&lt;br /&gt;
    while ((!gagne)||(tour&amp;lt;9)){&lt;br /&gt;
        tour++;&lt;br /&gt;
        //&amp;quot;sélection&amp;quot; joueur : rouge pour joueur 1, vert pour joueur 2&lt;br /&gt;
        if ((tour%2)==1) coul='r';&lt;br /&gt;
        else coul='g';&lt;br /&gt;
        //sélection case via touches&lt;br /&gt;
        //milieu&lt;br /&gt;
        if (touche2==1) {&lt;br /&gt;
            if (grille[4]==0){&lt;br /&gt;
                allume_LED(5,2,coul);&lt;br /&gt;
                grille[4]=abs((tour%2)-2); //1 pour joueur 2, 2 pour joueur 1&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else if (touche1==1) {&lt;br /&gt;
            wait(1);&lt;br /&gt;
            //haut gauche&lt;br /&gt;
            if (touche5==1) { &lt;br /&gt;
                if (grille[0]==0){&lt;br /&gt;
                    allume_LED(1,2,coul);&lt;br /&gt;
                    grille[0]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //bas gauche&lt;br /&gt;
            else if (touche6==1){ &lt;br /&gt;
                if (grille[6]==0){&lt;br /&gt;
                    allume_LED(7,2,coul);&lt;br /&gt;
                    grille[6]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //gauche&lt;br /&gt;
            else {&lt;br /&gt;
                if (grille[3]==0){&lt;br /&gt;
                    allume_LED(4,2,coul);&lt;br /&gt;
                    grille[3]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else if (touche5==1) {&lt;br /&gt;
            wait(1);&lt;br /&gt;
            //haut gauche&lt;br /&gt;
            if (touche1==1) { &lt;br /&gt;
                if (grille[0]==0){&lt;br /&gt;
                    allume_LED(1,2,coul);&lt;br /&gt;
                    grille[0]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //haut droite&lt;br /&gt;
            else if (touche3==1){ &lt;br /&gt;
                if (grille[2]==0){&lt;br /&gt;
                    allume_LED(3,2,coul);&lt;br /&gt;
                    grille[2]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //haut&lt;br /&gt;
            else {&lt;br /&gt;
                if (grille[1]==0){&lt;br /&gt;
                    allume_LED(2,2,coul);&lt;br /&gt;
                    grille[1]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else if (touche3==1) {&lt;br /&gt;
            wait(1);&lt;br /&gt;
            //bas droite&lt;br /&gt;
            if (touche6==1) { &lt;br /&gt;
                if (grille[8]==0){&lt;br /&gt;
                    allume_LED(9,2,coul);&lt;br /&gt;
                    grille[8]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //haut droite&lt;br /&gt;
            else if (touche5==1) {&lt;br /&gt;
                if (grille[2]==0){&lt;br /&gt;
                    allume_LED(3,2,coul);&lt;br /&gt;
                    grille[2]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //droite&lt;br /&gt;
            else {&lt;br /&gt;
                if (grille[5]==0){&lt;br /&gt;
                    allume_LED(6,2,coul);&lt;br /&gt;
                    grille[5]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else if (touche6==1) {&lt;br /&gt;
            wait(1);&lt;br /&gt;
            //bas gauche&lt;br /&gt;
            if (touche1==1) { &lt;br /&gt;
                if (grille[6]==0){&lt;br /&gt;
                    allume_LED(7,2,coul);&lt;br /&gt;
                    grille[6]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //bas droite&lt;br /&gt;
            else if (touche3==1){ &lt;br /&gt;
                if (grille[8]==0){&lt;br /&gt;
                    allume_LED(9,2,coul);&lt;br /&gt;
                    grille[8]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            //bas&lt;br /&gt;
            else {&lt;br /&gt;
                if (grille[7]==0){&lt;br /&gt;
                    allume_LED(8,2,coul);&lt;br /&gt;
                    grille[7]=abs((tour%2)-2);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        //allumage du reste de la grille&lt;br /&gt;
        for(int k=0;k&amp;lt;9;k++){&lt;br /&gt;
            if (grille[k]==1) allume_LED(k+1,2,'r');&lt;br /&gt;
            else if (grille[k]==2) allume_LED(k+1,2,'g');&lt;br /&gt;
        }&lt;br /&gt;
        //vérif ligne complétée&lt;br /&gt;
        gagne=win(grille,ligne1,ligne2,ligne3,c1,c2,c3,d1,d2);&lt;br /&gt;
    }&lt;br /&gt;
    Timer t;&lt;br /&gt;
    //vérif victoire joueur 1&lt;br /&gt;
    if(((tour%2)==1)&amp;amp;&amp;amp;(gagne)){&lt;br /&gt;
        t.start();&lt;br /&gt;
        while(t.read()&amp;lt;=5){&lt;br /&gt;
            for(int i=0;i&amp;lt;9;i++){&lt;br /&gt;
                allume_LED(i,2,'r');&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        t.stop();&lt;br /&gt;
    }&lt;br /&gt;
    //vérif victoire joueur 2&lt;br /&gt;
    else if (((tour%2)==0)&amp;amp;&amp;amp;(gagne)){&lt;br /&gt;
        t.start();&lt;br /&gt;
        while(t.read()&amp;lt;=5){&lt;br /&gt;
            for(int i=0;i&amp;lt;9;i++){&lt;br /&gt;
                allume_LED(i,2,'g');&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        t.stop();&lt;br /&gt;
    }&lt;br /&gt;
    //vérif match nul&lt;br /&gt;
    else if ((tour==9)&amp;amp;&amp;amp;(!gagne)){&lt;br /&gt;
        t.start();&lt;br /&gt;
        while(t.read()&amp;lt;=5){&lt;br /&gt;
            for(int i=0;i&amp;lt;9;i++){&lt;br /&gt;
                allume_LED(i,2,'b');&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        t.stop();&lt;br /&gt;
    }&lt;br /&gt;
    morp=true;&lt;br /&gt;
 }&lt;br /&gt;
'' &lt;br /&gt;
&lt;br /&gt;
A noter qu'ici, nous avons modélisé notre grille à l'aide d'un tableau à une dimension. Nous aurions très bien pu le faire aussi sous la forme d'une matrice à deux dimensions.&lt;br /&gt;
&lt;br /&gt;
Côté électronique, nous avons récupéré le PCB d'une face. Nous avons alors procédé au soudage des 9 LEDs CMS composant notre face.&lt;br /&gt;
[[Fichier:Circuit Face.JPG|130px|Circuit d'une face]]&lt;br /&gt;
[[Fichier:Test LED 1.JPG|130px|Soudure de quelque LED et test 1]]&lt;br /&gt;
[[Fichier:Test LED 2.JPG|130px|Soudure de quelque LED et test 2]]&lt;br /&gt;
[[Fichier:Face LED soudee.JPG|130px|Face totalement soudee]]&lt;br /&gt;
&lt;br /&gt;
Nous avons procédé aux tests d'allumage et de multiplexage avec le branchement suivant. Les LEDS se sont bien allumées comme nous le voulions :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Branchement test.JPG|130px|Branchement test de la face de LED]]&lt;br /&gt;
[[Fichier:Test face1.JPG|130px|Test réussi]]&lt;br /&gt;
&lt;br /&gt;
L'objectif pour les 2 semaines restantes sera de pouvoir au moins présenter un prototype de notre cube montrant son fonctionnement global.&lt;br /&gt;
&lt;br /&gt;
== Semaine 13 (du 27/04/2015 au 03/05/2015) ==&lt;br /&gt;
Côté informatique, nous avons continué notre code en intégrant à notre programme final les différentes bibliothèques nécessaires : l'accéléromètre (ADXL345.h), la board tactile (MPR121.h), ainsi que pour le son de notre pièce piézoélectrique (Sound.h). Pour l'émission de ce son, nous avons repris la fonction d'émission d'une mélodie détaillée plus haut, et nous l'avons adaptée pour n'émettre qu'une seule note. Nous avons aussi créé la fonction de vérification de victoire au morpion :&lt;br /&gt;
&lt;br /&gt;
''&lt;br /&gt;
 //vérification victoire&lt;br /&gt;
 bool win(int grille[],bool ligne1, bool ligne2, bool ligne3, bool c1, bool c2, bool c3, bool d1, bool d2){&lt;br /&gt;
    bool v1=false, v2=false;&lt;br /&gt;
    //verif lignes&lt;br /&gt;
    if (!((grille[0]==0)&amp;amp;&amp;amp;(grille[1]==0)&amp;amp;&amp;amp;(grille[2]==0))){&lt;br /&gt;
        v1=grille[0]==grille[1];&lt;br /&gt;
        v2=grille[1]==grille[2];&lt;br /&gt;
        ligne1=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    if (!((grille[3]==0)&amp;amp;&amp;amp;(grille[4]==0)&amp;amp;&amp;amp;(grille[5]==0))){&lt;br /&gt;
        v1=grille[3]==grille[4];&lt;br /&gt;
        v2=grille[4]==grille[5];&lt;br /&gt;
        ligne2=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    if (!((grille[6]==0)&amp;amp;&amp;amp;(grille[7]==0)&amp;amp;&amp;amp;(grille[8]==0))){&lt;br /&gt;
        v1=grille[6]==grille[7];&lt;br /&gt;
        v2=grille[7]==grille[8];&lt;br /&gt;
        ligne3=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    //verif colonnes&lt;br /&gt;
    if (!((grille[0]==0)&amp;amp;&amp;amp;(grille[3]==0)&amp;amp;&amp;amp;(grille[6]==0))){&lt;br /&gt;
        v1=grille[0]==grille[3];&lt;br /&gt;
        v2=grille[3]==grille[6];&lt;br /&gt;
        c1=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    if (!((grille[1]==0)&amp;amp;&amp;amp;(grille[4]==0)&amp;amp;&amp;amp;(grille[7]==0))){&lt;br /&gt;
        v1=grille[1]==grille[4];&lt;br /&gt;
        v2=grille[4]==grille[7];&lt;br /&gt;
        c2=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    if (!((grille[2]==0)&amp;amp;&amp;amp;(grille[5]==0)&amp;amp;&amp;amp;(grille[8]==0))){&lt;br /&gt;
        v1=grille[2]==grille[5];&lt;br /&gt;
        v2=grille[5]==grille[8];&lt;br /&gt;
        c3=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    //verif diagonales&lt;br /&gt;
    if (!((grille[0]==0)&amp;amp;&amp;amp;(grille[4]==0)&amp;amp;&amp;amp;(grille[8]==0))){&lt;br /&gt;
        v1=grille[0]==grille[4];&lt;br /&gt;
        v2=grille[4]==grille[8];&lt;br /&gt;
        d1=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    if (!((grille[2]==0)&amp;amp;&amp;amp;(grille[4]==0)&amp;amp;&amp;amp;(grille[6]==0))){&lt;br /&gt;
        v1=grille[2]==grille[4];&lt;br /&gt;
        v2=grille[4]==grille[6];&lt;br /&gt;
        d2=v1&amp;amp;&amp;amp;v2;&lt;br /&gt;
    }&lt;br /&gt;
    bool win=ligne1||ligne2;&lt;br /&gt;
    win=win||ligne3;&lt;br /&gt;
    win=win||c1;&lt;br /&gt;
    win=win||c2;&lt;br /&gt;
    win=win||c3;&lt;br /&gt;
    win=win||d1;&lt;br /&gt;
    win=win||d2;&lt;br /&gt;
    return win;&lt;br /&gt;
 }&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Côté électronique, nous avons en notre possession les PCB des 6 faces du cube.&lt;br /&gt;
&lt;br /&gt;
Nous avons donc effectué la soudure de toutes les faces restantes et donc des 45 LEDs restantes:&lt;br /&gt;
[[Fichier:6 faces soudees.JPG|130px|Faces totalement soudees]]&lt;br /&gt;
Cette étape nous a pris un temps considérable :&lt;br /&gt;
* Réalisation des 27 vias sur chaque face&lt;br /&gt;
* Soudure de 9 LED CMS par face&lt;br /&gt;
* Étamage de tous les câbles&lt;br /&gt;
* Soudure des câble pour réaliser les ponts entre les faces&lt;br /&gt;
&lt;br /&gt;
Seulement après tout cela, nous avons pu avoir nos 6 faces correctement soudées. Nous avons continué de travailler jusqu'à la mise en place d'un prototype.&lt;br /&gt;
&lt;br /&gt;
== Poursuite du cube &amp;amp; idées ==&lt;br /&gt;
Par la suite, nous avons réalisé un premier prototype du cube de la manière suivante :&lt;br /&gt;
chaque anode de la première série de trois faces a été reliée à une autre de la deuxième série de trois faces. &lt;br /&gt;
&lt;br /&gt;
Nous avons obtenu le prototype suivant : [[Fichier:Proto.JPG|130px|1er prototype]]&lt;br /&gt;
&lt;br /&gt;
Les autres circuits permettant d'obtenir un cube avec l'électronique totalement embarquée n'ont pas été réalisée. Nous avons donc laissé le MBED et la carte de multiplexage à l'extérieur. &lt;br /&gt;
Voici ce que nous pouvons présenter à l'heure actuelle :&lt;br /&gt;
[[Fichier:Cube.JPG|130px|Cube à l'état actuel]]&lt;br /&gt;
&lt;br /&gt;
Le test de ce 1er prototype et des codes développés se fera durant la vidéo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour les cartes supplémentaires, nous avions prévu d'en concevoir 3 : &lt;br /&gt;
Une carte pour les piles permettant d’alimenter le MBED.&lt;br /&gt;
Une seconde comportant le MBED, le capacitive Touch Adafruit et l’accéléromètre.&lt;br /&gt;
Une troisième qui correspond à la carte de multiplexage mais en miniature avec des composants CMS.&lt;br /&gt;
La liaison entre chaque se faisant par des fils.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cartes elec.JPG|130px|Schéma des 3 cartes à réaliser]]&lt;br /&gt;
&lt;br /&gt;
= Conclusion =&lt;br /&gt;
Ce projet nous aura permis d'approfondir nos connaissances dans deux principaux domaines : la conception de circuits électroniques, ainsi que le développement d'une application orientée microcontrôleur.&lt;br /&gt;
D’autre part, ce projet nous auras permis d’exercer la gestion de projet et de se rendre compte de nos erreurs. La principale erreur a été de ne pas se projeter assez vite vers un premier prototype. Au lieu de cela, nous sommes restés un moment sur le test de chaque composant séparément en essayant de prévoir son introduction à l’électronique du cube. Nous avons pris du retard en négligeant un peu la partie électronique et création de carte et nous nous sommes rendus compte que celle-ci n’était pas des moindres et prenant un certain temps.&lt;br /&gt;
&lt;br /&gt;
= Fichiers Rendus =&lt;/div&gt;</summary>
		<author><name>Cduplouy</name></author>	</entry>

	</feed>