Skip to content

Avancements de la mesure du poids

Après avoir acheté un potentiomètre, les tests de mesure du poids ont pu commencer.

Chronologiquement, la balance est passée par différents stades :

- balance originale avec le potentiomètre

- balance originale avec le potentiomètre actionné quand on s’enlève de la balance

- balance avec ressort changé

Balance originale avec potentiomètre

Dès les premiers essais, nous nous sommes rendus compte d’un problème de taille : le couple exercé par  la balance sur le potentiomètre est insuffisant pour le faire tourner. Il est dès lors impossible d’utiliser le système en l’état.

Balance "inversée"

Par contre, en descendant de la balance, le couple exercé est suffisant pour entraîner le potentiomètre !

Ainsi, nous avons essayé d’utiliser la balance de cette façon : l’utilisateur monte dessus, installe le potentiomètre puis descend.

Cependant, c’est très peu ergonomique et pas très fiable (il faut chaque fois démonter le potentiomètre).

Balance avec un nouveau ressort

Nous pensions initialement que le ressort présent dans la balance servait à remettre la balance à zéro quand l’utilisateur descend. En l’enlevant, nous avons remarqué qu’il sert en fait à faire tourner l’aiguille quand l’utilisateur monte sur la balance.

Dès lors, nous avons simplement changé le ressort, et le couple est maintenant suffisant pour actionner le potentiomètre !

Après avoir assemblé un petit module à base de pince à linge et vérifié que tout fonctionne correctement, il reste maintenant à étalonner le tout.

 

 

Programmation du LCD

Afin de permettre à l’utilisateur de voir les résultats des différentes mesures, sans que ce dernier ait besoin de connecter l’Arduino à un ordinateur, un affichage des mesures par écran LCD à été mis en place.

Pour l’instant, le code n’est capable que de faire certaines mesures, du fait qu’il est encore nécessaire de "jouer" avec la balance pour pouvoir extraire les données vers l’Arduino. Tout de même l’utilisateur est déjà capable de sélectionner son nom parmi une liste de 4 personnes (qu’il faut ajouter manuellement dans le code). Une fois qu’il a fait cela, un deuxième menu apparaît dans lequel il peut choisir un test qu’il désire effectuer. Il a le choix entre faire un test complet (Taille, Poids, BMI, Température), il peut également opter pour calculer son BMI uniquement ou bien s’il le désire les différents Tests un par un. Une fois le test fait, les résultats seront affichés dans un troisième "menu". Les tests qui n’ont pas été faits affichent simplement 0 comme résultat.

Pour parcourir les différents menus, l’utilisateur dispose des touches DOWN et UP de l’écran LCD. Le bouton LEFT permet de revenir en arrière tandis que le bouton SELECT permet de choisir une option. La touche RIGHT n’a pas encore été attribuée. Les Tests qui marchent sont : la taille et la température, dès que la balance est fonctionnelle  le programme sera également capable de déterminer le poids et de calculer le BMI la fonction calculant ce dernier étant déjà été implémentée .

Update : Voici des photos de l’interface LCD :

Menu du choix d'utilisateur

Menu du choix d’utilisateur

Sur cette image est représenté le menu dans lequel l’utilisateur peut choisir son Nom. Le Nom précédé par une flèche sera celui sélectionné en appuyant sur le bouton RIGHT.

Menu "Choix du Test"

Menu "Choix du Test"

Lorsqu’il a choisi son Nom, ce menu-ci apparaît et il pourra choisir le test. Finalement les résultats apparaissent comme représenté sur l’image ci dessous. Les tests n’ayant pas été faits apparaissent quand même mais leur résultat est nul.

Affichage des résultats

Affichage des résultats

Interface avec l’ordinateur

Depuis la dernière fois, toute l’interface avec l’ordinateur a bien évolué !

 

Son implantation peut se résumer en deux parties :

- l’interface Matlab qui affiche l’historique des mesures des différents utilisateurs

- Le rapatriement des données depuis l’Arduino vers l’ordinateur

 

Interface Matlab

La GUI (Graphical User Interface) est déjà fonctionnelle ! Elle a été implantée en Matlab, et se base sur des fichiers contenant les mesures des différents utilisateurs, qui auront été rapatriées depuis l’Arduino.

Voici à quoi elle ressemble pour le moment :

GUI

 

Transfert Arduino – Ordinateur

Le moyen de communication entre les deux est le port Serial. La communication n’étant pas aisée, plusieurs obstacles ont été rencontrés.

A l’heure actuelle, un script Python fonctionne et rapatrie le contenu de la mémoire EEPROM (*) sur l’ordinateur. Il ne reste plus qu’à l’analyser et formater le tout dans des fichiers, qui seront utilisés par la GUI.

Il reste à écrire dans la mémoire EEPROM des valeurs plausibles, afin de pouvoir réaliser des tests plus aboutis sur le transfert !

 

(*) : la mémoire EEPROM de l’Arduino possède 1024 bytes. Pour l’utiliser, il faut assigner un byte à chaque slot disponible.

Ainsi, pour gérer les données des utilisateurs, une possibilité est d’utiliser 2 bytes par mesure :

- 1er byte : stocke la personne et le type de mesure (taille, poids, température ou pouls).

ex : 23 (2e personne, 3e type de mesure)

- 2eme byte : stocke la mesure en elle-même (comme c’est un byte, elle peut aller de 0 à 255. Il suffit de créer une échelle pour chaque mesure afin de stocker ça le plus précisément possible)

 

 

Reprise du travail !

La période d’examens s’étant terminée, il est temps de se remettre au boulot. Voici ce qui nous attends: d’abord une liste des trucs à faire et   puis un planning provisoire dans lequel nous nous fixons les objectifs pour les différentes semaines.

Voyons donc ce qui nous reste encore à faire:

  1. La Balance:
    Les tests effectués avec la première balance n’ayant pas été concluant, une nouvelle balance à été récupérée. Il s’agit cette fois-ci d’une balance mécanique que nous espérons pouvoir utiliser avec l’Arduino par l’intermédiaire d’un potentiomètre qu’il faut encore choisir et commander. Nous espérons pouvoir le faire après la prochaine réunion.
  2. La Structure:
    Au premier quadri la nous  imaginé à quoi pouvait ressembler la centrale santé, il faut donc se décider décider définitivement où et comment nous allons placer les différents composants. Bien sûr, la structure doit également encore être construite.
  3. Pouls et Oxymétrie:
    Dans un premier temps nous allons nous pencher plus vers la réalisation du capteur de pouls. L’oxymétrie sera faite en fonction du temps qui nous reste à la fin.
  4. Ecran LCD:
    Afin que l’utilisateur puisse voir les données sans devoir connecter l’Arduino à un ordinateur, un écran LCD doit être connecté au microcontrôleur pour permettre la lecture des données sans PC.
  5. Programme PC :
    Un Programme PC qui permet de stocker les données des utilisateur sur un ordinateur, ainsi que de voir l’évolution des différents paramètres au cours du temps. L’Arduino sera capable de communiquer avec ce dernier et les données ainsi transmises pourront être sauvegardées sur un fichier.

Voici nos objectifs pour les différentes semaines:

3 premières semaines : balance et pouls

Semaine 4:

  • avoir terminé la balance et le pouls;
  • commencer LCD et structure générale;

Semaine 5:

  • Commencer rapport et tout assembler;
  • Alimentation et finition

Semaine 6:

  • Finition
  • Rapport
  • Présentation

Balance mécanique

Après les essais sur la balance numérique qui n’ont pas abouti, une balance mécanique a été récupérée !

Aucun frais n’est à ajouter à la liste, la balance ayant été trouvée dans une décharge…

 

L’idée est d’essayer de mesurer le poids en ajoutant un potentiomètre à la balance, au centre de rotation de l’aiguille.

Ceci dit, les essais ne commenceront qu’en février, après la session d’examens. Le groupe se concentre actuellement sur le rapport de mi-exercice.

 

balance mécanique

Test de la mesure de la taille

Notre module ultrason étant arrivée la semaine dernière, nous avons réalisé le montage afin de le pouvoir connecter à l’Arduino. Nous avons programmé ce dernier pour que la distance entre le capteur et un objet s’affiche à l’écran de l’ordinateur. Le montage réalisé est le suivant :

Montage du module ultrason

Montage du module ultrason

Après avoir programmé l’Arduino, des tests devaient être faits afin de déterminer la précision du capteur et de l’étalonner le cas échéant. Pour faire cela, nous avons mesuré la distance entre le capteur et un objet, une fois à l’aide d’un mètre et ensuite avec l’Arduino. Nous avons mesuré des distances allant de 10 cm à 90 cm, par pas de 5cm. En portant les données ainsi obtenues dans un fichier Excel, nous avons pu porter les mesures sur un graphique (abscisse : distance mesurée par l’Arduino; ordonnée : distance mesurées par le mètre). Le graphique que nous avons obtenu est le suivant:

etalonage

Graphique obtenu grâce à Excel

Pour finir, nous avons tracé une droite de régression et avons programmé l’Arduino pour qu’il affiche la nouvelle valeur. Après d’autres essais, la distance mesurée par l’Arduino divergeait de 0.7 cm au maximum de la valeur réelle.

Mesure du poids

Afin de mesurer le poids une balance à été achetée. Celle-ci contenait 4 capteurs piézoélectriques, nous avons branché ceux-ci en un pont de Wheatstone et nous avons regardé les valeurs renvoyées par les capteurs grâce à multimètre mais pour le moment aucun résultats probant n’a été obtenus. La valeur sans aucun poids sur la balance n’était pas stable et la variation lors de la mise de poids sur la balance n’était que très faible de l’ordre d’1 millivolts/40kg… Des photos du montage arriveront.

Schéma d’un pont de Wheatstone ( source : http://www.ni.com/white-paper/7138/fr)

Suivre

Recevez les nouvelles publications par mail.