Capteur d'accélération connecté

De Wiki d'activités IMA

Cahier des charges

Présentation générale du projet

Contexte & Objectif

Dans le cadre de l'IoT (Internet of Things), nous avons choisi de réaliser un capteur d'accélération avec indicateur led. Les données seront enregistrées et envoyées sur smartphone en bluetooth.


Description du Projet

L'idée est d'acquérir des données sur l'accélération d'une personne ou d'un objet, et d'en recevoir un compte rendu sur son smartphone.


Dans le cas d'un sportif, pour un footing par exemple :

On place le module sur le torse, et des leds indiqueront par code couleur si l'accélération est bien nulle, donc vitesse constante, ou si le coureur est irrégulier.


Dans le cas d'un automobiliste :

On place le module sur le tableau de bord, les leds indiquent par code couleur si on accélère ou freine trop fort. Avec le compte rendu envoyé sur smartphone, on est en mesure de comparer plusieurs trajets effectués, et d'améliorer sa conduite. C'est le principe des derniers contrats d'assurance auto proposés.


On réalisera un boitier en imprimante 3D pour la portabilité. Il faudra trouver une solution pour "séparer" les bandes leds du module pour le coureur. En effet, l'accéléromètre ne peut pas être placé sur le bras à cause de l'effet balancier qui fausserait les mesures.


Matériel & Logiciel

Matériels reçus
Microcontrôleur : RFduino
Capteur : accéléromètre : 10 DOF
2 bandes de 8 leds
Bouton poussoir
Breadboard
2 piles de 1.5V

Le programme sera dans un premier temps effectué sur l'IDE Arduino, puis retranscrit en C si un gain de consommation s'avère possible.

Aperçu de l'objet connecté

Aperçu_objet_connecté.jpg

Travail réalisé

  Recherche d'informations et librairies des composants tels que RFDuino.


Le projet se décompose en 3 parties principales :

  • Récupération des données de l'accélèromètre

Pour cette partie, nous avons réalisé un code sur l'IDE Arduino qui permet dans un premier temps de lire les données de l'accélération et de les afficher sur le moniteur série. L'accélèromètre utilisé est un 10 DOF (Adafruit) , alimenté en 3,3V et capable d'être interfaçer avec la RFDuino via une communication série I2C. Nous avons également connecter une bande LED, indicateur de variations de l'accélération par rapport au seuil fixé. Par exemple, si l'utilisateur dépasse un certain seuil, un nombre X de leds s'allument (vert,jaune,rouge).

Résultats

  • Stockage des données sur une carte SD

L'idée de départ était de stocker les données reçues sur une carte SD. Malheureusement, la librairie RFDuino est une ancienne version et ne peut donc pas autoriser l'écriture dans un fichier.

  • Envoi des données par communication Bluetooth

L'avantage des modules RFDuino est qu'ils intégrent une communication sans fil. Nous avons donc édité notre code afin de pouvoir établir une communication BLE (librairie RFDuino).


 Prise en main du logiciel "MIT App Inventor" et réalisation de l'application Android

Lors de la dernière séance, nous avons commencé à développer l'application. Au début, nous comptions le faire sur Android Studio; vu le nombre d'heures qui nous restait, nous avons donc décidé de le faire sur "MIT App Inventor"

Découpage interface de l'application :

L'appui sur le :

  • "Bouton Scan" : scanne tous les appareils disponibles
  • "Bouton Disconnect" : déconnecte le Bluetooth du smartphone
  • "Bouton Available devices" : affiche les appareils activés

On peut aussi fixer la "valeur de sensibilité" suivant l'axe du mouvement.

  • "Download results" : affiche les valeurs envoyées par l'accéléromètre

ApplicationBLE.jpg


  *Réalisation du boîtier à l'aide d'une imprimante 3D et finalisation du projet.
Boitierboitier.jpg
Impression3D_boitier.jpg



  * Réalisation du poster
PosterIoT.png

Tests effectués le 20/01/2017 matin en circulation (vidéo)