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 - gdefareins

Pages: [1]
1
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: octobre 08, 2020, 10:26:45 pm »
Bonsoir,

Merci à vous pour ces informations précieuses.
Je vais farfouiller dans ma "boîte à brol" pour voir ce que j'ai en rab' pour monter les émetteurs/récepteurs proposés dans l'article que vous venez de citer

Courtoisement vôtre

2
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: octobre 04, 2020, 10:39:29 pm »
Bonsoir,

Je viens de voir autre chose qui a l'air pas mal comme capteur et qui éviterait d'avoir des aimants sous la machine : le module TCRT5000 pour Arduino (le modèle à 3 broches en tout ou rien).

Est-on confronté au problème de rebond avec ce système ?

Je pensais éventuellement utiliser ce système de captation (ou un système équivalent) du coup en lieu et place de l'association aimants + ILS.

Merci de vos avis et conseils à ce sujet.

Courtoisement vôtre

3
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: septembre 19, 2020, 11:44:25 pm »
Bonsoir,

Merci, dans ce cas, je vais utiliser des N/O... Effectivement, ils sont moins cher (9€ contre 16€).

Bonne soirée

Cordialement

4
Vos projets / Re : Re : Gérer un tramway en va et vient avec Arduino
« le: septembre 19, 2020, 02:25:16 pm »
L’avantage des détecteurs à consommation de courant est qu’il sont invisibles (sous le réseau) et ne nécessitent pas l’installation d’aimants.

Bonjour,

Merci pour votre réponse.

En fait, le fait que les ILS soient "visibles" ne va pas être un souci vu l'emplacement de la ligne de tramway et celui des différentes zones...  Et je n'exclue pas d'avoir des zones de voies "noyées" (en fait, un cache en plastique issu d'impression 3D et peint), donc dès lors que l'aimant est suffisamment puissant, pas un souci s'il y a un ILS.

Par contre, je n'ai pas compris l'histoire de la bibliothèque Bounce2. Je vais regarder ça.

Cordialement

5
... je peux en trouver qui sont fermés par défaut et s'ouvrent sous l'action des aimants ...

Bonjour,
quel est l'intérêt de tels ILS puisqu'on peut inverser le signal par le programme ?
d'ailleurs, avec INPUT PULLUP, on utilise plutôt la fermeture.

A priori, ceux que j'ai vu sur Amazon seraient fermés par défaut et s'ouvriraient avec l'aimant... Mais on peut trouver les 2 sortes... L'intérêt de l'ILS ? juste le coût !

Cordialement

6
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: septembre 18, 2020, 11:56:23 pm »
Bonsoir,

Dans l'article, vous utilisez comme détecteurs des détecteurs à consommation de courant.

Vue la nature de mon projet (tramway, donc peu de matériel concerné), je pensais plutôt utiliser des ILS (je peux en trouver qui sont fermés par défaut et s'ouvrent sous l'action des aimants).

A votre avis, c'est jouable ou bien l'impulsion serait trop brève ?

Amitiés ferroviaires

7
Présentez vous ! / Re : Bonjour amis ferroviphiles
« le: septembre 18, 2020, 11:50:11 pm »
Bonsoir,

Toutes mes excuses à Dominique, et Bravo à vous deux pour cette réalisation / ce projet fort intéressant.

Je me lance là un beau défi, n'ayant que des notions "newbee" avec Arduino, même si je connais le langage C, mais l'envie de s'amuser avec ce "joujou extra" (qui peut même faire crac-boum-hue) me démange vraiment... De même que les Attiny85 et Attiny84 dont j'ai découvert le potentiel

Amitiés ferroviaires... et arduiniennes !

8
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: septembre 12, 2020, 11:08:41 pm »
Bonsoir,

J'ai désinstallé entièrement Arduino et réinstallé les seules bibliothèques citées dans le projet... La première fois, j'utilisais DCCpp téléchargé depuis Arduino, et toujours l'erreur.

J'ai donc supprimé la librairie et réinstallé depuis la librairie DCCpp_master qui est en téléchargement sur Locoduino, et là, miracle, ça marche !

(Au passage, j'ai pu constater que j'avais des librairies bancales pour d'autres projets, donc on va regarder tout ça à tête reposée).

Mille mercis

Je vais pouvoir pousuivre mon projet : dans un permier temps, la plateforme DCC Va et vient proposée dans Locoduino puis, ensuite, en l'améliorant, gérer l'ensemble des automatismes de ma ligne de tramway (qui est en voie unique, c'est voulu) : démarrage du tramway avec son + feux AV et AR, gesion d'arrêts intermédiaires avec activation fonction annonce arrêt, déclenchement cloche et crissements voies dans une zone fréquentée avec courbe serrée,...

Bref grâce à vous, le projet avance... et je m'instruis en m'amusant avec Arduino !

Amitiés ferroviaires



9
Vos projets / Re : Gérer un tramway en va et vient avec Arduino
« le: septembre 12, 2020, 09:35:42 pm »
Bonsoir,

Oui, il s'agit bien de cet article là.

Je vais regarder à nouveau l'installation de mon IDE, au cas où.

D'avance, merci de votre aide

Courtoisement vôtre

10
Vos projets / Gérer un tramway en va et vient avec Arduino
« le: septembre 12, 2020, 01:57:26 pm »
Bonjour,

Je me présente : Geoffroy Bouchet de Fareins, alias gdefareins sur le forum LRPresse.

J'ai lu avec attention votre article et je souhaite utiliser ce principe pour commander un tramway, avec, en plus des 2 gares, des arrêts intermédiaires.

Mon niveau de connaissance d'Arduino est plutôt débutant, mais j'ai déjà programmé en langage C, donc je me dis que je devrais pouvoir y arriver.

J'essaie, dans un 1er temps, de réaliser le va et vient ci-dessus, et à lorsque je demande à Arduino de vérifier le code, j'obtiens les messages ci-dessous décrits.

Pourriez-vous m'aider SVP car je ne comprends pas d'où ça vient.

J'ai peur toutefois que le fait d'avoir stocké mes fichiers Arduino sur mon Cloud ne pose difficulté (travaillant sur plusieurs projets Arduino, ça me permet d'un poste à l'autre de m'assurer d'avoir les mêmes bibliothèques)

D'avance, merci à vous

Courtoisement vôtre

Ici les erreurs :

Arduino : 1.8.13 (Windows 10), Carte : "Arduino/Genuino Uno"

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:10:1: error: 'Locomotive' does not name a type

 Locomotive* Locomotives::pFirstLocomotive = NULL;

 ^~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:11:6: error: 'Locomotives' has not been declared

 bool Locomotives::useFunctionRegister = false;

      ^~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:13:1: error: 'Locomotive' does not name a type

 Locomotive* Locomotives::get(uint16_t inAddress)

 ^~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:29:1: error: 'Locomotive' does not name a type

 Locomotive* Locomotives::get(const char* inName)

 ^~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:45:6: error: 'Locomotives' has not been declared

 void Locomotives::remove(uint16_t inAddress)

      ^~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:49:6: error: 'Locomotives' has not been declared

 void Locomotives::remove(const char* inName)

      ^~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp: In function 'void remove(const char*)':

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:49:6: error: ambiguating new declaration of 'void remove(const char*)'

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:24:0,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,

                 from C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:7:

c:\program files (x86)\arduino\hardware\tools\avr\avr\include\stdio.h:960:12: note: old declaration 'int remove(const char*)'

 extern int remove(const char *pathname);

            ^~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp: At global scope:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:53:5: error: 'Locomotives' has not been declared

 int Locomotives::count()

     ^~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp: In function 'int count()':

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:57:2: error: 'Locomotive' was not declared in this scope

  Locomotive* pCurr = pFirstLocomotive;

  ^~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:57:14: error: 'pCurr' was not declared in this scope

  Locomotive* pCurr = pFirstLocomotive;

              ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:57:14: note: suggested alternative: 'perror'

  Locomotive* pCurr = pFirstLocomotive;

              ^~~~~

              perror

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotives.cpp:57:22: error: 'pFirstLocomotive' was not declared in this scope

  Locomotive* pCurr = pFirstLocomotive;

                      ^~~~~~~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:10:6: error: 'Registers' has not been declared

 byte Registers::registers[MAXIMUM_REGISTER_SIZE / 8];

      ^~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:10:27: error: 'MAXIMUM_REGISTER_SIZE' was not declared in this scope

 byte Registers::registers[MAXIMUM_REGISTER_SIZE / 8];

                           ^~~~~~~~~~~~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:10:27: note: suggested alternative: 'MAX_MAIN_REGISTERS'

 byte Registers::registers[MAXIMUM_REGISTER_SIZE / 8];

                           ^~~~~~~~~~~~~~~~~~~~~

                           MAX_MAIN_REGISTERS

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:12:6: error: 'Registers' has not been declared

 void Registers::clear()

      ^~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: In function 'void clear()':

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:14:22: error: 'MAXIMUM_REGISTER_SIZE' was not declared in this scope

  for (int i = 0; i < MAXIMUM_REGISTER_SIZE / 8; i++)

                      ^~~~~~~~~~~~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:14:22: note: suggested alternative: 'MAX_MAIN_REGISTERS'

  for (int i = 0; i < MAXIMUM_REGISTER_SIZE / 8; i++)

                      ^~~~~~~~~~~~~~~~~~~~~

                      MAX_MAIN_REGISTERS

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:15:3: error: 'registers' was not declared in this scope

   registers = 0;

   ^~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:15:3: note: suggested alternative: 'register'

   registers = 0;

   ^~~~~~~~~

   register

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: At global scope:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:18:9: error: 'Registers' has not been declared

 uint8_t Registers::allocateRegister()

         ^~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: In function 'uint8_t allocateRegister()':

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:20:22: error: 'MAXIMUM_REGISTER_SIZE' was not declared in this scope

  for (int i = 1; i < MAXIMUM_REGISTER_SIZE; i++)

                      ^~~~~~~~~~~~~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:20:22: note: suggested alternative: 'MAX_MAIN_REGISTERS'

  for (int i = 1; i < MAXIMUM_REGISTER_SIZE; i++)

                      ^~~~~~~~~~~~~~~~~~~~~

                      MAX_MAIN_REGISTERS

In file included from C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:7:0:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:22:15: error: 'registers' was not declared in this scope

   if (bitRead(registers[i / 8], i % 8) == 0)

               ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:111:32: note: in definition of macro 'bitRead'

 #define bitRead(value, bit) (((value) >> (bit)) & 0x01)

                                ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:22:15: note: suggested alternative: 'register'

   if (bitRead(registers[i / 8], i % 8) == 0)

               ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:111:32: note: in definition of macro 'bitRead'

 #define bitRead(value, bit) (((value) >> (bit)) & 0x01)

                                ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: At global scope:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:32:6: error: 'Registers' has not been declared

 void Registers::freeRegister(uint8_t inRegister)

      ^~~~~~~~~

In file included from C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:7:0:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: In function 'void freeRegister(uint8_t)':

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:34:11: error: 'registers' was not declared in this scope

  bitClear(registers[inRegister / 8], inRegister % 8);

           ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:113:32: note: in definition of macro 'bitClear'

 #define bitClear(value, bit) ((value) &= ~(1UL << (bit)))

                                ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:34:11: note: suggested alternative: 'register'

  bitClear(registers[inRegister / 8], inRegister % 8);

           ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:113:32: note: in definition of macro 'bitClear'

 #define bitClear(value, bit) ((value) &= ~(1UL << (bit)))

                                ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: At global scope:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:37:6: error: 'Registers' has not been declared

 bool Registers::isAllocated(byte inRegister)

      ^~~~~~~~~

In file included from C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:7:0:

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp: In function 'bool isAllocated(byte)':

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:39:17: error: 'registers' was not declared in this scope

  return bitRead(registers[inRegister / 8], inRegister % 8);

                 ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:111:32: note: in definition of macro 'bitRead'

 #define bitRead(value, bit) (((value) >> (bit)) & 0x01)

                                ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Registers.cpp:39:17: note: suggested alternative: 'register'

  return bitRead(registers[inRegister / 8], inRegister % 8);

                 ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:111:32: note: in definition of macro 'bitRead'

 #define bitRead(value, bit) (((value) >> (bit)) & 0x01)

                                ^~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotive.cpp:10:1: error: 'Locomotive' does not name a type

 Locomotive::Locomotive(const char* inName, uint8_t inSpeedRegister, uint16_t inAddress, uint8_t inSpeedMax)

 ^~~~~~~~~~

C:\Users\gbouc\OneDrive\Documents\Arduino\libraries\DCCpp\src\Locomotives\Locomotive.cpp:25:1: error: 'Locomotive' does not name a type

 Locomotive::Locomotive(const char* inName, uint8_t inSpeedRegister, uint8_t inFunctionRegister, uint16_t inAddress, uint8_t inSpeedMax)

 ^~~~~~~~~~

exit status 1

Erreur de compilation pour la carte Arduino/Genuino Uno



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.

11
Présentez vous ! / Bonjour amis ferroviphiles
« le: septembre 12, 2020, 01:51:31 pm »
Bonjour à tous, chers amis passionnés de train miniature

J'ai découvert il y a peu Arduino et, bien que mes notions d'électronique soient très limitées, je constate que cette carte électronique (et les Attiny aussi) ouvrent un gigantesque champ de possibilités nouvelles.

Dans un premier temps, je souhaite, à partir du projet de va et vient expliqué par Thierry Paris, gérer une ligne de tramway avec arrêts intermédiaires... Mais aussi en faisant qu'en fonction de chaque arrêt, les annonces de station soient générées.

D'avance, merci pour votre aide, et en espérant que nous pourrons ensemble partager nos connaissances pour créer plein de trucs avec Arduino.

Bien à vous

Pages: [1]