﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://bacasable.arpitania.eu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Remi</id>
	<title>Learning Lab Environnements Connectés - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://bacasable.arpitania.eu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Remi"/>
	<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Sp%C3%A9cial:Contributions/Remi"/>
	<updated>2026-04-07T16:01:58Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1230</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1230"/>
		<updated>2015-05-12T10:15:23Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|500px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|500px]]&lt;br /&gt;
[[Fichier:port.jpg|500px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait le choix d'utiliser un capteur de mouvement obstrué pour ne pas détecter de mouvements au niveau du sol. L'idée est de confirmer que la personne va bien, si elle effectue un mouvement bien au dessus du sol.&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|500px]]&lt;br /&gt;
[[Fichier:Upload.png|500px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1229</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1229"/>
		<updated>2015-05-12T10:07:16Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|500px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|500px]]&lt;br /&gt;
[[Fichier:port.jpg|500px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait le choix d'utiliser un capteur de mouvement obstrué pour ne pas détecter de mouvements au niveau du sol. L'idée est de confirmer que la personne va bien, si elle effectue un mouvement bien au dessus du sol.&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|500px]]&lt;br /&gt;
[[Fichier:Upload.png|500px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1225</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1225"/>
		<updated>2015-05-12T10:00:45Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|500px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|500px]]&lt;br /&gt;
[[Fichier:port.jpg|500px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|500px]]&lt;br /&gt;
[[Fichier:Upload.png|500px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1223</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1223"/>
		<updated>2015-05-12T09:59:50Z</updated>

		<summary type="html">&lt;p&gt;Remi : /* Manipulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1222</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1222"/>
		<updated>2015-05-12T09:56:50Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1221</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1221"/>
		<updated>2015-05-12T09:56:38Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px|centré]][[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1220</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1220"/>
		<updated>2015-05-12T09:56:17Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px|centré]][[Fichier:YunParts.png|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px|centré]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1219</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1219"/>
		<updated>2015-05-12T09:55:56Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px|centré]][[Fichier:YunParts.png|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px|gauche]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px|centré]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px|droite]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1218</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1218"/>
		<updated>2015-05-12T09:54:59Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px|centré]][[Fichier:YunParts.png|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px|centré]][[Fichier:IMAG0457.jpg|400px|centré]][[Fichier:IMAG0456.jpg|200px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1216</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1216"/>
		<updated>2015-05-12T09:54:28Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px|centré]]&lt;br /&gt;
[[Fichier:YunParts.png|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px|centré]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px|centré]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px|centré]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1210</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1210"/>
		<updated>2015-05-12T09:43:52Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Sortie de la salle de bain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* Chute et se releve dans les délais (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même).&lt;br /&gt;
* Évanouissement avec convolution (très faible pourcentage).&lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Chute sans évanouissement sans se relever (blessure ou pas).&lt;br /&gt;
* Évanouissement sans chute (malaise).&lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes.  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bain. &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché. &lt;br /&gt;
* Identification du positionnement et le public ciblé.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement.&lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bain  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bain sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1208</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1208"/>
		<updated>2015-05-12T09:43:09Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Sortie de la salle de bain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* Chute et se releve dans les délais (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même).&lt;br /&gt;
* Évanouissement avec convolution (très faible pourcentage).&lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Chute sans évanouissement sans se relever (blessure ou pas).&lt;br /&gt;
* Évanouissement sans chute (malaise).&lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes.  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bain. &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché. &lt;br /&gt;
* Identification du positionnement et le public ciblé.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement.&lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bain  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bain sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1207</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1207"/>
		<updated>2015-05-12T09:42:19Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Sortie de la salle de bain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* Chute et se releve dans les délais (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même).&lt;br /&gt;
* Évanouissement avec convolution (très faible pourcentage).&lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Chute sans évanouissement sans se relever (blessure ou pas).&lt;br /&gt;
* Évanouissement sans chute (malaise).&lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes.  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bain. &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché. &lt;br /&gt;
* Identification du positionnement et le public ciblé.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement.&lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bain  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bain sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1206</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1206"/>
		<updated>2015-05-12T09:41:10Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Sortie de la salle de bain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* Chute et se releve dans les délais (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même).&lt;br /&gt;
* Évanouissement avec convolution (très faible pourcentage).&lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Chute sans évanouissement sans se relever (blessure ou pas).&lt;br /&gt;
* Évanouissement sans chute (malaise).&lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes.  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bain. &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché. &lt;br /&gt;
* Identification du positionnement et le public ciblé.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement.&lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bip bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bip bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bain  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bain sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1205</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1205"/>
		<updated>2015-05-12T09:40:36Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Sortie de la salle de bain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* chute + se relever dans le délai + dégâts  (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même) &lt;br /&gt;
* évanouissement avec convolution --&amp;gt; très très faible pourcentage &lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Sans évanouissement sans se relever (blessure ou pas)  &lt;br /&gt;
* évanouissement sans chute = malaise &lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes.  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bain. &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché. &lt;br /&gt;
* Identification du positionnement et le public ciblé.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement.&lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bip bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bip bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bain  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bain sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1202</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1202"/>
		<updated>2015-05-12T09:38:48Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Absence du mouvement,absence de chute,+ timer (1min) = Fermeture système&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* chute + se relever dans le délai + dégâts  (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même) &lt;br /&gt;
* évanouissement avec convolution --&amp;gt; très très faible pourcentage &lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Sans évanouissement sans se relever (blessure ou pas)  &lt;br /&gt;
* évanouissement sans chute = malaise &lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bains  &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché &lt;br /&gt;
* Identification du positionnement et le public ciblé&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement &lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bip bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bip bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bains  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bains sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1201</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1201"/>
		<updated>2015-05-12T09:37:14Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent à la maison, dont la grande majorité dans la cuisine ou dans la salle de bain.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Absence du mouvement,absence de chute,+ timer (1min) = Fermeture système&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* chute + se relever dans le délai + dégâts  (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même) &lt;br /&gt;
* évanouissement avec convolution --&amp;gt; très très faible pourcentage &lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Sans évanouissement sans se relever (blessure ou pas)  &lt;br /&gt;
* évanouissement sans chute = malaise &lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bains  &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché &lt;br /&gt;
* Identification du positionnement et le public ciblé&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement &lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bip bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bip bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bains  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bains sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1199</id>
		<title>Phasage WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Phasage_WatchCare&amp;diff=1199"/>
		<updated>2015-05-12T09:36:53Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Les pré-projets=&lt;br /&gt;
'''Ecowash'''&lt;br /&gt;
*''Objectif'' : Optimiser la consommation d'eau&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Cible'' : Gros consommateurs, les radins, les colocations, les écolos&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
** Extension de tuyau connectée de diamètre standard&lt;br /&gt;
** Transmission des mesures (volume d'eau, débit et temps) à un serveur&lt;br /&gt;
** Serveur accessible via une interface (écran, smartphone, ordinateur, tablette...)&lt;br /&gt;
** Signalisation de l'approche du seuil par changement de couleur de l'équipement&lt;br /&gt;
** Réduction du débit suite à l'atteinte du seuil&lt;br /&gt;
&lt;br /&gt;
'''Watch Care'''&lt;br /&gt;
*''Objectif'' : Rendre plus sûre la salle de bain&lt;br /&gt;
*''Fonctionnement''&lt;br /&gt;
**'''2 capteurs'''&lt;br /&gt;
# Capteur de mouvement pour détecter un malaise / une chute&lt;br /&gt;
# Un micro pour confirmer l'intervention &lt;br /&gt;
**'''Cas 1:''' Chute sans perte de conscience&lt;br /&gt;
*** Appel à l'aide détecté par le microphone&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
**'''Cas 2:''' Perte de conscience&lt;br /&gt;
*** Alarme sonore au bout de 2 minutes&lt;br /&gt;
*** Envoi d'un message aux proches ou aux voisins&lt;br /&gt;
*** Ouverture de la porte pour l'intervention&lt;br /&gt;
&lt;br /&gt;
'''Watch Care+'''&lt;br /&gt;
Watch Care couplé à d'autres fonctionnalités&amp;lt;br /&amp;gt;&lt;br /&gt;
*''Objectif'' : Proposer un service afin d'identifier les problèmes rencontrés par les gens dans la salle de bain et mettre en place un objet connecté, adapté aux problèmes identifiés.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 1=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
* Choix de 3 projets de salle de bain connectée (Ecowash, WatchCare, WatchCare+)  &lt;br /&gt;
* Réalisation des affiches pour chaque projet   &lt;br /&gt;
* Choix du Projet à mettre en place (WatchCare)   &lt;br /&gt;
* Mise en place d'un scénario d'usage    &lt;br /&gt;
* Détermination des éléments clés du projet   &lt;br /&gt;
* Réalisation d'une étude sur les risques rencontrés par les personnes âgées dans la salle de bain  &lt;br /&gt;
* Création d'un persona (M.Robert)&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie recherche === &lt;br /&gt;
==== Salle de bain : une pièce à risques ====&lt;br /&gt;
Selon l’Institut National de Prévention et d’Éducation pour la Santé, plus de 80% des accidents domestiques se déroulent à la maison, dont la grande majorité dans la cuisine ou dans la salle de bains.&lt;br /&gt;
&lt;br /&gt;
En effet, chez les personnes âgées, les principaux risques rencontrés dans la salle de bain sont les chutes et les brûlures.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Chutes'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Les statistiques sont impitoyables : 46% des chutes de personnes âgées ont lieu dans la salle de bain ! Ces chutes sont souvent suivies de fractures du col du fémur, elles-mêmes entrainant des taux de dépendance ou de mortalité impressionnants.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les tapis antidérapants, barres d'appui, barres de redressement, sièges de bain, tabourets de douche et spray antidérapants sont de bons moyens de prévention&amp;lt;ref&amp;gt;http://securite-salle-de-bain-et-wc.confort-domicile.com/securite-salle-de-bain-et-wc/dossier/127/la-salle-de-bain-une-piece-a-risque.html#-personnes-agees-restez-vigilant-a-votre-environnement-&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Brûlures'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Un robinet d'eau chaude ouvert, un bain dont on n'a pas tâté la température...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Selon les données de l'OMS&amp;lt;ref&amp;gt;http://www.who.int/mediacentre/factsheets/fs344/fr/&amp;lt;/ref&amp;gt; de 2012, les chutes à domicile sont la deuxième cause de décès accidentels ou de décès par traumatisme involontaire dans le monde, leur rapport indique que les personnes qui font le plus grand nombre de chutes mortelles sont des personnes de plus de 65 ans&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/10000/themes/accidents/chutes.asp&amp;lt;/ref&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour faire face aux chutes et aux malaises dans la salle de bain, on propose '''WatchCare''' qui est un dispositif d’assistance à domicile destiné aux personnes âgées.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== Fonctionnement du WatchCare ====&lt;br /&gt;
&lt;br /&gt;
WatchCare se compose de:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Un tapis pour détecter la chute et déclencher le capteur de mouvement &lt;br /&gt;
* Un capteur de mouvement pour détecter et confirmer un malaise ou une chute &lt;br /&gt;
* Un microphone (capteur de son) pour confirmer un appel à l'aide&lt;br /&gt;
&lt;br /&gt;
WatchCare intervient dans deux cas: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cas 1: Chute sans perte de conscience'''&lt;br /&gt;
&lt;br /&gt;
* Détection et confirmation de chutes ou malaises par le tapis et le capteur de mouvement    &lt;br /&gt;
* Demande de confirmation de l'appel à l'aide par le microphone et le haut-parleur &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
'''Cas 2: Perte de conscience'''&lt;br /&gt;
   &lt;br /&gt;
* Alarme sonore &lt;br /&gt;
* Émission d'un appel&lt;br /&gt;
&lt;br /&gt;
==== Personas ====&lt;br /&gt;
&lt;br /&gt;
M. Robert retraité de la SNCF, a 73 ans, sa femme est décédée il y a 6 ans. Il a deux enfants, un à Paris et l’autre à Lyon. Il vit seul dans un appartement de 45 m² à Saint-Étienne,  plutôt solitaire et débrouillard, il est de nature autonome mais sa santé a commencé à se dégrader depuis 2 ans. Il aime prendre soin de lui avant sa sortie quasi quotidienne vers Centre 2. &lt;br /&gt;
&lt;br /&gt;
« Je vais à la salle de bain plusieurs fois par jour, je prends ma douche environ 3 fois par semaine ! Vous savez ! Je n'ai plus l’énergie pour prendre ma douche chaque jour comme jadis, mais j’ai toujours cette habitude d’être tout le temps  bien présenté et me sentir propre et bien dans ma peau. &lt;br /&gt;
Vous voyez ce pansement que j’ai sur mon poignet, c’est à cause d’une chute dans ma salle de bain et encore j’ai été chanceux ! Ça aurait pu être pire pour moi. Mais depuis ce jour, j’ai peur d’une chute plus grave, sachant que je vis tout seul, mes deux enfants vivent à Lyon et Paris, et à part mes voisins que je croise de temps à autres, personne ne saura que quelque chose m’est arrivé dans ma salle de bain.»&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ses activités'''&lt;br /&gt;
&lt;br /&gt;
* Réfléchir et penser  9/10 &lt;br /&gt;
* Sortir 8/10 &lt;br /&gt;
* Lecture 7/10 &lt;br /&gt;
* Musique 4/10&lt;br /&gt;
* Télévision 7/10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 2=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
* Mise en place d'un scénario d'usage&lt;br /&gt;
&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
* Création d'un algorigramme qui résume le fonctionnement du système &lt;br /&gt;
* Détermination des composantes utilisées et leurs rôles &lt;br /&gt;
* Définition des étapes de réalisation de l'installation&amp;lt;br /&amp;gt;&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
==== Cahier des charges ==== &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Séquence d’usage !! Cahier des charges&lt;br /&gt;
|-&lt;br /&gt;
| Installation || &lt;br /&gt;
* Simplifier l’installation&lt;br /&gt;
|-&lt;br /&gt;
| Initialisation || &lt;br /&gt;
* Définir  la gestion du système (Plug &amp;amp; Play)&lt;br /&gt;
* Autonomie&lt;br /&gt;
* Dimension&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Détection ||&lt;br /&gt;
* Détection mouvement/présence= démarrage du système. &lt;br /&gt;
* Tapis = Impact &lt;br /&gt;
* Confirmation mouvement &lt;br /&gt;
* Question/réponse =&amp;gt; vocal &lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
| Mise en veille || &lt;br /&gt;
* Absence du mouvement,absence de chute,+ timer (1min) = Fermeture système&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Algorigramme &amp;quot;WatchCare&amp;quot; ====&lt;br /&gt;
                             &lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|vignette|centré]]&lt;br /&gt;
'''Cas non traités'''&lt;br /&gt;
* chute + se relever dans le délai + dégâts  (comme la personne peut bouger donc elle peut se faire soigner ou demander de l'aide elle même) &lt;br /&gt;
* évanouissement avec convolution --&amp;gt; très très faible pourcentage &lt;br /&gt;
'''Cas traités''' &lt;br /&gt;
* Sans évanouissement sans se relever (blessure ou pas)  &lt;br /&gt;
* évanouissement sans chute = malaise &lt;br /&gt;
&lt;br /&gt;
==== Composants du système ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Composantes du système  !! &lt;br /&gt;
|-&lt;br /&gt;
| Tapis  || &lt;br /&gt;
&lt;br /&gt;
* Relève un impact &lt;br /&gt;
* Transcrit l’impact en signal au microcontrôleur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Microcontrôleur  || &lt;br /&gt;
* La partie intelligente du système &lt;br /&gt;
* Gère les entrées et sorties &lt;br /&gt;
* Traite les informations&lt;br /&gt;
* Donne les actions à exécuter par le système&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Capteur de mouvement  || &lt;br /&gt;
* Détecte un mouvement dans son champ de vision &lt;br /&gt;
|-&lt;br /&gt;
| Microphone (capteur de son) || &lt;br /&gt;
* Capte le son et le retranscrit en signal au microcontrôleur     &lt;br /&gt;
|-&lt;br /&gt;
| Hautparleur  || &lt;br /&gt;
* Transforme un signal électronique en un signal sonore &lt;br /&gt;
|-&lt;br /&gt;
| Arduino || &lt;br /&gt;
* Carte électronique qui intègre le microcontrôleur &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Etapes de la réalisation ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Capture d’impact sur un tapis (récupérer le signal dans la pièce) &lt;br /&gt;
* Relier le capteur au microcontrôleur&lt;br /&gt;
* Mettre en place la liaison Xbee&lt;br /&gt;
* Capture du mouvement&lt;br /&gt;
* Interpréter le signal avec des leds&lt;br /&gt;
* Concevoir l’interface de commande vocale&lt;br /&gt;
&lt;br /&gt;
=== Scénario persona ===&lt;br /&gt;
&lt;br /&gt;
Après l’accident que M. Robert a subi dans sa salle de bain, sa fille ainée a décidé d’intervenir, mais hélas, elle habite assez loin et personne ne peut savoir quand un autre accident pourrait arriver. Pour y remédier, elle a cherché des solutions sur internet et heureusement elle est tombée sur ‘’WatchCare‘’. Étant intéressée par le concept, elle a décidé d’offrir à son père le kit WatchCare.&lt;br /&gt;
&lt;br /&gt;
6 semaines après l’installation du kit ‘’WatchCare’’, M.Robert a glissé à sa sortie de la baignoire, carrelage mouillé et étant déséquilibré, la chute été rude. Ayant des bleus partout sur son corps et une douleur atroce au niveau du col du fémur, il ne put se lever. Entre temps, la chute a déclenché WatchCare qui, à l’aide de détecteurs, a posé la question ‘’avez-vous besoin d’aide ?’’, M. Robert affirma en avoir besoin en répondant ‘’Oui’’ et un appel fut aussitôt émis à la personne désignée par M.Robert en cas d’urgence, en l’occurrence sa fille ainée, qui à son tour appelle les voisins et le SAMU pour intervenir le plutôt possible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Jour 3=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
=== Partie recherche ===&lt;br /&gt;
&lt;br /&gt;
Réalisation d'un état de l'art &lt;br /&gt;
* Recherche sur les causes des chutes  &lt;br /&gt;
* Recherche sur les blessures dans la salle de bains  &lt;br /&gt;
* Recherches sur les systèmes existants et à quoi ils répondent&amp;lt;br /&amp;gt;&lt;br /&gt;
* Réalisation d'une étude de marché &lt;br /&gt;
* Identification du positionnement et le public ciblé&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie technique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tester les différents capteurs. L'équipe technique s'est divisée en deux sous équipes :&amp;lt;br /&amp;gt;&lt;br /&gt;
la première s'est chargée de tester le captage du son, tandis que la deuxième s'est penchée sur le captage du mouvement &lt;br /&gt;
&lt;br /&gt;
* Conception d'un prototype du WatchCare.&lt;br /&gt;
&lt;br /&gt;
== Résultats == &lt;br /&gt;
=== Partie Recherche === &lt;br /&gt;
==== Etat de l'art ====&lt;br /&gt;
&lt;br /&gt;
===== Les causes des chutes =====&lt;br /&gt;
&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
* '''On ne voit pas bien :''' la vue baisse, on ne porte pas de lunettes, les pièces sont mal éclairées. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a trébuché sur un obstacle :''' Un meuble ou une plante sont sur le passage, le sol a un dénivelé, les bords du tapis ne sont pas bien fixés au sol, des fils électriques trainent par terre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a perdu l’équilibre :''' on a une démarche instable avec des pertes d’équilibre, on est moins vigilant, les muscles sont plus faibles. La prise de certains médicaments comme les antidépresseurs, les tranquillisants, les somnifères, les anti-migraineux ou les hypertenseurs peuvent provoquer des troubles de l’équilibre. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a un malaise :''' baisse de tension, malaise cardiaque, chute de glycémie, …&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On a une fracture''' d’un membre, chez une personne souffrant de l’ostéoporose. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''On est déprimé :''' un choc psychologique ou l’isolement social sont des facteurs fragilisant.&lt;br /&gt;
&lt;br /&gt;
===== Les blessures =====&lt;br /&gt;
* Sur un total de plus de '''2 millions de chutes''' par an chez les plus de 65 ans, on déplore '''8500 décès.'''  &lt;br /&gt;
* Globalement, sur '''100 chutes''', '''10''' entraineront une lésion traumatique (traumatisme crânien, foulure, etc.) et '''5''' une fracture, en particulier celle du col du fémur.  &lt;br /&gt;
* D’après un sondage CNAMTS/CFES&amp;lt;ref&amp;gt;Sondage sur les chutes auprès des personnes âgées de 65 ans et plus, décembre 1999- CNAMTS/ CFES Institut français de démoscopie &amp;lt;/ref&amp;gt;, '''70%''' des chutes ont entrainé des soins, '''19%''' des personnes ayant chuté se sont soignées elles-mêmes, '''5%''' sont allées à la pharmacie. Dans 25% des cas, la chute n’a entrainé aucun soin.&lt;br /&gt;
* Outre les blessures physique, la chute entraine également des troubles psychologiques : elle symbolise une fragilité liée à la vieillesse.&lt;br /&gt;
&lt;br /&gt;
===== La psychologie séniore =====&lt;br /&gt;
&lt;br /&gt;
La chute est vécue comme un facteur aggravant les effets du vieillissement. C’est pourquoi le risque de chute est souvent occulté par les personnes concernées. '''Celui qui tombe nie être tombé, celui qui risque de tomber ne veut pas l’admettre et donc ne fait rien pour prévenir ou éviter la chute.'''&amp;lt;ref&amp;gt;http://www.inpes.sante.fr/70000/dp/00/dp001110g.pdf&amp;lt;/ref&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== Systèmes existants =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''TAPISMETRIC'''&amp;lt;/big&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système est constitué d’une fine sous-couche de détecteurs placés sous un revêtement de sol souple (PVC ou Linoléum). Cette sous-couche est reliée à une électronique externalisée, elle–même gérée par un logiciel spécifique qui permet de lancer l’alerte en temps réel en cas de chute. Le système permet de répondre aux besoins et obligations spécifiques des EHPAD dans la prise en charge et la gestion des chutes et de leurs risques.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Les avantages'''&lt;br /&gt;
* La rapidité : le système détecte en permanence et instantanément tous les types de chutes et permet ainsi une intervention immédiate du personnel de l’EHPAD pour secourir le résident.&lt;br /&gt;
* La traçabilité : le système suit tous les événements de chutes même lorsque le résident a pu se relever seul et permet ainsi au médecin de mieux évaluer leurs fréquences afin de prévenir le risque de chutes à répétition ou plus graves.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;'''Télé alarme à détection de chute automatique Sérénities Automatic'''&amp;lt;/big&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Pdtimg 2498197s.png|vignette|centré]]&lt;br /&gt;
* Pour les personnes vivant seules ou susceptible de tomber, de faire un malaise...&lt;br /&gt;
* Détecte les chutes à domicile&lt;br /&gt;
* 1 bip bracelet d'alarme étanche avec détection de chute automatique pour prévenir ses proches en cas de chute ou d'urgence associé à un téléphone amplifié à grosses touches&lt;br /&gt;
* En cas de chute suivie d'une immobilisation (perte de connaissance..) la télé alarme se déclenche automatiquement&lt;br /&gt;
* Le bip bracelet d'alarme permet de déclencher automatiquement la séquence d'appel d'urgence d'aide à la personne en cas de détection de chute vers 5 n° de téléphones pré-enregistrés à tour de rôle (envoi du Message vocal d'alerte pré-enregistré) jusqu'à ce que l'un d'entre eux réponde&lt;br /&gt;
* La séquence d'appel d'urgence peut également être déclenchée par l'utilisateur en appuyant sur le bouton&lt;br /&gt;
* La portée du bracelet d'alarme étanche est de 30 à 60 mètres de la base du téléphone&lt;br /&gt;
* Compatible avec les appareils auditifs et les box ADSL&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
* Le bracelet d'alarme dispose de capteur qui mesure l'activité physiologique&lt;br /&gt;
* En cas d’accélération anormale suivie d’un choc, la télé alarme identifie que c’est probablement une chute.&lt;br /&gt;
* Si  l’activité physiologique est très réduite ensuite (période d’immobilisation), alors, la télé alarme déclenche automatiquement un appel d’urgence vers les proches.&lt;br /&gt;
* S’il n’y a pas de perte de connaissance, il est aussi possible de déclencher un appel d’urgence manuellement en pressant le bouton poussoir. La led rouge s’allume pour signaler que l’appel est lancé.&lt;br /&gt;
* Si c'est un répondeur, ou la boîte vocale d'un mobile qui répond, la télé alarme appelle automatiquement le numéro suivant.&lt;br /&gt;
* Lors d’un appel d’urgence, le dialogue téléphonique intervient à travers la base téléphonique : si l’utilisateur est proche de la base, il pourra dialoguer avec les secours à travers celle-ci. Au contraire, s’il est trop éloigné, il ne pourra pas dialoguer avec son entourage pour expliquer sa situation, et une intervention extérieure sera nécessaire.&lt;br /&gt;
[[Fichier:Concept-detection-chute.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Vigi'FallTM'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solution Vigi’Fall ™ émet automatiquement une alerte en cas de chute suivie de l’impossibilité de se relever seul. Elle est destinée aux personnes vivant à leur domicile, aux établissements gériatriques (EHPAD, foyers-logements…) et aux structures hospitalières (SSR, SLD…).&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Sol vigi.png|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Fonctionnement''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* La solution Vigi’Fall  ™ détecte automatiquement les mouvements brusques et l’immobilisation prolongée&lt;br /&gt;
* La portée radio entre le Bio capteur et le Boitier Expert est de 60 à 80m&lt;br /&gt;
* En cas de chute, une alerte est  transmise automatiquement vers les secours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Étude de marché ====&lt;br /&gt;
 &lt;br /&gt;
===== Positionnement =====&lt;br /&gt;
Un marché de niche sans concurrence directe&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Public ciblé =====&lt;br /&gt;
Personnes âgées, leurs proches, B2B (sous-traitance de l’installation des produits à d’autres fournisseurs de carrelage, aménagement de la salle de bain…)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Partie Technique ===&lt;br /&gt;
==== Captage de son  ====&lt;br /&gt;
[[Fichier:Test micro.jpg|vignette|centre| test micro ]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a fait des tests sur le micro qu'on a implémenté sur la carte Arduino ainsi que sur un micro extérieur pour déterminer un seuil à partir duquel on pourra confirmer que le bruit produit pourrait être assimilé à une chute d'une personne en salle de bain&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Visualisation résultat sur LCD.jpg|vignette|centre|visualisation sur LCD]]&lt;br /&gt;
&lt;br /&gt;
=== Captage de mouvement ===&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne la deuxième équipe, elle a fait les tests nécessaires sur le capteur de mouvement avec la carte Ardino.&lt;br /&gt;
[[Fichier:Capteurs mouvement &amp;amp; son.jpg||200px||thumb|Implémentation des 2 capteurs sur la meme carte|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
=== Implémentation des 2 capteurs ===&lt;br /&gt;
&lt;br /&gt;
Après avoir testé chaque capteur séparément, on a fusionné les deux fonctions ( son &amp;amp; mouvement ) sur la même carte. La photo ci contre montre les 2 capteurs sur la même carte avec une LED bleu pour le capteur de mouvement et une LED rouge pour le capteur de son .&lt;br /&gt;
&lt;br /&gt;
=Jour 4=&lt;br /&gt;
== Qu'est-ce qu'on a fait ? ==&lt;br /&gt;
&lt;br /&gt;
* Élaboration du storyboard et scénario  &lt;br /&gt;
* Création du logo&lt;br /&gt;
* Construction de la maquette&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
=== Logo ===&lt;br /&gt;
Description: Logo simple et attrayant, adapté à notre public cible. Le bleu pour la sécurité, l'eau et l'hygiène, le &amp;quot;W&amp;quot; fait référence à WatchCare et à Water (Eau).&lt;br /&gt;
[[Fichier:WatchCare Logo.png|vignette|centré]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Design/ Maquette ===&lt;br /&gt;
&lt;br /&gt;
Description design prototype : Le boitier prend la forme d’un demi-cercle de couleur noir, la couleur et les dimensions sont temporaires et seront modifiées ultérieurement. &lt;br /&gt;
La boite comporte des petits trous permettant la diffusion sonore, ainsi que deux LED, un vert qui signifie que la WatchCare est activée et un rouge pour signaler l’épuisement de batterie.&lt;br /&gt;
[[Fichier:Watchcare.jpg|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
== Algorithme global du système Watchcare ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boolean aide = false ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while(aide){&lt;br /&gt;
  &lt;br /&gt;
if(chute_detectee()){&lt;br /&gt;
	delay(5000); // on attend 5 sec pour déclencher le détecteur de mouvement&lt;br /&gt;
	if(!mouvement_detecte){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0; // Compteur qui s'incrémente à chaque fois qu'il ne reçoit pas de réponse       &lt;br /&gt;
            while(count&amp;lt;3 || reponse!='oui' || reponse!='non'){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(1000); // on attend 1 sec pour récupérer la réponse&lt;br /&gt;
	            reponse=getanswer(); // getanswer fonction qui permet de récupérer la réponse via un microphone&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           	if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	             println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	             aide= true;    &lt;br /&gt;
	         }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
	if(!time.chute_detectee()&amp;lt; 2 min){&lt;br /&gt;
&lt;br /&gt;
		int count2 = 0;&lt;br /&gt;
		while (count2 &amp;lt; 10)&lt;br /&gt;
		{&lt;br /&gt;
			declencher_buzzer(); // fait un bruit pendant 1 seconde&lt;br /&gt;
			delay(1000); //1 seconde&lt;br /&gt;
			if (mouvement_detecte)&lt;br /&gt;
			{&lt;br /&gt;
				count2 = 20;&lt;br /&gt;
			}&lt;br /&gt;
			count2++;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(count2==10){&lt;br /&gt;
&lt;br /&gt;
            char reponse= '';&lt;br /&gt;
            int count = 0;       &lt;br /&gt;
            while(count&amp;lt;3 || reponse==''){&lt;br /&gt;
&lt;br /&gt;
	            println(&amp;quot;Avez vous besoin d'aide&amp;quot;); // sonore&lt;br /&gt;
	            delay(2000);&lt;br /&gt;
	            reponse=getanswer();&lt;br /&gt;
	            count++;&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
           		if(reponse=='oui' || count==3){&lt;br /&gt;
&lt;br /&gt;
	                println(&amp;quot;Aide demandée&amp;quot;);&lt;br /&gt;
	                aide= true;&lt;br /&gt;
	                &lt;br /&gt;
	            }&lt;br /&gt;
&lt;br /&gt;
	    }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithme implémenté ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Jour 5 =&lt;br /&gt;
== Qu'est-ce qu'on a fait == &lt;br /&gt;
* Finalisation de la vidéo  &lt;br /&gt;
* Préparation de la présentation &lt;br /&gt;
* Documentation&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=== Description de la vidéo ===&lt;br /&gt;
&lt;br /&gt;
(photomontage) &lt;br /&gt;
Une vidéo (photomontage) de 1m16s sous forme d’une publicité qui vise un public large (personnes âgées, leurs proches…) &lt;br /&gt;
&lt;br /&gt;
Voix Off &lt;br /&gt;
&lt;br /&gt;
# Statistique sur les chutes dans la salle de bains  &lt;br /&gt;
# Maintenant imaginez le futur de la salle de bains sans risques avec une innovation intelligente qui respecte votre intimité, votre autonomie et votre fierté.  &lt;br /&gt;
# Avec WatcheCare et sa facilité d’installation pensez à des lendemains plus surs.    &lt;br /&gt;
# Explication du dispositif  &lt;br /&gt;
# l’alliance d’un design épuré et d’une technologie de pointe ont fait de WatchCare un dispositif de sécurité indispensable au quotidien&lt;br /&gt;
&lt;br /&gt;
''' Vidéo '''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=NlMqIC7GYLY}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Synthèse ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour notre projet, nous sommes partis du fait que la salle de bain est un lieu à haut risque. Nous avons réfléchi à une solution pour limiter les risques que les gens rencontre dans la salle  bain et nous avons trouvé comme idée le Watchcare. En faisant des recherches sur le concept de limitation des risques, nous avons trouvé que les personnes âgées sont les plus susceptibles d’avoir des accidents dans la salle de bain. Parmi ces accidents, c'est le risque de chute qui est le plus élevé et qui détient un important taux de mortalité . &lt;br /&gt;
De ce fait nous avons décidé que notre dispositif ciblera les personnes âgées vivant seules et interviendra face à deux risques : la chute et le malaise. &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons fait une étude de marché qui nous a permis de se positionner par rapport à l’offre. La majorité des dispositifs présents sur le marché interviennant lors d’une chute sont des détecteurs de chute sous forme de bracelet. Il n’y a pas un détecteur destiné spécialement à la salle de bain.&lt;br /&gt;
Suite à un benchmark, nous avons trouvé que notre produit serait une innovation sur le marché et qu'il n’aura pas de concurrent directe à court terme, nous nous positionnons alors sur un marché de niche. &lt;br /&gt;
Le produit final se démarque à travers plusieurs avantages par rapport aux offres des potentiels concurrents indirects.  &lt;br /&gt;
Pour la commercialisation du produit, notre cible est plus large, on vise dans un premier temps les seniors et leurs proches, puis dans un deuxième temps toute personne souhaitant sécuriser sa salle de bain.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Il respecte l’intimité, le rapport au corps, l’autonomie et la fierté de la personne. &lt;br /&gt;
* Il couvre la totalité de l’espace de la salle de bain. &lt;br /&gt;
* Il permet la gestion des fausses alertes grâce à une confirmation vocale.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Résultats ==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1198</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1198"/>
		<updated>2015-05-12T09:31:32Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1197</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1197"/>
		<updated>2015-05-12T09:30:52Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Plusieurs parties de l'algorigramme n'ont pas été mis en place :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le tapis détecteur de chute,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La reconnaissance vocale,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le haut parleur,&amp;lt;br /&amp;gt;&lt;br /&gt;
- La laison sans fil entre le tapis et le boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Le service téléphonique vers les secours.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1196</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1196"/>
		<updated>2015-05-12T09:23:26Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== Pour aller plus loin ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1185</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1185"/>
		<updated>2015-05-12T08:32:29Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1184</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1184"/>
		<updated>2015-05-12T08:31:46Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1183</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1183"/>
		<updated>2015-05-12T08:31:13Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|200px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG04633.jpg&amp;diff=1182</id>
		<title>Fichier:IMAG04633.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG04633.jpg&amp;diff=1182"/>
		<updated>2015-05-12T08:30:49Z</updated>

		<summary type="html">&lt;p&gt;Remi : Sans chinois&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sans chinois&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1181</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1181"/>
		<updated>2015-05-12T08:30:09Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG04633.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1180</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1180"/>
		<updated>2015-05-12T08:28:26Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG0463.jpg|300px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1179</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1179"/>
		<updated>2015-05-12T08:28:00Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0462.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0463.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0464.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG0464.jpg&amp;diff=1178</id>
		<title>Fichier:IMAG0464.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG0464.jpg&amp;diff=1178"/>
		<updated>2015-05-12T08:25:28Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG0462.jpg&amp;diff=1176</id>
		<title>Fichier:IMAG0462.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG0462.jpg&amp;diff=1176"/>
		<updated>2015-05-12T08:24:55Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1174</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1174"/>
		<updated>2015-05-12T08:18:46Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1172</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1172"/>
		<updated>2015-05-12T08:18:15Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Notez que vous devez obstruer la partie inférieure du champ de vision du capteur de mouvement (à l'aide d'un scotch opaque par exemple) afin de servir les besoins de l'algorigramme (voir partie suivante).&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1164</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1164"/>
		<updated>2015-05-12T08:09:05Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1163</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1163"/>
		<updated>2015-05-12T08:07:54Z</updated>

		<summary type="html">&lt;p&gt;Remi : /* Manipulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1161</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1161"/>
		<updated>2015-05-12T08:07:22Z</updated>

		<summary type="html">&lt;p&gt;Remi : /* Manipulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&amp;lt;br /&amp;gt;&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1157</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1157"/>
		<updated>2015-05-12T08:06:18Z</updated>

		<summary type="html">&lt;p&gt;Remi : /* Manipulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 LEDs, le capteur de mouvement PIR, le microphone et les support à LEDs.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à LEDs et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la LED sur D2, puis détecter un mouvement en allumant la LED sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Il y a plusieurs règles à pendre en compte:&lt;br /&gt;
- Faire deux trous pour les LEDs de batterie faible et d'état de marche,&lt;br /&gt;
- Faire des trous plus petits au niveau du capteur de son,&lt;br /&gt;
- Faire en sorte que le capteur de mouvement soit à l'extérieur du boitier,&lt;br /&gt;
- Choisir des dimensions suffisantes pour que la carte Arduino rentre dans le boitier. &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1140</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1140"/>
		<updated>2015-05-12T07:41:00Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, le microphone et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1139</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1139"/>
		<updated>2015-05-12T07:40:22Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, le microphone, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les ports numériques 2, 3 et 4, ainsi que le microphone sur le port analogique 1.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1137</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1137"/>
		<updated>2015-05-12T07:35:19Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0459.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG0459.jpg&amp;diff=1136</id>
		<title>Fichier:IMAG0459.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:IMAG0459.jpg&amp;diff=1136"/>
		<updated>2015-05-12T07:34:36Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1129</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1129"/>
		<updated>2015-05-11T16:44:17Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0460.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1128</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1128"/>
		<updated>2015-05-11T16:43:51Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0460.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.png|400px]]&lt;br /&gt;
[[Fichier:Upload.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1127</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1127"/>
		<updated>2015-05-11T16:42:10Z</updated>

		<summary type="html">&lt;p&gt;Remi : /* Manipulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0460.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Une fois le code tapé, il faut le compiler en cliquant sur &amp;quot;verify&amp;quot; en haut à gauche, puis il faut importer le programme en cliquant sur &amp;quot;upload&amp;quot; en haut à gauche comme l'illustre ces captures d'écran.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Verify.jpg|400px]]&lt;br /&gt;
[[Fichier:Upload.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Upload.png&amp;diff=1126</id>
		<title>Fichier:Upload.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Upload.png&amp;diff=1126"/>
		<updated>2015-05-11T16:41:34Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Verify.png&amp;diff=1125</id>
		<title>Fichier:Verify.png</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Verify.png&amp;diff=1125"/>
		<updated>2015-05-11T16:41:16Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1118</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1118"/>
		<updated>2015-05-11T16:35:52Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]]&lt;br /&gt;
[[Fichier:port.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0460.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1117</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1117"/>
		<updated>2015-05-11T16:35:04Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La première chose à faire sur le logiciel est de sélectionner le type de carte et le port USB auquel la carte est reliée comme illustré sur ces captures d'écrans.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:board.jpg|400px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:port.jpg|400px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0460.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Port.jpg&amp;diff=1115</id>
		<title>Fichier:Port.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Port.jpg&amp;diff=1115"/>
		<updated>2015-05-11T16:34:00Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Fichier:Board.jpg&amp;diff=1114</id>
		<title>Fichier:Board.jpg</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Fichier:Board.jpg&amp;diff=1114"/>
		<updated>2015-05-11T16:33:48Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1106</id>
		<title>Instructable WatchCare</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Instructable_WatchCare&amp;diff=1106"/>
		<updated>2015-05-11T16:04:06Z</updated>

		<summary type="html">&lt;p&gt;Remi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les étapes à suivre pour arriver à notre état d'avancement.&lt;br /&gt;
&lt;br /&gt;
== Outils nécessaires ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
- Arduino Yun :  &lt;br /&gt;
[[Fichier:IMAG0453.jpg|400px]]&lt;br /&gt;
[[Fichier:YunParts.png|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Kit Grove :  &lt;br /&gt;
[[Fichier:IMAG0454.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Cable d'alimentation :  &lt;br /&gt;
[[Fichier:IMAG0461.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Logiciel Arduino :  &lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|400px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Boitier :  &lt;br /&gt;
[[Fichier:IMAG0455.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0457.jpg|400px]]&lt;br /&gt;
[[Fichier:IMAG0456.jpg|200px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manipulations ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Étape 1 : Matériel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons choisi la carte électronique Arduino Yun qui intègre un microcontrôleur afin de pouvoir gérer les interactions entre les capteurs et l'environnement du WatchCare.&lt;br /&gt;
Le kit Grove nous fournit un ensemble de capteurs ainsi qu'une extension de la carte afin d'y connecter les capteurs.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Grove.jpeg|400px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Cette extension de carte est à brancher directement sur la carte Arduino Yun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Comme affiché, le kit Grove possède des sorties analogiques (jaune), des sorties numériques (rouge) et des sorties séries I2C (vert).&lt;br /&gt;
Parmi les éléments de ce kit, nous utiliserons 2 leds, le capteur de mouvement PIR, et les support à leds.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 2 : Logiciel'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de configurer la carte Arduino Yun, il faut utiliser le logiciel de développement Arduino, à partir de la version 1.5 (nous utilisons personnellement la version 1.6.4). Nous avons fait le choix d'utiliser ce logiciel sous Linux, car sous Windows l'installation nécessite des librairies et pilotes. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Arduino logiciel.jpg|300px]] &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
C'est dans cette fenêtre que nous taperont le code informatique afin que le système puisse l’exécuter. C'est l'interface entre l'Homme et la machine, elle vérifie, compile et charge le programme sur la carte.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 3 : Câblage'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici le câblage réalisé sur la carte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:IMAG0460.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Nous avons relié les supports à leds et le capteur de mouvement respectivement sur les sorties numériques 2, 3 et 4.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour continuer, il faut alimenter la carte en branchant le câble d'alimentation sur le port micro USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 4 : Implémentation du code'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici l'algorigramme proposé pour répondre aux exigences du cahier des charges.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Fichier:Algorigramme WatchCare 2.jpg|400px]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Et voici le code adapté à intégrer dans le logiciel de développement Arduino. A noter que ce code ne traite pas de l'intégralité de l'algorigramme, mais plutôt de certaines parties. Concrètement, le code proposé permet de détecter le bruit d'une chute en allumant la led sur D2, puis détecter un mouvement en allumant la led sur D3.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define SOUND_SENSOR A0&lt;br /&gt;
#define LED 2&lt;br /&gt;
#define THRESHOLD_VALUE 670&lt;br /&gt;
&lt;br /&gt;
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)&lt;br /&gt;
int calibrationTime = 10;        &lt;br /&gt;
&lt;br /&gt;
//the time when the sensor outputs a low impulse&lt;br /&gt;
long unsigned int lowIn;         &lt;br /&gt;
&lt;br /&gt;
//the amount of milliseconds the sensor has to be low &lt;br /&gt;
//before we assume all motion has stopped&lt;br /&gt;
long unsigned int pause = 5000;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int pirPin = 4;    //the digital pin connected to the PIR sensor's output&lt;br /&gt;
int ledPin = 3;&lt;br /&gt;
int ledVerte = 8;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//SETUP&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(LED, OUTPUT);&lt;br /&gt;
  pinMode(SOUND_SENSOR, INPUT);&lt;br /&gt;
  pinMode(pirPin, INPUT);&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
  pinMode(ledVerte, OUTPUT);&lt;br /&gt;
  digitalWrite(pirPin, LOW);&lt;br /&gt;
&lt;br /&gt;
  //give the sensor some time to calibrate&lt;br /&gt;
  Serial.print(&amp;quot;calibrating sensor &amp;quot;);&lt;br /&gt;
    for(int i = 0; i &amp;lt; calibrationTime; i++){&lt;br /&gt;
      Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
      }&lt;br /&gt;
    Serial.println(&amp;quot; done&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;SENSOR ACTIVE&amp;quot;);&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
////////////////////////////&lt;br /&gt;
//LOOP&lt;br /&gt;
void loop(){&lt;br /&gt;
   &lt;br /&gt;
    digitalWrite(ledVerte, HIGH);//dire systeme allume&lt;br /&gt;
    int time = 0;&lt;br /&gt;
    &lt;br /&gt;
     if(chute_detectee())&lt;br /&gt;
    {  &lt;br /&gt;
       delay(2000); // le temps que la chute soit terminée&lt;br /&gt;
       while( time &amp;lt; 10  ){&lt;br /&gt;
         if(mouvement_detectee()){&lt;br /&gt;
           time=10;&lt;br /&gt;
           digitalWrite(ledPin, HIGH);&lt;br /&gt;
           delay(100);&lt;br /&gt;
           digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
         else{&lt;br /&gt;
         delay(600);&lt;br /&gt;
         time ++;&lt;br /&gt;
         digitalWrite(ledPin, LOW);&lt;br /&gt;
         }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
     /*else {&lt;br /&gt;
       digitalWrite(ledPin, LOW);&lt;br /&gt;
     }*/&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
boolean chute_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
       boolean chute = false;&lt;br /&gt;
        int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal&lt;br /&gt;
	Serial.print(&amp;quot;sensorValue &amp;quot;);&lt;br /&gt;
        Serial.println(sensorValue);&lt;br /&gt;
        if(sensorValue &amp;gt; THRESHOLD_VALUE)&lt;br /&gt;
	{&lt;br /&gt;
                chute= true;&lt;br /&gt;
		turnOnLED();//if the value read from A0 is larger than 670,then light the LED&lt;br /&gt;
		delay(100);&lt;br /&gt;
	}&lt;br /&gt;
	turnOffLED();&lt;br /&gt;
return chute;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
boolean mouvement_detectee()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  //boolean lockLow = true;&lt;br /&gt;
  boolean takeLowTime=false;  &lt;br /&gt;
  &lt;br /&gt;
   if(digitalRead(pirPin) == HIGH){&lt;br /&gt;
       /*digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state&lt;br /&gt;
       if(lockLow){  &lt;br /&gt;
         //makes sure we wait for a transition to LOW before any further output is made:&lt;br /&gt;
         lockLow = false;           &lt;br /&gt;
         delay(50);&lt;br /&gt;
         } */        &lt;br /&gt;
         takeLowTime = true;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
     if(digitalRead(pirPin) == LOW){       &lt;br /&gt;
       //digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state&lt;br /&gt;
&lt;br /&gt;
     //  if(takeLowTime){&lt;br /&gt;
       // lowIn = millis();          //save the time of the transition from high to LOW&lt;br /&gt;
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase&lt;br /&gt;
        //}&lt;br /&gt;
       //if the sensor is low for more than the given pause, &lt;br /&gt;
       //we assume that no more motion is going to happen&lt;br /&gt;
      /* if(!lockLow &amp;amp;&amp;amp; millis() - lowIn &amp;gt; pause){  &lt;br /&gt;
           //makes sure this block of code is only executed again after &lt;br /&gt;
           //a new motion sequence has been detected&lt;br /&gt;
           lockLow = true;                        &lt;br /&gt;
           Serial.print(&amp;quot;motion ended at &amp;quot;);      //output&lt;br /&gt;
           Serial.print((millis() - pause)/1000);&lt;br /&gt;
           Serial.println(&amp;quot; sec&amp;quot;);&lt;br /&gt;
           delay(50);&lt;br /&gt;
           }*/&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
  return takeLowTime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void turnOnLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,HIGH);&lt;br /&gt;
}&lt;br /&gt;
void turnOffLED()&lt;br /&gt;
{&lt;br /&gt;
	digitalWrite(LED,LOW);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Étape 5 : Assemblage du boitier'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Remi</name></author>
		
	</entry>
</feed>