Visualiser tension issue Arduino sur ordinateur via Python
Chris3874 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'aurais 2 requêtes pour la communauté, merci par avance de votre aide...
1/ J'ai réalisé un circuit électronique avec Arduino permettant de visualiser la tension(fréquence cardiaque) en sortie d'un capteur cardio optique placé sur le poignet. Tout est réalisé et cable.
Malheureusement mes compétences informatiques sont limitées.
Je souhaiterais déterminer le code python pour visualiser cette tension variable entre 0 et 5V sur mon ordinateur afin de pouvoir l'exploiter par la suite car je n'ai pas d'oscillosope .
La fréquence principale du signal oscille entre 30 et 250Hz mais il y a pas mal de bruit...
Pour l'instant juste visualiser le signal serait génial et par la suite faire un filtrage numérique serait TOP.
Sauf que côté Python je suis loin d'être au point, j'adore l'électronique mais bcp moins l'information...
J'utilise Edupython comme interface .
2/ Je possède une montre connectée avec cardio fréquencemètre optique et une ceinture cardiaque.
L'idée étant de comparer les valeurs mesurees lors d'une course sachant qu'il y aura un écart important en phase de sprint, ceci a pour objectif de montrer les erreurs de mesure des montres connectées.
Le GROS problème est que j'utilise l'application Garmin Connect qui me trace mes courbes cardiaque automatiquement.
Moi je voudrais récupérer les données issues des 2 capteurs, retracer les courbes via Python et ensuite les comparer...
Encore faut-il pouvoir récupérer les donnés de la montre...et la je bloque !
Pour la montre connectée j'ai une fenix 7X, couplé à Garmin Connect, mais je n'arrive pas à récupérer les valeurs,juste les courbes toutes tracées,je sais que c'est possible car je l'ai déjà vu sur des sites de montres connectée...
Merci d'avance
Merci de votre aide
Chris
- Visualiser tension issue Arduino sur ordinateur via Python
- Ordinateur - Guide
- Ordinateur qui rame - Guide
- Réinitialiser ordinateur - Guide
- Clavier de l'ordinateur - Guide
- # Sur ordinateur - Guide
5 réponses
bonjour,
ceci t'aidera sans doute: https://forums.commentcamarche.net/forum/affich-37868551-affichage-tension-alternative-via-python-sur-ordinateur
Bonjour,
En présumant que ton capteur sort en analogique, le plus simple est d'entrer dans le pc par le jack "Microphone", avec adaptation d'impédance en fonction du niveau.
Si c'est du numérique, le plus simple c'est la liaison série (port COM)
Tu a aussi la communication par UART
Alors voir là-->: https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing
Ton problème, ce n'est pas le code (puisqu'il t'a été donné plus haut), c'est l'interfaçage
Malheureusement le code donné précédemment ne fonctionne pas, par contre je pense avoir respecté l'interface si j'en crois le lien fourni.
Et puis il y a la 2ème question avec la récupération des données issus de la montre et de la ceinture...
Je souhaiterais récupérer les valeurs et non le graphique tout fait...
Encore merci
Rebonjour à tous
Finalement j'ai réussi à récupérer les données ! Et donc répondre partiellement au 2/.
Sur une activité sportive intense qui dure 3 min , j'ai récupéré les valeurs de ma fréquence cardiaque relevées par ma montre toutes les secondes et aussi par la ceinture cardiaque.
J'ai une valeur chaque seconde pendant 180s.
J'ai pu récupérer ça sur un fichier Excel avec une colonne temps en seconde à gauche et fréquence cardiaque correspondante à droite en battement par min.
4 colonnes en tout puisqu'il y a la ceinture cardiaque à ajouter.
Ne connaissant pas Python j'aurais aimé un programme Python qui recupere les valeurs puis trace les graphiques.
Il y aura 2 graphiques à tracer sur le même graphe, celui issu de la montre connectée et celui issu de la ceinture cardiaque pour une comparaison graphique dans un premier temps puis ensuite l'ajout d'un 3eme graphique qui indiquera l'écart en pulsations ou en pourcentage...
Merci de votre aide
Bonjour,
Finalement j'ai réussi à récupérer les données ! Et donc répondre partiellement au 2/. [...] Ne connaissant pas Python j'aurais aimé un programme Python qui recupere les valeurs puis trace les graphiques.
Peut-être que si tu nous dis comment tu as procédé pour récupérer les données on pourrait reproduire cette approche en python (mais tu ne l'as pas partagée).
Concernant le tracé des points, l'approche naturelle en python consiste à utiliser matplotlib. Pour plus de détails il faudrait voir comment sont organisées tes données, mais dans l'idée, il faut construire pour un nuage de points deux vecteurs : les abscisses, et les ordonnées. Voici quelques exemples.
Bonne chance
Bonjour et merci, je ne maîtrise pas encore tous les codes du forum...
OK désolé je m'explique pour la récupération des données....
En fait c'est plutôt "bête " , il suffisait dans Garmin Connect de sélectionner l'activité recherchée puis cliquez sur la roue en haut à droite de la page.
Ensuite cliquez sur Exporter en GPX puis l'enregistrer.
Enfin ouvrir Excel, parcourir les documents sur l'ordinateur en indiquant "tout fichier ".
Le fichier GPX apparaît puis il suffit de l'ouvrir en indiquant "oui" à chaque question.
Et maintenant le doc Excel s'ouvre avec ttes les données de la course.
Chaque type de données appartenant à une colonne.
Ex : vous trouverez les colonnes "latitude", longitude....puis fréquence cardiaque, temps.
Ce sont ces 2 colonnes à sélectionner puisqu'elles contiennent les 2 données recherchées soit la fréquence cardiaque en fonction du temps de course.
Maintenant que ces 2 données sont accessibles comment les transférer sur python pour ensuite retracer les courbes ?
Pour terminer le lien apporte quelques informations mais dans cet exemple on trace par ex pour le premier une fonction sinusoïdale connaissant le champ des valeurs et la fonction.
Moi ce que recherche c'est le tracé uniquement à partir des 2 colonnes de valeurs sur Excel qui sont le temps et la fréquence cardiaque, il n'y a pas de fonction...
En espérant avoir été clair
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
De ce que je vois ici, il semble que Garmin Connect expose une API, c'est-à-dire une interface qu'un programme (éventuellement écrit en python) peut interroger.
On voit ici qu'un module python a été spécifiquement développé à ces fins (en bas de page, tu as un exemple assez complet qui montre comment l'utiliser). Tu peux aussi regarder cet article, qui montre comment l'installer et comment l'utiliser.
Ensuite, voici un autre article qui montre comment traiter ces donner (pandas pour charger les données, seaborn au lieu de matplotlib pour les tracer).
Rien de toute ceci n'est bien compliqué, mais si tu ne connais pas encore bien python, ça risque d'être un peu compliqué comme premier galop d'essai. Si tu es dans ce cas, je t'invite, comme le suggère yg_be, à commencer par écrire quelques petits programmes élémentaires pour t'entraîner.
Bonne chance
Bonjour
Merci mais ce n'est pas aller jusqu'à bout de la démarche.