LOCODUINO

Réalisation pratique d’un système de mesure de vitesse à l’échelle N

A base de composants bon marché.

. Par : Dominique

Le principe Comme dans l’article précité, la mesure sera basée sur la mesure du temps qui sépare les passages devant 2 capteurs de position. Le plus petit Arduino, le Pro-Mini suffit à s’acquitter de cette tâche et un afficheur à 4 digits à Led permet de lire la vitesse avec une bonne luminosité. Les capteurs devront être placés de part et (…)

Retourner à l'article

Vous répondez à :

Il y a un afficheur dans le montage qui affiche la vitesse réelle au passage d’un convoi. Il n’y a pas d’étalonnage pour ce montage, tout est décrit dans cet article, mais pour étalonner une loco il faut faire varier sa vitesse avec la centrale jusqu’à ce que l’affichage de sa vitesse indique la vitesse souhaitée, puis noter le cran DCC correspondant.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

34 Messages

  • canada québec

    Notre system fonctionne en mille/heure
    Quelle formule du programme pour afficher en mille/heure ?

    Merci

    Répondre

  • Bonjour,
    Pour convertir les kilomètres/heure en milles/heure, il faut multiplier par 0.62137.

    Vous remplacez l’instruction :
    VKM=VCM*576/100 ;
    par
    VKM=VCM*358/100 ;

    et le programme doit donner des milles/heure.

    Répondre

  • Bonjour,
    Le "capteur TRCT5000L" donné en lien n’est à priori plus vendu par lequel peut-on le remplacer ?
    merci

    Répondre

  • Ah bon !
    j’en vois en vente chez Farnel, RS, Mouser, entre autres !

    Essayez avec le bon nom : tcrt5000, notamment chez TME, ça ira mieux, vous verrez...
    Les liens sur eBay ne sont valables qu’un certain temps et l’orthographe laisse parfois à désirer.

    bonne réalisation

    Répondre

  • Bonjour,
    pour l’étalonnage je ne saisis pas bien le deroulement,
    la valeur est bonne : quelle valeur et ou la voit on ?
    Pouvez vous m’expliquer plus précisément.
    Merci

    Répondre

    • Il y a un afficheur dans le montage qui affiche la vitesse réelle au passage d’un convoi. Il n’y a pas d’étalonnage pour ce montage, tout est décrit dans cet article, mais pour étalonner une loco il faut faire varier sa vitesse avec la centrale jusqu’à ce que l’affichage de sa vitesse indique la vitesse souhaitée, puis noter le cran DCC correspondant.

      Répondre

  • Bonjour, dans la description de l’installation vous dites ceci :

    Il ne reste plus qu’à étalonner la distance en plaçant un wagon devant chaque détecteur et en redémarrant le système. On trouve très vite le capteur qui augmente et celui qui diminue ! Quand la valeur est bonne on place les 2 wagons devant les 2 capteurs en même temps et l’initialisation est terminée.

    Je ne saisi pas très bien .
    quelque chose m’échape ??

    Merci d’avance pour votre réponse

    Répondre

  • il suffit de lire la fonction "reglage" pour comprendre :
    Le setup (au démarrage du programme) regarde si les 2 détecteurs sont activés simultanément. Si oui il lance le reglage.
    Pour ce faire il faut mettre un wagon devant chaque détecteur et démarrer le système ensuite.
    Une valeur de distance par défaut s’affiche : 500 (mm)
    en bougeant l’un des wagons (reculer, en sortant du capteur et retour devant le capteur) on augmente la valeur, et en bougeant l’autre on la diminue (il faut évidemment mesurer la distance entre les 2 capteurs auparavant). quand c’est bon, on peut enlever les 2 wagons et la valeur est sauvegardée en eeprom.

    Répondre

  • bonjour,

    j’ai deux carte ARDUINO UNO, lorsque je veux téléverser le programme il me donne une erreur de carte, faut il modifier le code pour utiliser une UNO

    Cordialement

    Répondre

  • Le programme donné est pour un Pro-mini qui a le même processeur que le Nano et le UNO. Cela devrait marcher sans modifier le programme si vous avez respecté les positions des entrées-sorties. Mais il faut nous donner tous les détails de l’erreur pour vous éclairer.

    Répondre

  • Bonjour, Voici le message que je recois lorsque j’essaye de le téléverser sur un carte NANO.

    J’ai essayé avec une carte UNO, et la pas de problème .

    Merci à vous

    Arduino : 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Carte : "Arduino Nano, ATmega328P"

    Le croquis utilise 5072 octets (16%) de l’espace de stockage de programmes. Le maximum est de 30720 octets.
    Les variables globales utilisent 465 octets (22%) de mémoire dynamique, ce qui laisse 1583 octets pour les variables locales. Le maximum est de 2048 octets.
    avrdude : stk500_getsync() attempt 1 of 10 : not in sync : resp=0x74
    avrdude : stk500_getsync() attempt 2 of 10 : not in sync : resp=0x72
    avrdude : stk500_getsync() attempt 3 of 10 : not in sync : resp=0x61
    avrdude : stk500_getsync() attempt 4 of 10 : not in sync : resp=0x66
    avrdude : stk500_getsync() attempt 5 of 10 : not in sync : resp=0x66
    avrdude : stk500_getsync() attempt 6 of 10 : not in sync : resp=0x69
    avrdude : stk500_getsync() attempt 7 of 10 : not in sync : resp=0x63
    avrdude : stk500_getsync() attempt 8 of 10 : not in sync : resp=0x20
    avrdude : stk500_getsync() attempt 9 of 10 : not in sync : resp=0x6c
    avrdude : stk500_getsync() attempt 10 of 10 : not in sync : resp=0x69
    Une erreur est survenue lors du transfert du croquis

    Ce rapport pourrait être plus détaillé avec
    l’option "Afficher les résultats détaillés de la compilation"
    activée dans Fichier -> Préférences.

    Répondre

  • Bonjour, ou Bonsoir,

    Problème résolu grâce a votre aide, ça fonctionne parfaitement, un grand merci

    Répondre

  • Bonjour voila le système fonctionne très bien, j’ai même fait un circuit imprimé avec une alimentation stabilisée pour utilisation avec une carte Nano
    Pour une voie double, la détection ne se fait pas sur la voie la plus éloignée, j’ai essayer en réglant la sensibilise des capteurs , mais sans résultat.
    est il possible d’ajouter deux autres capteurs et de modifier le code pour pouvoir avoir deux zone de détection.

    Merci

    Répondre

  • Bonjour, serait il possible d"allonger la section de mesure a 1 mètre de manière a être plus précis encore dans la mesure, quelle modification faut il apporter au code

    Répondre

  • Bonjour,

    oui si vous voulez ! Cet article décrit un exemple de réalisation mis en œuvre dans mon club. Rien ne vous empêche de le modifier pour votre usage personnel.
    Dans ce cas vous modifiez la formule donnée dans « calcul de la vitesse » en fonction de votre distance personnelle. V=D/T, c’est pas sorcier !

    Répondre

  • Bonjour
    Je débute avec Arduino (J’ai réussi a mettre en œuvre la simulation arc)
    J’ai télécharger "vitessen"
    Les 2 Fichiers "mesure_vitesse_N.ino" & " TM1637Test.ino "
    Quand je fais la vérification l’IDE Arduino marque :
    "Erreur de compilation pour la carte Arduino Pro et Pro Mini"
    Je ne sais que faire ni ou chercher !!!!
    Merci

    Répondre

  • Avez vous lu ? :
    Nous avons 2 déclarations de bibliothèque :
    TM1637Display qu’il faut télécharger [7] et installer dans l’IDE. Cette bibliothèque est fournie avec le programme dans l’archive jointe à la fin de l’article.
    EEPROM est une bibliothèque intégrée à l’IDE

    Voir : Installer une bibliothèque

    Deux remarques, 1. comme votre problème est personnel (vous débutez) et non spécifique à l’article, je vous suggère de le poster sur le forum en référence (avec le lien) à cet article. 2. Ce n’est pas le dernier message d’erreur qui donne la cause de l’anomalie de compilation mais le premier, c’est d’ailleurs l’ensemble en rouge qu’il faut poster.

    Voir en ligne : Installer une bibliothèque

    Répondre

  • Bonjour
    Je ne sais pas si le sujet est encore suivi mais j’ai acheté et monté le système que tu as conçu pour le mettre en oeuvre sur mon circuit de voitures au 1/32.
    Je n’ai jamais fait d’arduino et je suis confronté à des erreurs de programme. j’ai réussi à passer le cap de l’installation des bibliothèques mais j’ai à nouveau des messages d’erreur que je ne comprends pas.
    Si toutefois, il y a encore une âme patiente et sympathique pour m’aider, ce serait top.
    Quoi qu’il en soit, merci pour cette publication que je trouve vraiment géniale, j’adore ajouter des modules sur mon circuit.
    Merci d’avance pour les éventuelles réponses.
    Bonne journée
    Stéphahe
    Voici les messages que j’ai :
    Arduino : 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Carte : "Arduino Mini, ATmega328P"

    TM1637Display.cpp:60:1 : error : prototype for ’TM1637Display::TM1637Display(uint8_t, uint8_t)’ does not match any in class ’TM1637Display’

    TM1637Display::TM1637Display(uint8_t pinClk, uint8_t pinDIO)

    In file included from sketch\TM1637Display.cpp:24:0 :

    TM1637Display.h:32:7 : error : candidates are : constexpr TM1637Display::TM1637Display(TM1637Display&&)

    class TM1637Display

    TM1637Display.h:32:7 : error : constexpr TM1637Display::TM1637Display(const TM1637Display&)

    TM1637Display.h:42:3 : error : TM1637Display::TM1637Display(uint8_t, uint8_t, unsigned int)

    TM1637Display(uint8_t pinClk, uint8_t pinDIO, unsigned int bitDelay = DEFAULT_BIT_DELAY) ;

    TM1637Display.cpp:74:6 : error : prototype for ’void TM1637Display::setBrightness(uint8_t)’ does not match any in class ’TM1637Display’

    void TM1637Display::setBrightness(uint8_t brightness)

    In file included from sketch\TM1637Display.cpp:24:0 :

    TM1637Display.h:51:8 : error : candidate is : void TM1637Display::setBrightness(uint8_t, bool)

    void setBrightness(uint8_t brightness, bool on = true) ;

    exit status 1

    prototype for ’TM1637Display::TM1637Display(uint8_t, uint8_t)’ does not match any in class ’TM1637Display’

    Ce rapport pourrait être plus détaillé avec
    l’option "Afficher les résultats détaillés de la compilation"
    activée dans Fichier -> Préférences.

    Répondre

    • Hello
      Bon, j’ai réussi à intégrer les bibliothèques et la compilation fonctionne sur mon pc mais en revanche, j’ai un message d’erreur quand je téléverse le programme...
      Est-ce que qu’une âme charitable saurait m’aider svp
      Désolé de vous solliciter comme ça mais j’aimerais bien faire fonctionner ce programme.
      Bonne journée
      Stéphane

      Arduino : 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Carte : "Arduino Mini, ATmega168"

      Le croquis utilise 5052 octets (35%) de l’espace de stockage de programmes. Le maximum est de 14336 octets.

      Les variables globales utilisent 466 octets (45%) de mémoire dynamique, ce qui laisse 558 octets pour les variables locales. Le maximum est de 1024 octets.

      avrdude : stk500_getsync() attempt 1 of 10 : not in sync : resp=0x80

      avrdude : stk500_getsync() attempt 2 of 10 : not in sync : resp=0x98

      avrdude : stk500_getsync() attempt 3 of 10 : not in sync : resp=0x7e

      avrdude : stk500_getsync() attempt 4 of 10 : not in sync : resp=0x33

      avrdude : stk500_getsync() attempt 5 of 10 : not in sync : resp=0xe6

      avrdude : stk500_getsync() attempt 6 of 10 : not in sync : resp=0x86

      avrdude : stk500_getsync() attempt 7 of 10 : not in sync : resp=0x60

      avrdude : stk500_getsync() attempt 8 of 10 : not in sync : resp=0x0f

      avrdude : stk500_getsync() attempt 9 of 10 : not in sync : resp=0x1e

      avrdude : stk500_getsync() attempt 10 of 10 : not in sync : resp=0x0f

      Une erreur est survenue lors du transfert du croquis

      Ce rapport pourrait être plus détaillé avec
      l’option "Afficher les résultats détaillés de la compilation"
      activée dans Fichier -> Préférences.

      Répondre

  • J’ai réussi !
    Il y avait une erreur dans le choix du module arduino.
    Génial, merci pour ce tuto

    Répondre

  • Bonjour,

    Merci beaucoup pour votre partage.
    Je serais intéressé par votre votre réalisation pour mesurer la vitesse entre deux points espacés de 10 mètres j’aimerais que cette valeur soit figé est-ce faisable et à la place des capteurs je pense mettre des palpeurs au sol en entrant et en sortant. Ha j’ai oublier une chose importante , je suis vraiment novice en programmation. Merci cordialement

    Répondre

  • Merci de décrire vos palpeurs et votre application (qui doit être du modélisme ferroviaire).
    Pour la distance il suffit de la mettre en constante dans le programme, en enlevant le système de réglage et l’enregistrement en EEPROM. Vous trouverez comment faire en lisant d’autres articles sur ce site.

    Répondre

  • Bonjour et bravo pour cette réalisation et le partage de celle-ci.
    Je suis très intéresssé par ce montage de part ses composants mais j’utilise l’échelle HO et voulais savoir si en modifiant la ligne :
    VKM=VCM*576/100 ;
    par
    VKM=VCM*313,2/100 ;
    cela pouvait fonctionner.
    Je sais que LIKIKI a posté sur ce même site un autre montage "Calcul de la vitesse d’un train miniature avec l’Arduino" directement adapté à cette échelle mais je préfèrerai construire le votre.
    D’avance merci pour votre réponse.
    Cordialement.
    Serge

    Répondre

  • Bonjour,

    vous ne risquez rien à essayer.

    Néanmoins, les variables en question sont des entiers, donc pour éviter des résultats inattendus restez avec 313. De même pour la virgule qui ne convient pas.

    Répondre

  • Les composants sont décrits dans le texte de l’article : cherchez TCRT5000 sur eBay par exemple.

    Répondre

  • bonjour ,
    j’ai refait le meme systeme mais pour mesurer la vitesse de mini z , ma question , avez vous une idee pour augmenter la distance de detection
    merci

    Répondre

    • Bonjour,
      Pour adapter la distance à votre réseau, vous pouvez mesurer la distance avec un mètre et stocker la valeur dans l’EEPROM et/ou en définissant cette distance en constante dans le programme (sans utiliser l’EEPROM dans ce cas). Cela évite d’utiliser la mesure proposée dans l’article avec le jeu d’un wagon passant devant les capteurs.
      Bien évidemment il faudra adapter les paramètres de calcul de la vitesse en fonction de l’échelle de votre réseau.
      Dominique

      Répondre

  • la longueur de mesure je lai deja modifié (300mm) , ainsi que le calcul (km/h reel), mais celle en "largeur" portee du capteur que je voudrai modifier

    Répondre

  • Je ne comprends pas votre question et je pense que l’on sort du cadre de cet article. Pouvez-vous poser la question sur le forum avec détails, schéma et photos ?

    Répondre

Rubrique Projets

Les derniers articles

Les articles les plus lus