compteur de vitesse aviron

Tout d'abord bonjour !
Je me présente, j'habite dans la région Rhone-Alpes dans l'Ain (connu pour être le département 01 uniquement) et suis amateur d'aviron.
Je cherche un système permettant d'affiché en tant réel la vitesse d'un bateau d'aviron grâce à un GPS.
Le problème, c'est que je ne m'y connait vraiment rien en programmation Arduino ou en programmation tout cour d'ailleurs :sob: .
N'aillant pas non plus le temps d'apprendre ces temps-ci,je me suis dit que peut être existait il déjà des système avec GPS ,et bien sûr Arduino, qui permettent de connaitre sa vitesse sur un vélo par exemple.
En faite il existe déjà de tels appareils spécifiques à ce sport permettant de mesurer cela mais pour être honnête,à l'heure actuelle je n'est pas le budget (il y a ceux sans GPS qui fonctionnenr avec une hélice moins onéreux mais qui produisent beaucoup de frottement...). J'ai aussi cherché justement dans des magasin de cyclisme des compteurs de vitesse GPS mais le problème étant que ceux-ci affiche la vitesse en kilomètres/heure et que pour faire 500 mètre avec un bateau d'aviron il faut (en moyenne) 2 minutes. C'est pour cela que la vitesse en aviron ce mesure sur 500 mètre (temps/500 m),(une course faisant entre 1000 mètres et 5000 mètres).
En résumé il me faudrait un programme qui existe déjà sur lequel je pourrai changé l'affichage de la vitesse pour quelle ne soir pas affiché en km/h mais temps/ 500 m.
La question est donc connaissez vous un programme (et la partie électronique) répondant à ces critères ?

Je sais que vous n'aimez pas vraiment les glandeurs sur ce forum et moi non plus mais si je pouvait apprendre le langage Arduino je le ferai mais franchement pour le moment je n'ai pas le temps, peut être une fois à la retraite ::slight_smile:

Merci d'avance de vos réponses et qu'ainsi de m'avoir lu.

bonjour,
tu as des infos toutes faites sur le net pour ca, suffit de prendre 2mn de recherche

Super ! Merci de ta réponse ! J'ai cependant une question, comment faire sur ici pour affichée non pas km/h mais temps/500 m ?

un bouton start, le mm pour stop et une règle de trois.
dans ce cas si tu veux une moyenne, pas besoin de gps.
si tu veux une moyenne, une V max et mini => gps

mais va falloir prendre un peu de temps pour faire ca de ton coté :slight_smile: on veut bien aider, mais pas faire le boulot tout cuit non plus.

"un bouton start, le mm pour stop et une règle de trois. "

Désolé je doit paraitre un peu con mais je ne comprend pas vraiment ta phrase ...

En toutt cas tu as raison en cherchant sur internet j'ai aussi trouvé celui-ci http://www.semageek.com/diy-fabriquer-un-petit-cube-gps-a-base-arduino/

Je crois que c'est a base du même programme. Celui ci n'indique pas la température mais pour moi il est plus "claire". J'ai cependant la même question : comment afficher le temps/500 mètres ?

Je pourrai réalisé un boîtier en ABS, j'ai une imprimante 3D ;).

1 km/h = 2x500m / 60 min, donc 1 km/h correspond à 30 min pour faire 500m, il y a juste une multiplication à faire.

Donc on ne peut pas affiché directement le temps/500 m sur l'écran ? Il faut faire une règle de trois dans sa tête :o ?

waterproof:
"un bouton start, le mm pour stop et une règle de trois. "

Désolé je doit paraitre un peu con mais je ne comprend pas vraiment ta phrase ...

c'est le principe de base du codage arduino
un bouton qui sert au top départ et top arrivée
la fonction millis()
tu appuie sur la bouton 1 fois pour déclencher le top, ca lance le millis()
tu rame ou galère suivant ton niveau sur 500m
tu passe la ligne d'arrivée et tu appuie sur le bouton une 2eme fois, ca stop le temps
temps_arrivee - temps_depart = temps total
après c'est un calcul tout bête qui donne la vitesse sur 500m ou même plus
bonjour vous avez mis 2h pour 500m, votre vitesse moyenne est de 0.5/2=0.25km/h

waterproof:
Donc on ne peut pas affiché directement le temps/500 m sur l'écran ? Il faut faire une règle de trois dans sa tête :o ?

heuuuuu attends, tu crois qu'on se casse la tête a faire le calcul de tête pour afficher ca? :slight_smile:
c'est le module qui le fait, sinon tu prends un chrono et tu calcul de tête :wink:

"tu appuie sur la bouton 1 fois pour déclencher le top, ca lance le millis()
tu rame ou galère suivant ton niveau sur 500m
tu passe la ligne d'arrivée et tu appuie sur le bouton une 2eme fois, ca stop le temps
temps_arrivee - temps_depart = temps total
après c'est un calcul tout bête qui donne la vitesse sur 500m ou même plus
bonjour vous avez mis 2h pour 500m, votre vitesse moyenne est de 0.5/2=0.25km/h"

Pardon j'ai du mal m'exprimer... Moi je souhaite que ce temps s'affiche en direct, la vitesse sur 500m pour moi c'est temps/500 mètres

"heuuuuu attends, tu crois qu'on se casse la tête a faire le calcul de tête pour afficher ca? :slight_smile:
c'est le module qui le fait, sinon tu prends un chrono et tu calcul de tête ;)"
Je me disait aussi... Mais donc comment dire au module de mettre le temps/500 m et non les km/heure ?

tu veux le temps mis pour 500m ou la vitesse moyenne sur 500m ou encore la vitesse en live lorsque tu rame?

pour moi temps/500m = nombre de secondes sur 500m, donc chrono.

mais tu peux afficher les deux en plus, voir par la suite, via un menu, dire, je fais 500m,1000,2000m
donc mon temps est de X secondes et ma vitesse moyenne de Y km/h

donnes un exemple plus parlant, mais ton problème est des plus simples en plus a réaliser.
avec le matos en fonction de ce que tu veux faire, allez à la louche sans trop s'y connaitre, c'est 2 jours de taf.
pour certains ici, ca va être 1h à tout casser.

prendre aussi en considération le lieu ou le gps ne peut se caler comme il faut :wink:

"tu veux le temps mis pour 500m ou la vitesse moyenne sur 500m ou encore la vitesse en live lorsque tu rame?"

en live...c'est ce que je voulais dire par "en direct".

En faite sur les ergomètre (les machine d'entrainement qui reproduisent le mouvement d'aviron toutefois sans l'équilibre) il est affiché ceci: http://www.avironfrance.asso.fr/Pratiquer/AvironSante/EcranPM.png
sans la fréquence cardiaque ni la cadence qui pour l'instant ne me sont pas utiles. Après on peut mettre ton temps moyen sur 500 mètres quand tu fait 30 mn d'ergomètre.

waterproof:
"tu veux le temps mis pour 500m ou la vitesse moyenne sur 500m ou encore la vitesse en live lorsque tu rame?"

en live...c'est ce que je voulais dire par "en direct".

En faite sur les ergomètre (les machine d'entrainement qui reproduisent le mouvement d'aviron toutefois sans l'équilibre) il est affiché ceci: http://www.avironfrance.asso.fr/Pratiquer/AvironSante/EcranPM.png
sans la fréquence cardiaque ni la cadence qui pour l'instant ne me sont pas utiles. Après on peut mettre ton temps moyen sur 500 mètres quand tu fait 30 mn d'ergomètre.

bonjour
le GPS va te renvoyer une vitesse "instantanée" en Km/h
pour avoir un peu de precision tu passe ça en m/s

exemple presque pris au hasard :grin:
vitesse GPS = 12.16 Km/h
12160m/3600 secondes = 3.38m/s
500m/3.38=148 secondes = 2 minutes 28 secondes au 500 m

donc si tu veux la vitesse en live, 2 solutions
un gps
un speedomètre (DIY ou non)

une uno, un gps, un écran lcd, une pile 9v et youpi

même sans arduino tu peux faire ca

euhh ...bon, c'est une bonne idée mais si il y a du vent c'est moin youpi ! et pas non plus d'hélice sous le bateau car trop de frottement et aussi si il y a du courant la vitesse qui s'affiche sera faussé aussi...

"
le GPS va te renvoyer une vitesse "instantanée" en Km/h
pour avoir un peu de precision tu passe ça en m/s

exemple presque pris au hasard :grin:
vitesse GPS = 12.16 Km/h
12160m/3600 secondes = 3.38m/s
500m/3.38=148 secondes = 2 minutes 28 secondes au 500 m "

Donc pas moyen d'afficher la vitesse "instantanée" en temps/500 m ?
A ce moment là autant prendre un compteur GPS pour vélo ...

waterproof:
"
le GPS va te renvoyer une vitesse "instantanée" en Km/h
pour avoir un peu de precision tu passe ça en m/s

exemple presque pris au hasard :grin:
vitesse GPS = 12.16 Km/h
12160m/3600 secondes = 3.38m/s
500m/3.38=148 secondes = 2 minutes 28 secondes au 500 m "

Donc pas moyen d'afficher la vitesse "instantanée" en temps/500 m ?
A ce moment là autant prendre un compteur GPS pour vélo ...

Je crois que tu ne saisis pas tout :grin:
un GPS sort toutes les secondes une vitesse instantanée en Km/h
il suffit de faire toutes les secondes le calcul que j'ai exposé pour afficher toutes les secondes ton temps estimé au 500 m.
je ne vois pas bien ton probleme

Le problème c'est que je n'y connait rien !!! A ce que je comprend on peut rentré ce calcul dans le programme mais voilà un autre problème de taille c'est que je ne sais tout simplement pas le faire :slightly_smiling_face:

dans le premier lien exposé il y avait ce programme-ci:

où serait placé le calcul dans ce programme là ?

waterproof:
Le problème c’est que je n’y connait rien !!! A ce que je comprend on peut rentré ce calcul dans le programme mais voilà un autre problème de taille c’est que je ne sais tout simplement pas le faire :slightly_smiling_face:

dans le premier lien exposé il y avait ce programme-ci:
Dropbox - Error

où serait placé le calcul dans ce programme là ?

Le programme du lien embarque aussi du calcul de T° qui nuit à la comprehension
j’ai repris un exemple de la la lib Tynigps++
j’ai commenté la partie temps estimé au 500 m
ça compile

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
/*
   This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object.
   It requires the use of SoftwareSerial, and assumes that you have a
   4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 4800;
float vms;
float est500;
// The TinyGPS++ object
TinyGPSPlus gps;

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

void setup()
{
  Serial.begin(115200);
  ss.begin(GPSBaud);

  
}

void loop()
{
  // This sketch displays information every time a new sentence is correctly encoded.
  while (ss.available() > 0)
    if (gps.encode(ss.read()))
      displayInfo();

  if (millis() > 5000 && gps.charsProcessed() < 10)
  {
    Serial.println(F("No GPS detected: check wiring."));
    while(true);
  }
}

void displayInfo()
{
  Serial.print(F("Location: ")); 
  if (gps.location.isValid())
  {
    Serial.print(gps.location.lat(), 6);
    Serial.print(F(","));
    Serial.print(gps.location.lng(), 6);
    
     // calcul temps estimé au 500 m
vms=(gps.speed.kmph()*1000)/3600;
est500=500/vms;
Serial.print(F("secondes au 500 m "));
Serial.print(est500);  // affiche nombre de secondes estimées aux 500 m
     // fin calcul 500 m
  }
  else
  {
    Serial.print(F("INVALID"));
  }
  Serial.print(F(" "));
  Serial.println();
}