Bonjour tout le monde ! Je vous retrouve
pour une nouvelle saison d'À vous la science,
avec au programme une nouvelle vidéo
chaque premier vendredi du mois.
Et ça tombe bien, parce que j'ai plein
de nouveaux projets à vous présenter !
Et on commence aujourd'hui avec un ancien bricolage
que j'ai amélioré : la basket qui compte les pas !
À l'origine, j'ai réalisé ce petit projet
pour m'occuper pendant le confinement
à cause du Coronavirus.
Il est vraiment très simple : la basket
est équipée d'une Arduino nano,
reliée à un accéléromètre. C'est lui qui détecte
les impulsions données à chaque pas.
J'en ai fait une courte vidéo de trois minutes,
et je ne pensais pas vraiment y retoucher.
Mais vos commentaires
m'ont donné envie de l'améliorer !
Et j'ai aussi reçu l'aide de Cassou, fidèle tipeur,
qui m'a envoyé un petit quelque chose
qui me sera très utile !
Vous avez hâte de voir ça ?
Alors allons-y !
Quand j'ai dit « amélioré, » il fallait plutôt
comprendre « repris de zéro. »
En effet, un des inconvénients majeur du bricolage
est que je ne vois pas en temps réel
le nombre de pas effectués.
Je ne peux voir que le total, et je dois avoir
un ordinateur pour ça.
L'autre, c'est la LED de débogage, qui clignote
pour signaler un pas.
Pas très pratique de regarder ses pieds
quand on marche.
Je vais vous épargner la vue de mes pieds
pendant dix minutes.
Donc, pour pallier tout ça, je souhaite afficher
le nombre de pas sur mon téléphone.
Plus facile à dire qu'à faire, et même impossible
avec une Arduino nano.
Il a fallu que je me retrousse les manches !
Déjà, j'ai changé de carte électronique :
j'ai choisi une Arduino MKR1000.
Pourquoi ? Parce qu'elle possède une puce WiFi.
Et voilà mon plan : je connecte l'Arduino en WiFi
sur mon téléphone,
transformé en point d'accès pour l'occasion.
La carte et le smartphone
établissent une liaison permanente,
à l'aide de Websockets, qui va permettre
à la carte d'envoyer le nombre total de pas
à chaque fois qu'un nouveau pas est détecté.
Inversement, le téléphone peut aussi envoyer
des commandes à l'Arduino,
pour par exemple remettre à zéro le total.
Comme je n'avais pas envie de me prendre la tête
à programmer une application complète pour Android,
c'est une simple page web enregistrée en local
sur l'appareil,
avec la mise en forme et le javascript qui vont bien,
qui fait office d'interface.
Du côté de l'accéléromètre,
pas grand chose ne change,
mais j'ai quand même dû refaire les soudures,
parce que la position des broches
sur la carte n'est pas la même
que sur l'Arduino nano.
En fait, ce qui m'a pris le plus de temps,
c'est la programmation des Websockets.
Mais le défi est relevé !
D'habitude, je vous fais une présentation
de mes projets une fois terminés.
Et ça donne lieu à des tests
en amont de la vidéo, que je ne filme pas,
et c'est bien dommage.
Mais là, j'ai décidé de faire autrement :
on va déboguer le prototype ensemble !
Alors certes, j'ai fait une bonne partie du boulot
avant de tourner,
mais je n'ai pas testé grand chose.
Et notamment, dans la précédente version,
je vous expliquais
qu'on comptait les impulsions en double
à chaque pas.
À chaque pas, l'accéléromètre détecte en fait
deux impulsions :
une première quand le talon touche le sol,
et une seconde
quand l'avant de la chaussure
touche à son tour le sol.
Ce à quoi Rémi m'a répondu, avec justesse,
dans les commentaires :
« Pas bête le coup de mesurer
les 2 chocs pour un pied,
par contre je me demande si c'est bien fiable
tout le temps !
Notamment en courant :-) »
Alors rappelez-vous, dans le prototype précédent,
je devais rentrer au labo
pour extraire de l'Arduino
le nombre total de pas comptés.
Mais là, maintenant, comme ça s'affiche
en direct sur mon téléphone,
je vais pouvoir vérifier ça. Allons-y !
Premier essai ! On commence par marcher.
Cinq, six, sept, huit, neuf... Dix...
Dix pas, et il m'en affiche quatorze.
Un peu de filtrage me semble en effet nécessaire.
Rémi, tu sembles avoir raison.
On va vérifier en courant.
Pour la course, j'ai très peur, parce que
vous voyez,
l'alimentation, c'est une batterie USB
qui dépasse de la chaussure... Super !
Allez ! Maintenant, on court !
J'ai couru huit pas, normalement.
Il m'en affiche neuf.
Ouais, c'est un petit peu mieux.
Mais manifestement,
il y a toujours un petit soucis.
Petit soucis de filtrage, je pense. On va retourner
au labo, pour améliorer le prototype,
et essayer aussi de corriger cette histoire
de batterie USB qui dépasse de ma chaussure.
C'est assez pénible !
J'ai envie d'essayer plusieurs choses !
Déjà, du filtrage. Mais aussi de faire varier
les paramètres de détection de l'accéléromètre.
Pour ça, j'ai rajouté trois zones de texte
à mon interface.
Les deux premières concernent
le seuil de détection
et la durée d'une impulsion.
Et la troisième, c'est la constante de temps
de mon filtre.
Le principe est le suivant : lorsque je détecte
une impulsion,
je considère que, pendant les x millisecondes
qui vont suivre,
les autres impulsions détectées seront
des fausses mesures, et je les ignore.
Pour faire ça, il m'a fallu modifier
légèrement le code dans l'Arduino.
Et aussi celui de la page web
dans le téléphone, bien sûr.
Mais après quelques heures
de tests préliminaires, tout est prêt !
Au passage, j'ai ressorti
la bonne vieille pile 9V des familles,
celle que je peux caser à côté de mon pied
dans la chaussure, pour alimenter le montage.
Mais comme la carte ne supporte que du 5V,
j'ai entrepris de récupérer le régulateur 5V
de mon Arduino Uno
qui avait fini dans la mer, souvenez-vous.
Car bizarrement, celui-ci fonctionne encore !
Et le tour est joué !
Et avant de partir tester tout ça sur le terrain,
il est plus que temps de vous présenter
le petit quelque chose envoyé par l'ami Cassou !
Il s'agit d'une montre connectée, qui mesure
plein de paramètres différents,
dont, ce qui tombe bien et c'est ce qui
m'intéresse, le nombre de pas.
Un grand merci à toi, Cassou, et si vous aussi,
vous voulez me soutenir dans ces vidéos,
n'hésitez pas à me rejoindre sur Tipeee.
Le lien se trouve en description de la vidéo.
Je vais refaire la même expérience que précédemment,
c'est-à-dire marcher ou courir quelques pas,
et voir ce que ça donne. Ensuite, en fonction,
j'ajusterai les réglages
jusqu'à otenir un résultat correct.
On va essayer de marcher un peu.
1, 2, 3, 4, 5, 6, 7, 8...
Dix-huit pas. Non, ça ne va pas.
Ça ne va pas du tout.
En fait, j'ai modifié le code, et maintenant,
il me compte beaucoup plus d'impulsions.
Donc, on va essayer d'ajuster un peu les réglages.
Déjà, je vais augmenter la sensibilité.
Vous allez voir ce que ça donne.
Ça va être impressionnant.
Allez, on va mettre vingt.
Vingt. Valider.
Voilà, ça a été pris en compte.
Alors maintenant, je remets à zéro.
Vous allez voir... Attention, c'est parti.
Voilà. C'est beaucoup trop sensible,
on le voit bien.
J'ai fait à peu près dix pas,
et il m'en compte cinquante-huit !
Vous voyez qu'il y a un soucis.
Donc on va aller dans l'autre sens : on va plutôt
diminuer la sensibilité.
On va essayer avec soixante-dix, par exemple.
Voilà... 1, 2, 3, 4, 5, 6, 7, 8...
Euh, c'est moins pire, il m'en affiche seize.
Donc c'est le double, ça ne va pas encore.
Ce qu'on va essayer d'ajuster maintenant,
c'est la constante de temps du filtrage.
C'est en millisecondes. Là, elle est réglée sur zéro,
c'est-à-dire que c'est désactivé.
Mais si je mets, par exemple, une seconde,
vous allez voir, ce ne sera plus du tout la même.
Attention, remise à zéro. C'est parti !
Un, deux, trois, quatre,
cinq, six, sept, huit...
C'est pas mal du tout.
Alors, j'obtiens quatre pas.
Pourquoi ? Parce que je ne compte
que les pas du pied droit.
Et là, cette fois-ci,
je ne les compte plus en double !
Preuve que le filtrage fonctionne plutôt
pas trop mal !
On va essayer en courant, pour voir.
1, 2, 3, 4, 5, 6, 7, 8...
Huit, et il ne m'en affiche que deux.
Manifestement, le filtrage est trop élevé
pour la course.
On va diminuer de moitié,
on va essayer 500 millisecondes.
Un, deux, trois, quatre.
J'ai fait quatre foulées, c'est-à-dire huit pas.
On obtient bien quatre sur le compteur.
Euh, ça me semble pas mal. On va refaire
un essai en marchant, cette fois-ci.
Un, deux, trois, quatre,
cinq, six, sept, huit... Euh...
Huit pas, il m'en affiche six. Manifestement,
on a encore quelques fausses mesures.
J'aurais dû obtenir quatre. Rappelez-vous,
on ne compte que les pas du pied droit.
Donc là... Je suis à zéro. J'ai mis 80
pour le seuil de détection,
120 pour la durée d'impulsion et 700 millisecondes
de constante de filtrage.
Attention, c'est parti. Marchons.
1, 2, 3, 4, 5, 6, 7, 8.
C'est bon, il m'en compte quatre. C'est parfait.
Ça me va.
Allez, on essaie en courant.
1, 2, 3, 4, 5, 6, 7...
J'ai fait sept pas, il m'en affiche trois.
Et bien c'est pas mal du tout.
Je pense que je vais garder ces réglages-là,
ça me semble correct.
Ce qu'on va faire maintenant, on va utiliser
cet objet, cette jolie montre connectée
envoyée par Cassou, comme je l'ai dit.
On va aller faire une petite balade un peu longue,
et on va comparer ce que donnent les deux.
Je suis sur la commune de Daoulas. J'ai déjà commencé
mon petit tour sur le sentier côtier,
pour tester mon dispositif. Il est au pied là,
et il est déjà en route.
Au poignet, j'ai la montre de Cassou, qui fonctionne
elle aussi. Alors je l'ai testée un petit peu
avant de faire cette balade. Alors, elle n'est pas
forcément extrêmement précise.
Par exemple, j'ai mesuré mes pas dans un couloir.
37 pas, et elle m'en compte 41.
Et aussi, je l'ai testée un peu au boulot. Étant
assis pendant deux heures, mettons,
au bout du compte, j'avais affiché sur la montre
21 pas. Donc...
Donc voilà, il y a quelques petits ratés.
Mais globalement,
je pense que ça devrait assez bien fonctionner.
Et bien, on va poursuivre la balade,
et on va voir ce que ça donne !
Alors, en parlant de la montre, justement,
je n'ai pas trouvé comment on faisait
pour remettre à zéro le compte de pas.
Donc, au début, elle affichait 3500.
Je les déduirai bien sûr à la fin. Sinon
on pourra se dire qu'il y a une petite erreur...
L'heure du verdict a sonné :
1212 pas pour mon bricolage.
Voyons voir ce que dit la montre.
La montre affiche 4715 pas.
4715 auxquels il faut retrancher les 3500 du début.
Donc ça fait 1715... 1215 !
Hey ! Et bien franchement c'est pas mal !
1215 pas, me dit la montre,
pour 1212, d'après mon bricolage.
C'est vraiment très proche, je ne pensais pas
avoir un résultat aussi cohérent.
Trois pas d'écart, franchement, c'est très minime.
Cassou, si jamais un jour tu peux me dire
comment fonctionne cette montre,
comment elle mesure le nombre de pas,
si c'est les mouvements de balancier du bras,
ou alors si c'est un accéléromètre, ou alors
je ne sais pas quoi, en fait,
je n'en ai aucune idée, voilà, ça m'intéresse.
J'espère que cette vidéo, quand à elle,
vous aura intéressé.
Je vous donne rendez-vous très vite
pour de nouveaux projets.
N'hésitez pas à me suivre sur Facebook
ou Twitter pour en savoir plus.
Abonnez vous, bien sûr, pour ne pas manquer
la prochaine vidéo
qui arrivera le premier vendredi du mois
d'octobre. À très vite !
