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.


Messages - Dominique

Pages: [1] 2 3 ... 137
1
Expositions / Re : RailExpo 2021 à Dreux
« le: octobre 24, 2021, 11:15:50 am »
Ce sera aussi l'occasion de rencontrer de futurs animateurs de Locoduino sur ce stand : envoyez vos candidatures en MP svp.

De même un/des volontaires pour nous épauler sur le stand, en particulier le Dimanche, pour quelqu'un résidant en région parisienne  ;D

Un grand merci d'avance.

2
Vos projets / Re : projet centrale "LaBox" wifi DCC++ Can
« le: octobre 24, 2021, 09:58:34 am »
Il reste un test à faire (je viens d’y penser): lancer des lectures analogiques de tension (mesures de courant) périodiques pour vérifier qu’elles ne dégradent pas la précision du RMT.

A suivre…

4
Expositions / RailExpo 2021 à Dreux
« le: octobre 23, 2021, 02:39:54 pm »
LOCODUINO sera présent à RailExpo à Dreux les 26-27 et 28 Novembre 2021.



Nous vous accueillerons sur le stand C-10.



Le stand est petit, mais c'est déjà pas mal de pouvoir vous rencontrer, nous parler de vos projets et poser des questions auxquelles nous pourrons peut-être répondre  ;) :P

Nous n'installerons donc aucun réseau genre Locoduinodrome comme à Orléans, mais nous vous montrerons quelques réalisations personnelles et les projets les plus visités comme LaBox (https://forum.locoduino.org/index.php?topic=922.0), les Satellites V1 (https://www.locoduino.org/spip.php?article242).

Plus de détails à venir et n'hésitez pas à indiquer ce qui vous interesserait et poser vos questions à l'avance.

Cordialement.
Dominique

5
Débuter / Re : Lecture d'une carte SD
« le: octobre 23, 2021, 11:10:58 am »
Je vous propose de regarder les tableaux de variables avec un index permettant de se déplacer dans le tableau en même temps que la lectures des données dans la carte SD.

Cet article pourrait vous aider:
https://www.locoduino.org/spip.php?article227

6
Présentez vous ! / Re : Bonjour
« le: octobre 21, 2021, 04:16:29 pm »
Bravo et bienvenue sur Locoduino  ;D

Je sens que vous allez partager des choses intéressantes...
On a hâte de vous lire

Cordialement

7
Présentez vous ! / Re : Bonjour
« le: octobre 21, 2021, 07:25:07 am »
Bonjour et bienvenue au Breton !
(J’étais en Bretagne la semaine dernière)

Nous aimerions en savoir un peu plus sur ce train de nettoyage !

Amicalement

8
Les réseaux / Re : Mon réseau Va-et-vient et vos propres variantes
« le: octobre 08, 2021, 09:25:44 am »
Pour ceux qui pourront venir à RailExpo les 26-28 Novembre, cette petite centrale dédiée va et vient sera présentée sur le stand Locoduino, dans les 2 versions « bidouille Nano » et shield UNO.

9
Présentez vous ! / Re : train de vitrine
« le: octobre 05, 2021, 08:19:23 am »
Il me semble que la réponse est dans l’article : Réalisation d’un va-et-vient automatique et réaliste .
https://www.locoduino.org/spip.php?article232

Il n’y aurait plus besoin de la Z21.
Un couplage avec les autres Arduino pour l’animation du décor est assez facile à faire.

10
Vie du forum / Re : Problème d'accès au site rédactionnel
« le: octobre 01, 2021, 10:41:21 am »
Bonjour Jean-Luc,

Je me connecte bien aux 2 sites en https et http avec safari sur iphone.

Amicalement
Dominique

11
Présentez vous ! / Re : Bonjour!!
« le: septembre 27, 2021, 09:18:53 pm »
Bienvenue Christian et tous mes voeux de succès pour ce projet.

Mais je suis toujours inquiet quand je lis
Citer
je ne suis ni électronicien ni informaticien, donc je galère avec vos articles
.

Car, pour éviter la galère, il vaut mieux être perpétuellement curieux et entretenir une démarche d'apprentissage tout au long de sa vie, ce que fait l'ingénieur en général et tous ceux qui ont une formation longue (médecins en particulier et aussi les artistes).

Lisez cet article d'Elektor qui montre comment l'Arduino a largement conquis les ingénieurs et les artistes grâce à la simplicité de son environnement.

https://www.elektormagazine.fr/articles/quest-ce-que-larduino

Mais concrêtement; je vous conseille de réaliser des montages simples et de vous familiariser avec les exemples qui se trouvent dans l'IDE Arduino et les bibliothèques.
Recherchez les montages et exemples les plus proches des briques dont vous aurez besoin dans votre projet qui avancera plus naturellement.

Bon courage

12
Vos projets / Re : projet centrale "LaBox" wifi DCC++ Can
« le: septembre 17, 2021, 04:20:13 pm »
Merci Sébastien.
Maintenant j’ai une base pour expérimenter les autres modes, le mode LOOP n’étant sûrement pas celui qu’il faut dans LaBox

13
Composants / Re : Nouveau ATtiny 417, 814, 816, 817
« le: septembre 17, 2021, 04:16:49 pm »
A titre indicatif, où as-tu commandé ces microcontroleurs ?

Merci d’avance.

14
Vos projets / Re : projet centrale "LaBox" wifi DCC++ Can
« le: septembre 16, 2021, 07:14:29 pm »
Ce que j'ai fait n'est pas sorcier, en partant d'un exemple.
L'IDE Arduino propose un générateur de code morse, moi j'ai pris un exemple de télécommande infrarouge ailleurs sur le web.

Les includes sont tous dans le core ESP32 (aucune bibliothèque à ajouter):
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "Arduino.h"

#include "esp32-hal.h"

J'ai ensuite créé une série de bits d'un paquet IDLE qui sera répété indéfiniment.
#define NR_OF_IDLE_BITS 40


///////////////////////////////////////////////////////////////////////////////
// The NMRA DCC Signal is sent as a square wave with each half having
// identical timing (or nearly identical). Packet Bytes have a minimum of 11
// preamble ONE bits in order to be considered valid by the decoder. For
// RailCom support it is recommended to have at least 16 preamble bits. For the
// Programming Track it is required to have a longer preamble of at least 22
// bits. Packet data follows immediately after the preamble bits, between the
// packet bytes a DCC ZERO is sent. After the last byte of packet data a DCC
// ONE is sent.
//
// DCC ZERO:
//    ----------------
//    |      96      |
// ---|     usec     |      96      ---
//                   |     usec     |
//                   ----------------
// DCC ONE:
//    --------
//    |  58  |     
// ---| usec |  58  ---
//           | usec |
//           --------
//
// The timing can be adjusted via menuconfig with the above being the default
// values when using the APB clock.
// Une trame IDLE est émise quand il n’y a pas de trame de commande à envoyer,
// de façon à alimenter continuellement la voie :
// 111111111111 0 11111111 0 00000000 0 11111111 1
//
///////////////////////////////////////////////////////////////////////////////
int IDLE_pattern[NR_OF_IDLE_BITS] = {1,1,1,1,1,1,1,1,1,1,1,1, 0, 1,1,1,1,1,1,1,1, 0, 0,0,0,0,0,0,0,0, 0, 1,1,1,1,1,1,1,1, 1};
rmt_data_t idle_data[NR_OF_IDLE_BITS];
rmt_obj_t* rmt_send = NULL;
et les 2 variables idle_data (les formes de bits à émettre et rmt_send, pointeur nécessaires au driver.

Ensuite, tout est dans le setup:
void setup()
{
    Serial.begin(115200);
    Serial.println("init RMT pin33");
   
    if ((rmt_send = rmtInit(33, true, RMT_MEM_64)) == NULL) // init sur DCC pin = 33
    {
        Serial.println("init sender failed\n");
    }

    /**
    *    Sets the clock/divider of timebase the nearest tick to the supplied value in nanoseconds
    *    return the real actual tick value in ns
    */
    float realTick = rmtSetTick(rmt_send, 1000); // a calculer pour 1 uS
    Serial.printf("real tick set to: %fns\n", realTick);

    int i=0;
    /*
     * Preparation du jeu d'essai : une trame IDLE
     */
    for (i=0;i<NR_OF_IDLE_BITS; i++) {
      if (IDLE_pattern[i]==0) { // UN
        idle_data[i].level0 = 1;
        idle_data[i].duration0 = 96;
        idle_data[i].level1 = 0;
        idle_data[i].duration1 = 96;
      } else {                  // ZERO
        idle_data[i].level0 = 1;
        idle_data[i].duration0 = 58;
        idle_data[i].level1 = 0;
        idle_data[i].duration1 = 58;
      }
    }
    pinMode(32, OUTPUT); 
    digitalWrite(32, HIGH); 
    Serial.println("loop");

    // Send the data
    rmtLoop(rmt_send, idle_data, NR_OF_IDLE_BITS);
}

rmtInit(33, true, RMT_MEM_64) définit la pin de sortie de l'ESP32, le mode émission seulement et la taille du tampon mémoire utilisé.
rmtSetTick(rmt_send, 1000) définit la période des TICKS, ici proches de la microseconde, ce que confirme realTick.

Ensuite la variable Idle_data est garnie avec les valeurs correspondant à chaque bit de la trame DCC
        idle_data.level0 = 1;        // le 1/2 bit haut
        idle_data.duration0 = 96; //aura une durée de 96 uS
        idle_data.level1 = 0;        // le 1/2 bit bas
        idle_data.duration1 = 96; // également 96 uS

Et l'instruction rmtLoop(rmt_send, idle_data, NR_OF_IDLE_BITS) se charge d'envoyer le signal DCC automatiquement et de façon répétitive.

De ce fait tout cet exemple tient dans le setup.

Mais j'aurai pu utiliser dans la loop l'instruction rmtWrite(rmt_send, idle_data, NR_OF_IDLE_BITS) avec les même arguments,
qui pourrait donner les mêmes résultats ou permettre d'émettre des séquences de trames DCC plus complexes.
Mais il vaut mieux contrôler les flux entre le programme et le tampon RMT, probablement comme l'indique Sébastien en utilisant les interruptions disponibles lorsqu'une fraction du tampon est disponible, car la norme DCC nécessite que les émissions soient permanentes pour alimenter le matériel roulant.

Maintenant il faut intégrer ce mécanismes avec toutes les autres tâches (Wifi, Serial, Can, I2C, AnalogInputs, ..)

Mais cela peut nous rassurer pour le moment, en espérant que ce projet puisse intéresser plusieurs contributeurs pour se renforcer  :D ;D

15
Vos projets / Re : projet centrale "LaBox" wifi DCC++ Can
« le: septembre 16, 2021, 02:06:44 pm »
Dans la foulée, un essai valide cette faisabilité mais c'est un exemple qui n'est pas encore intégré avec le reste (donc il peut y avoir des interactions):

La maquette utilisée : LaBox complète avec son booster, connectée au sniffer ESP32.

Les résultats récupérés par msport.

Le code de l'exemple qui ne nécessite aucune bibliothèque.

Je reviendrai sur les détails au retour de mes courses...


Pages: [1] 2 3 ... 137