Le tracker d’activité fait maison [traduction]


RetroBand_3d_printed1-679x320

C’est sur le site http://www.hardcopyworld.com/ngine/aduino/index.php/archives/975  que l’on peut trouver le tuto pour créer soit même son tracker d’activité qui se couple via bluetooth à son smartphone sous android et qui est géré par une application faite elle aussi maison !

C’est du beau boulot, je vous laisse lire la trad en français avec quelques commentaires persos pour les personnes allergiques à la langue de shakespeare ci-dessous 🙂 :

La Retroband est un projet de Arduino à porter « Arduino Wearable » pour les fashions ;).  On appelle généralement, les trackers d’activité des « smartbands » mais en réalité, il ne s’agit le plus souvent que de simples capteurs qui traduisent un activité physique.  La chose la plus importante est la connection du tracker d’activité en bluetooth avec un smatphone qui permet de tracker l’activité quotidienne de l’utilisateur.

La Retroband qui fonctionne sous arduino ne contient qu’un capteur, un accéléromètre qui transmet les informations d’activités au smartphone. Ensuite, c’est le smartphone qui calcule les calories brulées et les pas en convertissant les données envoyées par le couple Arduino, accéléromètre et le module bluetooth. L’ensemble est plutôt simple ce qui permet de le faire soit même.

L’application android vérifie les pas et collecte les données de la Retroband. L’Algorithme de l’app n’est pas compliqué. Si vous êtes expérimenté dans le développement d’app android, vous pouvez facilement créer votre propre algorithme. L’application sauvegarde les calories brulées et vous pouvez donc suivre vos progrès de façon journalière, par mois ou par heure sous la forme d’un graphique.

Pour info, la Retroband ne peut pas sauvegarder les données car la capacité de la mémoire de l’Arduino est très limitée. Cela veut dire que la Retroband ne peut pas fonctionner seule, il faut impérativement qu’elle soit connectée à un smartphone. Si l’Arduino avait plus de capacité mémoire, il pourrait être ainsi autonome dans ce cas (peut être une évolution à l’avenir est possible 🙂

 

1. Le Mécanisme

La Retroband consiste à coupler un arduino et une app android.

Le Arduino a 4 parties principales – une board arduino, un accéléromètre (MPU-6050), un module bluetooth (HC-06) et une batterie Lipo.

L’application android contient 4 parties principales – L’android UI, la gestion du bluetooth, l’algorithme de section et le client en background.

Dès l’allumage de l’arduino, l’appairage est automatique avec l’app de la Retroband et l’ Arduino envoie les données de l’accéléromètre 20 fois par seconde et le transfère au mobile une fois par seconde. L’accéléromètre mesure les axes x, y et z ce qui représente l’envoi de 60 valeurs (20 x 3 axes) au téléphone.

L’Application android reçoit les données pendant 2 secondes et il identifie l’intervalle sur lequel le mouvement de l’utilisateur a bougé le plus. Dès que le nombre de mouvement de l’utilisateur augmente alors un pas est compté. L’application calcule le nombre de calories brulées en fonction de son poids, du nombre de pas et de la somme de l’activité enregistrée durant les mois, les jours et les heures.

 

 

2 Préparation

Pour la fabrication de la Retroband, il vous faut :

  • Un Arduino Pro mini 3.3v
  • Un Accelerometre +capteur Gyroscopique (MPU-6050)
  • Un module Bluetooth (HC-06)
  • Un convertisseur USB vers UART (FTDI) – pour programmer le arduino mini pro (un arduino standard peut aussi faire l’affaire)

 

2-1 Le bracelet (le matériel)

2-1-1 Arduino

arduino pro mini

On utilise un Arduino mini pro 3,3 v (ATmega328).  Cette board est idéale pour les projets qui fonctionnent avec une batterie lipo de 3,7 volts et sa petite taille permet de l’intégrer facilement.  Si vous n’avez pas d’obligation de taille, un arduino Nano est parfait pour faire des tests ou une Retroband plus grosse.

Le Arduino pro minio est cadencé à 8 Mhz dans sa version 3,3 v et a 16 MHz pour la version 5 v, mais dans le cas de la Retroband 8 MHz est suffisant.Pour uploader le code dans la board arduino, il faut un module USB vers UART (FTDI), sinon si vous avez un arduino uno vous pouvez vous en servir pour uploader le code sur le Arduino mini.

 

2-1-2. Bluetooth

Les modules bluetooth les plus répandus sont les HC-06 dont un avec une interface intégré à la board. Celle avec l’interface intégrée a un bouton reset et une led qui indique l’activité du module. Celle-ci supporte une alimentation en 3,3 volts et en 5 volts. Cette board est pratique mais dans notre cas, elle est trop grande et la led consomme l’énergie de la batterie. C’est pourquoi la version sans interface a été choisi pour sa taille et sa consommation. La board avec interface est intéressante pour la partie test et pour découvrir les modules Bluetooth.

Bluetooth module

2-1-3. Accéléromètre

L’Accéléromètre utilisé est un MPU-6050(6 DOF) accéléromètre + capteur gyroscopique. Si vous disposé déjà d’un accéléromètre, vous pouvez utiliser le votre, mais dans ce cas, vous devez changez le code source de la Retroband .

 

9c2cb

2-1-4. La batterie

Une batterie Li-po de une cellule a été utilisée avec un voltage de 3,7 volts. Cette batterie est idéale pour alimenter les projets arduino mini 3.3 v. En plus celle-ci est compacte et légère. Pour le choix de la batterie, il faut impérativement un circuit de contrôle de charge intégré pour éviter les mauvaises surprise du lipo ;).

battery

Il est possible de rajouter un module de charge micro USB dans la Retroband pour faciliter la recharge.

 

2-1-5. Etc.

Vous aurez besoin de cable, d’un fer à souder, d’étaing, d’un interrupteur on/off et d’un jack batterie pour assembler le tout.

 

2-2. Pour Android

The Android app for RetroBand is compatible with over Android 4.0

If you are using under Android 4.0 version or an iPhone…sorry, I don’t have any iOS devices and Mac, so I couldn’t make it.

 

 

3. L’assemblage

La photo si-dessous montre le montage de la Retroband sans la batterie car l’usb permet d’alimenter le système avant l’assemblage final.

SmartBand_modules_2_medium

 

3-1. La connexion du module bluetooth à l’Arduino

Si vous voulez tester et comprendre comment connecter le module bluetooth au arduino, vous pouvez aller sur le lien ici (Attention tuto anglais). Il suffit juste de connecter les ports VCC, GND, TXD, RXD au module en suivant les instructions (VCC->3.3v, GND->GND, TX->D2, RX->D3). Attention, le module bluetooth ne fonctionnera pas si il est en interférence avec les autres parties du projet. Soudez délicatement le Arduino au module bluetooth et une fois le bluetooth testé et fonctionnel, il ne reste plus qu’a fixer le tout avec un pistocolle.

BT_pin

3-2. La connexion Arduino-Accélérometre (MPU-6050)

L’accéléromètre utilise une iterface I2C (ou TWI). Pour plus d’infos sur la techno I2C, allez voir ici (Attention explication en anglais).  Pas besoin de connaissances étendues sur la technologie I2C, il suffit de savoir que le module est alimenté via VCC(+), GND(-) et les données sont transférées via les ports SCL et SDA.

 

3-3. La connexion Arduino – USB au module UART

Pour uploader le code source sur le Arduino Mini 3,3v par USB, il faut un module UART (FTDI). Pour plus d’explications allez jeter un coup d’oeil [ici].

Attention !! : La façon de connecter l’USB vers UART dépend du modèle acheté et de la puce. Bien vérifier avant d’acheter.

3-4. 

La connexion Arduino – batterie

La connexion est très simple.  Connectez juste (+) -> RAW et (-) -> GND.Mais si vous voulez intégrer un module de chargement, vous pouvez ajouter un module de chargement lipo au montage. Dans ce cas, vous devrez connecter (+) et (-) à la batterie avec B+,B- sur le module de gestion de charge, et out+, out- sur le module RAW, GND de la board arduino.

3-5. Vérifier le montage

Si vous avez suivi les étapes précédentes, vous devez avoir un montage comme ci-dessous. Attention de ne pas connecter la batterie temps que le code n’est pas uploader via l’adaptateur USB et que celui ci soit débrancher de votre pc.  Une fois les test effectués, vous pouvez déconnecter le l’usb et connecter la batterie.

4. Le code source de la Retroband

Le code source pour le Arduino est disponible sur Github. cliquez sur le lien ci-dessous.

https://github.com/godstale/retroband

 

4-1. Compiler le code source sur l’Arduino

Il faut 3 librairies pour compiler le code du arduino :

math.h / Wire.h / SoftwareSerial.h

math.h  est utilisé pour les calculs, Wire.h est utilisé pour communiqué avec l’accéléromètre et SoftwareSerial.h est utilisé pour gérer la commumuniacation du module bluetooth. La plupart des soft arduino contiennent déjà ces librairies.

Au moment de compiler le code si tout est OK, c’est que les librairies sont déjà installées, sinon vous devrez les installer.

 

4-2. Uploader le code source Arduino

Avant d’uploader le code vers le Arduino, il faut presser le bouton reset afin de préparer l’Arduino à recevoir le code compilé. Si vous n’avez pas préssé le bouton reset, le message suivant peut apparaitre :

arvdud: stk500_getsync():not in sync: resp=0×00

Ce message apparait dans les cas suivants :

1. Vous avez sélectionné la mauvaise board Arduino IDE.
2. La connexion entre les ports TX, RX est mauvaise.
3. Le port série alloué aux ports TX,RX n’est pas correctement utilisé.
4. Le Bootloader de la board Arduino ne fonctionne pas.
5. Le module USB UART n’a pas été redémarré. l’auto reset ne fonctionne pas dans notre cas, d’où le reset manuel.

Cas 1, vous devez sélectionner la bonne board dans [tools > board] dans Arduino IDE, dans le cas 2, vous devez vérifier si les ports TX, RX sont correctement connectés. Dans le cas 3, déconnecté les ports D0 et D1 .

Dans le cas 5, vous devez presser le bouton reset avnt d’uploader le code.

Le cas 4 peut apparaitre de façon plus rare et dans ce cas, il faut bootloader le Arduino mini Pro 3,3 v avec un arduino uno mais ce process est un peu long à décrire voir les liens ci-dessous :

https://forum.sparkfun.com/viewtopic.php?f=32&t=27960

http://arduino.cc/en/Tutorial/ArduinoISP/

 

4-3. Debuggage

Il faut vérifier que tous les modules communiquent entre eux et qu’ils fonctionnent.

Il faut lancer le moniteur série sur le logiciel Arduino afin de vérifier si l’Accéléromètre fonctionne correctement (lancer le programme dès que le code source a bien été uploadé sur le Arduino). Si le code a bien été uploadé, vous devez voir les valeurs envoyé par l’accéléromètre sur le moniteur série. Si rien ne s’affiche, c’est qu’il y a un problème dans les branchements de l’accéléromètre.(Vous pouvez effacer le codee de debbuggage une fois les tests finis).

Maintenant, il faut vérifier la liaison bluetooth. la liaison bluetooth se fait facilement si le module est bien branché aux bornes VCC, GCN, ainsi le smartphone identifie immédiatement la Retroband. Si vous ne voyez rien sur votre smartphone, il faut vérifier l’alimentation du module bluetooth.

If you’ve done up to this part, it’s time to check the app.

# : Si vous ne recevez rien sur  l’app, il y a probablement un soucis sur les ports TX et RX. L’échange de données ne se fait pas entre l’arduino et le module bluetooth.

 

5. Installer et lancer l’app

C’est très long d’expliquer comment compiler une application android et de comment le modifier, donc pas plus d’explications sur cette partie. Mais vous pouvez télécharger l’ensemble du code source de l’application android de la Retroband sur GitHub, et vous pouvez le modifier et le redistribuer. Veillez juste à préserver les éléments de copyright. L’ensemble du code source est dans le dossier [RetroBand_Android\RetroBand].

L’application android est disponible sur le Playstore vous pouvez donc l’installer directement (rechercher ‘RetroBand’).

Plus d’infos sur Android v.4.0 : https://play.google.com/store/apps/details?id=com.hardcopy.retroband

Installez l’application Retroband, lancez-là et elle se synchronise avec la RetroBand et les données sont transmises au téléphone. L’application a 3 onglets :

  • Timeline : Récolte et cumule les données de calories brûlées par heure. Vous pouvez vérifier et tracker les calories brûlées.
  • Graph : Montre les données de l’accéléromètre sous la forme d’un graphique. Vous pouvez visualiser les valeurs des 3 axes.
  • Settings : Vous pouvez configurer l’app et entrer votre poids. D’autres choses à venir dans l’app.

Screenshot_2014-08-05-22-06-25_small Screenshot_2014-08-05-22-05-54_small Screenshot_2014-08-05-22-06-34_small

 

Les spécifications de la RetroBand:
– Processeur : ATmega328-3.3v(8MHz)
– 32KB Flash(2KB est partagé pour le Bootloader), 2KB RAM, 1KB EEPROM
– App exclusive Android (supporte à partir de la v.4.0).
– Calcule les calories en fonction du nombre de pas.
– Cumule les calories et montre les stats par heure/jour/mois.
– Contrôle en temps réel les données de  l’accéléromètre.
– Open source

Ci-dessous vous pouvez voir le 1er prototype qui combinait le Arduino + l’accélérometre + le module Bluetooth + le module de contrôle de charge + la batterie Li-Po +l’interrupteur. Le premier prototype est un peu bordelique mais il fonctionne parfaitement.

RetroBand_stacked

 

 

6. Le boitier

Si vous avez une imprimante 3D vous pouvez créer votre propre bracelet.

RetroBand_3d_printed

KakaoTalk_20140817_174811213 KakaoTalk_20140817_174811558

Prototype pour le test. (Arduino + l’accélérometre + le module Bluetooth + le module de contrôle de charge + la batterie Li-Po +l’interrupteur)

KakaoTalk_20140817_174808050

Arduino + l’accélérometre + le module Bluetooth + le module de contrôle de charge + la batterie Li-Po +l’interrupteur sur un circuit intégré fait maison.

KakaoTalk_20140817_174809402 KakaoTalk_20140817_174808413

 

 

7. Epilogue

La RetroBand est un second projet. Elle est plus simple que certains trackers disponible sur le marché mais ce projet peut être utilisé et intégré à d’autres projets.

C’est sûr que ce n’est pas une Apple Watch mais c’est open source, c’est beaucoup moins cher, c’est évolutif et c’est vous qui l’aurait fait 🙂 alors allez voir ce tuto de smart watch ‘Making a SmartWatch(RetroWatch).

C’est un projet complet est très bien documenté, j’espère que cette trad vous a plus 🙂

2014. 08. 01. GodsTale traduit en français par Lpxav

Publicité

2 réponses à “Le tracker d’activité fait maison [traduction]

  1. Salut,
    Sympa le tuto ( et la traduction biensur 🙂 )
    j’ai une question, dans quel magasin ou site achètes tu tes composants ?

    Merci !

    • Salut Pierre,

      Pour le matos, il te suffit d’aller sur ebay. Et recherche les composants suivant 🙂
      Un Arduino Pro mini 3.3v –
      Un Accelerometre +capteur Gyroscopique (MPU-6050) –
      Un module Bluetooth (HC-06) –
      Un convertisseur USB vers UART (FTDI)

      Tu trouveras l’ensemble sans problème !

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s