Visualiser tension issue Arduino sur ordinateur via Python

Fermé
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023 - 21 août 2023 à 10:58
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023 - 28 août 2023 à 18:07

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

A voir également:

5 réponses

yg_be Messages postés 23317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 novembre 2024 Ambassadeur 1 552
21 août 2023 à 11:58
0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
21 août 2023 à 13:23

Bonjour 

Merci mais ce n'est pas aller jusqu'à bout de la démarche. 

0
mariam-j Messages postés 1339 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 30 octobre 2024 10
Modifié le 21 août 2023 à 12:30

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

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
21 août 2023 à 13:26

Il y a un port USB en sortie de la maquette Arduino donc pas de soucis pour relier à l'ordinateur. 

Ce que je cherche c'est le programme Python pour récupérer les données puis visualiser la courbe sur mon ordinateur...

Merci 

0
mariam-j Messages postés 1339 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 30 octobre 2024 10 > Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
Modifié le 21 août 2023 à 13:57

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

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023 > mariam-j Messages postés 1339 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 30 octobre 2024
21 août 2023 à 21:32

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 

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
25 août 2023 à 11:15

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

0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
25 août 2023 à 16:22

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

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
25 août 2023 à 20:03

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 

0
yg_be Messages postés 23317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 novembre 2024 1 552 > Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
25 août 2023 à 20:35

Pourquoi ne pas utiliser Excel pour créer ces graphes?  N'est-ce pas le logiciel idéal pour faire cela?

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023 > yg_be Messages postés 23317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 novembre 2024
25 août 2023 à 20:48

Toit simplement pour faire un peu de programmation indispensable de nos jours. 

Effectivement avec Excel ça aurait été rapide...

0
yg_be Messages postés 23317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 novembre 2024 1 552 > Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
25 août 2023 à 20:58

Bonne idée de faire de la programmation: montre-nous ce que tu as pu réaliser.

0
yg_be Messages postés 23317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 novembre 2024 1 552 > Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
25 août 2023 à 22:40

La réponse à la question demande de se former en Python.

Un peu d'aide ne remplace pas une formation.

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
28 août 2023 à 10:54

Bonjour,

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

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
28 août 2023 à 12:15

Bonjour et MERCI, ça paraît effectivement complexe, je vais m'y atteler...en plus du tracé de courbe et du tranfert des données avec Arduino ...

Bref intéressant mais pas facile pour un débutant 

0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803 > Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023
Modifié le 28 août 2023 à 17:18

Du coup, on considère ton problème comme résolu pour le moment ? Quitte à le ré-ouvrir quand tu te seras affûté en python si tu n'arrives pas à appliquer ce que j'ai proposé ?

0
Chris3874 Messages postés 31 Date d'inscription mercredi 21 juin 2023 Statut Membre Dernière intervention 25 septembre 2023 > mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024
28 août 2023 à 18:07

Je ne préfère pas dans la mesure du possible car je risque d'avoir besoin encore d'aide, j'avance doucement...mais sûrement ????

0