P8 Pilulier : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
− | <include nopre noesc src=" | + | <include nopre noesc src="" /> |
__TOC__ | __TOC__ | ||
<br style="clear: both;"> | <br style="clear: both;"> |
Version du 18 février 2015 à 13:12
ERROR in secure-include.php: /var/www/html/ima_projets/mediawiki-1.29.2 is not a child of any path in $wg_include_allowed_parent_paths.
Sommaire
Objectifs du projet
Création d'un pilulier automatique - En collaboration avec GAPAS
Cahier des charges du pilulier
Aprés rendez - vous avec M.Konrad de GAPAS nous avons élaboré un cahier des charges du projet.
GAPAS propose de créer un pilulier automatique où les médicaments sont accessibles seulement à l'heure de la prise afin d'éviter la sur-consommation.
De plus ce pilulier doit prévenir l'utilisateur et alerter un proche en cas de non-prise. A nous ensuite de choisir la forme et les différentes fonctionnalités du pilulier.
Diagramme pieuvre et solutions technologiques
Proposition de boîtiers
Moteur centrale
Le principe est d'avoir les 28 compartiment autour d'un moteur centrale . Un compartiement ouvert à la fois.
Avantages : Impossible de se tromper dans la prise du médicament Désavantages : consommation plus importante , durée de vie moyenne
Boitier matriciel - couvercle simple
Le principe est d'avoir les 28 compartiment dans une boite simple. Avec témoins lumineux pour savoir quelle case doit étre prise.
Avantages : durée de vie plus longue Désavantages : Tout les médicaments sont accessibles
Boitier matriciel - ouverture electro-aimants
Le principe est d'avoir les 28 compartiment dans une boite simple.
Avantages : Un compartiment s'ouvre à la fois et permet de prendre seulement les bons médicaments Désavantages : 28 electro-aimants , durée de vie faible
Planning prévisionnel
Journal de Bord
Début de projet
Semaine 1
- Prise de contact avec les responsables projets du coté gapas (en attente de réponse )
- Recherche sur les différents pilulier déjà existant
- Définition des besoins / début rédaction cahier des charges
Semaine 2
- Recherche sur les différentes technologie possible à implanter
- Brainstorming sur les différents modèles de pilulier réalisable dans le temps imparti
Semaine 3
Réponse de GAPAS - Prise de contact avec notre responsable de projet GAPAS.
Début des échanges concernant les spécifications et fonctionnalités indispensable au projet.
Fonctionnalités possible (nos idées) :
- Indique quel médicament prendre
- Alarme sonore, rappel prise médicament
- Contacte avec personne extérieur si non prise (objet connecté) Wifi / bluetooth / GSM
- Programmable via smartphone ou directement sur le pilulier
- Alimentation? pile/ batterie / induction?
- Mode test bon fonctionnement (lumière / alarme )
- Validation de la prise médicament : bouton?
Semaine 4
Semaine 4
- Création des use cases en vu d'un entretien avec gapas : 16h jeudi
- Nous envisageons de partir vers moteur centrale + 28 compartiments. Capteur infrarouge pour détecter prise de médoc + alarme sonore et lumineuse pour rappel. et enfin contact extérieur par SMS.
- Autre option possible : scanne médoc , écran + socle pilulier , a voir avec gapas quand prototype terminé
- Après rendez vous avec gapas nous avons pu élaborer un cahier des charges vraiment simpliste car nous avons libre choix sur le projet. Par contre ils nous ont imposés quelques contraintes : Pilulier absolument fermé, pas d'abonnement carte sim, pas de borne wifi. mais un accés cable éthernet.
Semaine 5
- Choix final sur le boitier 28 électro-aimants commandable pour ouverture de trappe. Médocs tombent dans "entonnoir"
ébauche :
- Recherche sur les technologies d'électro-aimant ou autre procédé permettant ouverture et la fermeture d'un clapet.
- Reception rasberry pi , documentation sur son fonctionnement.
- Prochain objectif : créer un prototype comprenant 1 compartiment seulement afin de tester toutes les fonctionnalités de base et faire une démonstration à GAPAS
Semaine 6
- Problème avec modèle précédent : 28 électro aimants = 28 sources de pannes . si pas de courant , 28 trappes ouvertes...
- recherche autre solution plus fiable , moins gourmande en énergie et consommateur d'IO
- Idée du disque tournant : pilulier cylindrique , un disque tournant troué permétant de faire tombé les médocs dans un compartiments accessible
ebauche :
La partie bleu est le disque troué tournant directement monté sur le moteur
- Autre prototype avec des godets détachable
- Modèle précédent correcte mais quelques inconvenants : les médocs sont directement sur un plateau tournant et retenu par le conpartiment dont risque de blocage du pilulier , effritage du médoc...
Nombreux avantages :
- bloc moteur séparé du plateau médoc
- plateau démontable
- gobelet lavable
- place pour l'electronique dans le boitier moteur
- couvercle facilement verrouillable à l'aide de loquet
Semaine 7
Semaine 7
- Système de godet correcte , mais on peut facilement les perdre , les bloquer ds le moteur ...
- Bloc moteur solidaire du bloc a médicaments, risque de mélange de fil , fil tournant ...
- Nouveau prototype et choix finale :
Choix des composants :
- Micro-processeur:
Si on veut embarquer un site web dans le pilulier ou encore gérer des stats du style :il a pris sa pilule une heure avant par rapport au mois dernier... alors le raspberry pi est définitivement le choix à faire.
Sinon si pilulier se limite à envoyer des mails alors l'arduino méga est plus simple et l'on a le compte au niveau de des IO, de plus toujours moyen de stocker des stats comme le pilulier est relié au réseau.
- un écran LCD 16*2 d'arduino semble suffisant afin d'afficher l'heure et programmer manuellement le pilulier.
- 4 boutons poussoirs pour programmer le pilulier ( + , - , suivant , menu ) / programmation du pilulier sur site web !
- 1 moteur pour faire tourner le plateau (dimensionnement du moteur à prévoir )
- 2 loquets commandables pour verrouiller le couvercle ou fermeture par clef sur le dessus
- un capteur infra-rouge ou inductif pour détecter la prise de médicament / passage de la main ds le compartiment de devant.
- Un capteur en dessous du plateau pour détecter le bon positionnement du plateau.
- quelques LEDs pour un rappel lumineux
Semaine 8-9
- Modélisation du pilulier sous Autodesk inventor
- Programmation arduino
- Documentation shield arduino ethernet / réflexion sur le travail à faire ( page web / historique / mail / programmation pilulier )
- Besoin d'un module RTC pour ne pas perdre la date. Une instruction comme millis() retourne le temps écoulé depuis le dernier démarrage de l'Arduino, mais sera réinitialisée dès le prochain démarrage. De plus, millis() atteint sa limite maximale (et retourne à zéro) au bout d'une cinquantaine de jours.
Semaine 10 - 11
- RDV avec GAPAS, validation du modèle , mise au point sur l'état d'avancement
- travail sur la page web de programmation du pilulier
- modélisation 3D
Janvier
Janvier
- écriture de la page html
- hébergement sur l'arduino en cours ( problème de carte SD)
- essai de programmation du moteur en attendant sa réception ...
Février
Février
- Toujours pas reçu nos pièces...
- Autres tests et essai de différente maniére de programmer l'heure de la prise de médicaments
- Découpage Laser au fablab pour fabrication pilulier
- En attendant les pièces nous avons choisi d'essayer de faire une sorte de server sur arduino même si celui ci n'est pas conçu pour cela.
Premier test : hébergement d'une page web gérant les alarmes et la programmation des horaires en l'hébergeant en local à l'aide de Wampserver.
Nous enregistrons dans un fichier texte les variables. Le problèmes étant de les transferer cers l'arduino.
Nous avons donc décidé de directement héberger notre code sur la carte SD de l'arduino, on arrive bien à accéder à notre page web stocké sur la carte SD depuis un navigateur web sur un pc en local. Mais l'enregistrement du formulaire dans un fichier texte ne fonctionne plus car l'arduino ne peut pas lire php
Nouvelle façon de faire : uploader un fichier texte de configuration a partir du site directement dans l'arduino.
- Essai d'envoi de mail à partir d'un code php, inpossible à lancer depuis l'arduino . Hébergement en localhost. Le code php fonctionne mais impossible de le lancer depuis l'arduino. Code ci-dessous:
Test hébergement sous SFR mais sfr n’autorise pas la fonction mail php. A voir avec FREE , ou modif du code pour fonctionner en localhost.
Réception du moteur et carte de commande: soudage de la carte commande. Quelques modifications du code arduino de ma partie commande. A faire cablage et test du moteur.
jeudi 12 : nous avons réussi à echanger des données et envoyer des mails avec du code php hébergé en localhost. c'était un pb d'ip fixe. aujourdhui : essai moteur / essai avec programmation par clavier au cas ou le réseau déconne.
lundi et mardi 18 : finition programme moteur + finition programme script php pour gestion des alarmes et mini base de données.
Regroupement de tout les morceaux de programme. Remplacement d'un capteur infrarouge de détection passage main par un capteur de lumière pour cause de non réception du matériel.
Exemple de la communication arduino pour l'envoi d'un mail / alarme :
coté arduino :
coté localhost php:
Démarrage des tests sur 2 jours après demain si tout va bien.