Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Didier44

Pages: [1]
1
Discussions ouvertes / Simulateur de retard
« le: décembre 23, 2018, 11:17:03 am »
Bonjour à tous,

Sous ce titre énigmatique se cache un reportage vu ce samedi 22 décembre au cours du journal de la chaine TV Arte.
Le passage intéressant est visible ici Petits trains pour gros progrès et peut être pas éternellement !

Un usage très intéressant de nos chers petits trains et un réseau d'une taille à en faire réver plus d'un. Je vous laisse découvrir...

Didier

2
Shields et Modules / DCC++ avec un ESP32
« le: février 25, 2018, 05:05:30 pm »
Bonjour à tous,

Au détour d’une visite sur le forum TrainBoard ou je me rends de temps en temps, j’ai découvert ce post récent (décembre 2017) http://www.trainboard.com/highball/index.php?threads/dcc-esp32-base-station.112634/
rédigé par Atani et qui s’intéresse à l’application de DCC++ sur les ESP, ces drôles de petites bêtes.

Dans ce post il est question de l’adaptation de DCC++ sur un ESP32 et donc plus d’Arduino. Juste une carte de puissance bien sur.
En fait le code a été profondément remanié mais reste compatible avec DCC++ puisque les ordres envoyés à l’ESP32 sont bien ceux de DCC++.

Ce projet, fonctionnel, est en cours de développement et la doc encore en cours de réalisation est dispersée sur le forum, github et le code source. Donc pas facile à mettre en oeuvre. De plus ce projet a été développé avec PlateformIO. Un IDE pour Arduino, plus complet mais plus difficile à mettre en oeuvre et que je ne maitrise pas encore correctement. Il s’agit d’une surcouche pour les IDE que sont Visual Studio Code (gratuit) et Atom (éditeur de code gratuit).

Pour ceux que cela pourrait intéressé je vous propose une synthèse de la mise en place (et en français!) avec adaptation pour Arduino IDE à la fin.

Téléchargement du source


Comme précisé dès le début du post d’Atani, vous trouverez le source sur github https://github.com/atanisoft/DCCppESP32 .
Avant de l’utiliser il va falloir faire quelque manipulation assez simple.

Connexion internet

Je ne rentrerais pas dans les détails techniques du code, mais il faut retenir que l’ESP32 va jouer le rôle d’un webserver et que l’on pourra communiquer avec lui par le biais d’une adresse locale (192.168.1.93 chez moi mais à vérifier chez vous, voir plus loin). En effet l’ESP32 est connecté à votre box internet, Atani a par ailleurs le projet de la faire fonctionner sans cette connection.
Il va donc falloir saisir votre SSID et mot de passe dans le fichier config.h

/////////////////////////////////////////////////////////////////////////////////////
//
// DEFINE WiFi Parameters
//
#define WIFI_SSID "votre SSID"
#define WIFI_PASSWORD "votre mot de passe"


CV des locomotives

Je vous disais plus haut que l’on va se connecter à l’ESP32 par le biais d’une adresse locale. A cette adresse se trouve une page web qui est le controler de la “base station” DCC++. Nous pouvons commander jusqu'à 10 locomotives et leurs différentes fonctions. De plus vous constaterez plus tard d’autres fonctionnalités.
Il vous faut aller dans le fichier data/index.html du projet et modifier à partir de la ligne 98, les numéros des CV des locomotives.

<div id="locoGroup">
<div class="row">
<label for="loco1">3</label>
<input type="radio" name="loco" id="loco1" value="">
<span id="loco1Info" class="clockdate">Idle</span>
</div>
<div class="row">
<label for="loco2">4</label>
<input type="radio" name="loco" id="loco2" value="">
<span id="loco2Info" class="clockdate">Idle</span>
</div>
<div class="row">
<label for="loco3">5</label>
<input type="radio" name="loco" id="loco3" value="">
<span id="loco3Info" class="clockdate">Idle</span>
</div>
<div class="row">
<label for="loco4">6</label>
<input type="radio" name="loco" id="loco4" value="">
<span id="loco4Info" class="clockdate">Idle</span>
</div>
<div class="row">
<label for="loco5">345</label>
<input type="radio" name="loco" id="loco5" value="">
<span id="loco5Info" class="clockdate">Idle</span>
</div>
<div class="row hideForHeight">
<label for="loco6">678</label>
<input type="radio" name="loco" id="loco6" value="">
<span id="loco6Info" class="clockdate">Idle</span>
</div>
<div class="row hideForHeight">
<label for="loco7">901</label>
<input type="radio" name="loco" id="loco7" value="">
<span id="loco7Info" class="clockdate">Idle</span>
</div>
<div class="row hideForHeight">
<label for="loco8">234</label>
<input type="radio" name="loco" id="loco8" value="">
<span id="loco8Info" class="clockdate">Idle</span>
</div>
<div class="row hideForHeight">
<label for="loco9">567</label>
<input type="radio" name="loco" id="loco9" value="">
<span id="loco9Info" class="clockdate">Idle</span>
</div>
<div class="row hideForHeight">
<label for="loco10">890</label>
<input type="radio" name="loco" id="loco10" value="">
<span id="loco10Info" class="clockdate">Idle</span>
</div>
</div>

Dans chaque ligne telle que celle-ci
<label for="loco1">3</label>
puis loco2 jusque loco10, vous devez insérer entre crochets le CV de vos machines. Il n’y a pas de nom, ni de gestion de cette liste. Le CV sert de nom à l’écran. Pas très facile à retenir cependant. Le projet est encore jeune.

Etape suivante il va falloir “transformer” ce fichier en un tableau de nombre dans un fichier .h pour l’insérer dans le code.
  • compressez ce fichier index.html au format .gz (j’utilise 7zip qui le fait très bien). Attention pas de format .zip. Changer son nom en indexHtmlGz.gz (attention au majuscule)
  • ensuite téléchargez le court programme bin2c ici https://sourceforge.net/projects/bin2c/. Il en existe d’autres versions y compris pour Mac. Ce programme va créer un fichier include contenant le fichier indexHtmlGz sous forme de tableau de nombres. Placez le dans le répertoire /src du projet
  • ouvrez une fenêtre de commande (Power shell sous Windows 10). Allez dans le répertoire ou vous avez placé ce projet. Et tapez
    bin2c -o index_html.h indexHtmlGz.gz
  • Ouvrez ce nouveau fichier index_html.h. Vous devez lire au début quelque chose comme ceci:

    /* Contents of file indexHtmlGz.gz */
    const long int indexHtmlGz_gz_size = 7977;
    const unsigned char indexHtmlGz_gz[7977] = {


    Remplacer indexHtmlGz_gz par indexHtmlGz et ajouter PROGMEM

    /* Contents of file indexHtmlGz.gz */
    const long int indexHtmlGz_size = 7977;
    const unsigned char indexHtmlGz[7977] PROGMEM =
    {

Pour ceux qui utilise PlatformIO, il n’y a plus qu’à compiler et téléverser.
Les informations concernant la connection à la carte de puissance sont dans le fichier DCC++ESP32.cpp à partir de la ligne 88 (voir extrait ci-dessous) ainsi que sur le Wiki accessible sur Github.

Ceci est accompli sur l'ESP32 en connectant
le GPIO25 a l’entrée du Motor Shield PWM-A (broche 3 sur Arduino),
GPIO19 à l'entrée DIRECTION-A du Motor Shield (broche 12 sur Arduino),
GPIO23 à l'entrée PWM-B du Motor Shield (broche 11 sur Arduino),
GPIO18 à l'entrée DIRECTION-B du Motor Shield (broche 13 sur Arduino).


J’ai effectué cette connection avec le motor shield Arduino.

Arduino IDE

Pour utiliser l’Arduino IDE:

Avant de téléverser, ouvrez le moniteur série afin de voir l’adresse IP de l’ESP32. C’est cette adresse qu’il vous faudra écrire dans la barre de votre navigateur sur n’importe quel appareil relié à votre box, y compris tablette bien sur. Sinon vous la trouverez par le biais du gestionnaire de votre box.

C’est un peu laborieux mais le résultat est intéressant.
Reste à savoir ce que pourra apporter comme bonne surprise le deuxième onglet du controler (cf photo ci-dessous).

Bonne programmation
Didier


3
Infos et bonnes affaires / Achats hors Union Européenne
« le: juillet 31, 2017, 11:17:50 am »
Bonjour à tous,

Ma question: lors de vos achats en Chine comme TxHAng/Alice que payez vous comme frais douaniers ou TVA.
J'ai une commande en attente chez eux et je me pose la question depuis une mauvaise surprise avec un autre fournisseur, MiniInTheBox. Pas forcément le moins cher, mais au delà d'environ 38€ envoi en express et délai très court (commandé le vendredi 28 juillet et livraison annoncé pour le 3 août.
Et ce matin SMS de DHL pour le paiement de frais (12,5€) et taxes(10€) plus TVA (2,5€), soit 25€ pour une commande de 46€. J'ai envoyé une réclamation au transporteur d'autant plus que sur le site de MiniInTheBox l'on trouve un lien vers un site gouvernemental français qui précise une exonération en dessous de 150€ (sauf TVA bien sur).

Merci pour vos retours d'expérience
Didier

4
Vos projets / Essai manette DCC++ en C++
« le: juillet 11, 2017, 04:43:48 pm »
Bonjour,

Après 2 semaines de lectures studieuses du site et du forum Locoduino loin de mon domicile me voila de retour à la maison.
Le temps de remettre mes locos en route après de nombreuses années dans les cartons, j'ai pu tester DCC++ sur un Arduino Mega + Arduino Motor Shield.

J'ai développé vite fait un premier outil qui me servira à comprendre les interactions avec DCC++ et me remémorer le dcc en général abandonné depuis quelques années.
Pour ce faire j'ai utilisé mon outil C++ habituel (Qt, gratuit pour un usage non commercial) et voici une commande rudimentaire mais fonctionnelle pour deux locomotives.
Il pourrait y en voir beaucoup plus (de locos) très facilement grâce à la notion d'objet: l'ensemble curseur, affichage LCD et bouton "stop" est une classe fenêtre (widget en c++).

Didier

5
Présentez vous ! / Bonjour...
« le: juillet 03, 2017, 12:12:19 pm »
Bonjour à tous de Loire Atlantique,

J'ai 65 ans et retraité. Je pratique le modélisme ferroviaire depuis plus d'un demi-siècle (eh oui on peut le compter ainsi).
Premier réseau en HO avec beaucoup de place alors et déjà le PWM appelé alors courant haché.
Puis il y a trente ans réseau N en appartement plus limité mais quand même 100x240cm et plutôt spaghetti !
Nouveau déménagement en pavillon, toujours en N mais plus grand 650x250cm en L. Rebelote pour un déménagement et démontage pour encore en N, il y 10 ans 250x200cm en L mais malheureusement trop étroit pour les TGV et voitures de grandes longueurs d'ou démontage.
Je me suis initier à l'époque au DCC en utilisant le MINIDCC de nos amis canadiens et en m'initiant à la programmation des PIC.
Par ailleurs je programme sur micro depuis l'Apple II et aujourd'hui plus particulièrement en C++.

Pourquoi Locoduino ?
Tout d'abord ayant entendu parler de l'Arduino, je voulais développer moi même une interface. Mes recherches  m'ont conduit vers DCC++ puis Locoduino.
Actuellement je découvre la richesse du site et de son forum. Et il y a de quoi lire (merci à tous les rédacteurs pour la qualité des articles) avant de partager mes réflexions et réalisations avec vous.

Et voilà....
Et puisque nous sommes déjà en juillet de bonnes semaines ensoleillées à tous :)

Didier

Pages: [1]