Brosse à dents intelligente

De Wiki de Projets IMA
Révision datée du 21 janvier 2016 à 07:41 par Ctiraby (discussion | contributions) (Cahier des charges)

Cahier des charges

Présentation générale du projet

Le but du projet est de réaliser une brosse à dents intelligente en relation avec le module Internet des Objets.

Contexte

Aujourd'hui les objets connectés sont de plus en plus présents dans la vie quotidienne car ils sont très utiles. La recherche d'un mode de vie sain et d'une bonne santé générale est l'un des objectifs principaux de nombreuses personnes. Ainsi réaliser une brosse à dents connectée contribuera à répondre à ces besoins, notamment au niveau de la santé.

Description du projet

Notre brosse à dents connectée devra : 
- Pouvoir prévenir l'utilisateur qu'il a atteint la durée optimum de brossage (avec des vibrations ou du son)
- Détecter la fréquence des mouvements de brossage ainsi que l'inclinaison
- Perspectives d’économie d’énergie : s'allumer uniquement au début du brossage. 
- Réaliser un boîtier qui puisse se plugger sur n'importe quelle brosse à dents.  

Choix techniques : matériel et logiciel

- Un microcontrôleur
- Un accéléromètre
- Un haut parleur

Étapes du projet

Étape 1 : Choix du matériel (OpenMote, Buzzer, Accéléromètre) 
Étape 2 : Prise en main du matériel (Build et Upload)
Étape 3 : Réalisation d'un premier code 
Étape 4 : Réalisation du PCB (carte électronique) permettant l'application
Étape 5 : Finalisation du code et soudage des composants
Étape 6 : Optimisation de la consommation, interface graphique et réalisation du boîtier 
Étape 7 : Tests et préparation de la soutenance

Suivi de l'avancement du projet

Séance 1

  • Présentation et explications du module
  • Choix du sujet au cours de la séance : la brosse à dents connectée
  • Choix du matériel entre un Arduino Nano et un OpenMote => nous avons choisi l'OpenMote possédant un accéléromètre et un module CC2538 intégré qui permet la communication entre l'OpenMote et l'interface Web
  • Prise en main de l'OpenMote
  • Début de conception du PCB qui permet de connecter l'OpenMote au buzzer et à la LED


Séance 2

  • Upload des programmes de base sur l'OpenMote :

Téléchargement d'un fichier zip qui contient les librairies de l'OpenMote

Copie du firmware de l'OpenMote :

git clone --recursive https://github.com/OpenMote/firmware.git OpenMote/firmware

Commandes supplémentaires se trouvant sur le site de M. Vantroys :

cd OpenMote/firmware/platform/cc2538/libcc2538
make
cp libcc2538 ..
cd ../../../test            // répertoire OpenMote/firmware/test
chmod u+x tests-projetcts.sh
./tests-projects.sh

Puis nous testons le programme permettant de faire clignoter les LEDs :

OpenMote/firmware/projects/test-leds/src
make TARGET=cc2538 all BOARD=openmote-cc2538 all

Flash du programme sur l'OpenMote :

make TARGET=cc2538 all BOARD=openmote-cc2538 bsl
  • Finalisation du PCB :

PCB IOT V1.PNG


Séance 3

  • La carte a été réalisée par M. Flamen
  • Tests séparés pour recevoir les données de l'accéléromètre, commander la LED et le buzzer
  • Réalisation d'un programme général regroupant les éléments ci-dessus
  • Problème avec le scheduler qui coupait le timer => retrait du scheduler et mise en place d'un seul timer
  • Cependant, le problème concernant l'upload persiste et comme il est pour le moment impossible de les "reflasher", cela nous empêche de tester correctement notre programme


Séance 4

  • Changement de matériel : nous avons décidé de travailler sur l'Arduino Nano étant donnés les soucis que nous avons avec l'OpenMote
  • Réalisation du programme général
  • Tests pour allumer la LED, le buzzer et recevoir les données de l'accéléromètre => fonctionnels
  • Conception du PCB :

PCB IOT V2.PNG


Séance 5

  • Récupération du PCB et soudage des composants (arduino, buzzer, accéléromètre, LED)

Carte Face IOT.JPG


  • Tests pour valider le bon fonctionnement de la carte.
  • Nous avons essayé d'implanter un code permettant l'économie d’énergie et d’effectuer les tests correspondants. Un watchdog a été mis en place dans le code et cela permet de réaliser une économie de consommation d'environ 10mA. Le programme se réveille toutes les 4 secondes pour lire les données de l’accéléromètre et savoir si l'utilisateur a commencé à se brosser les dents. Malgré tout, le programme principal ne réalisait plus ces économies d'énergie à partir d'un certain moment, nous pensons notamment que cela est du à l'appareil de test.
  • Réalisation du A3.
  • Répétition de la soutenance.
  • Réalisation du boîtier avec l'imprimante 3D :

Boitier TT.JPG