Auteur Sujet: Gérer un tramway en va et vient avec Arduino  (Lu 18856 fois)

gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
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.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #1 le: septembre 12, 2020, 02:32:32 pm »
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.

Bonjour,

bienvenue à Locoduino.

je n'ai pas identifié de quel article il s'agit : une recherche avec "tramway" sur le forum ou le site éditorial conduit à rien qui y ressemble ...

S'agit-il de celui de Dominique ?
https://www.locoduino.org/spip.php?article232

Quel sketch compilez vous ?
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #2 le: septembre 12, 2020, 04:39:57 pm »
Bonjour et bienvenue Geoffroy,

De toute façon l’installation de l’IDE Arduino ne doit pas être conforme aux règles données sur le site Arduino et on voit que les bibliothèques ne sont pas trouvées donc les objets et fonctions qu’elles contiennent.

Oui, quel article vous sert de modèle (un lien) ?
Cordialement,
Dominique

gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #3 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

gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #4 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



gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #5 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

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #6 le: septembre 19, 2020, 08:26:24 am »
C’est le contraire. : un ILS est ouvert sans champ magnétique et se ferme en présence d’un aimant.

https://fr.m.wikipedia.org/wiki/Interrupteur_reed

Oui vous pouvez utiliser des ILS ou d’autres capteurs ponctuels ou fugitifs (comme ceux à effet hall) car l’Arduino est assez rapide pour détecter les changements d’état.

Utilisez impérativement la bibliothèque bounce2 avec les ILS car il y a des rebonds aux contacts.

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.
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Gérer un tramway en va et vient avec Arduino
« Réponse #7 le: septembre 19, 2020, 09:49:21 am »
... 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.
Cordialement

chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #8 le: septembre 19, 2020, 10:45:23 am »
Ce genre d'ILS n'est intéressant qu'en électronique classique.
Avec l'électronique programmable, il n'y a aucune valeur ajoutée puisque le microcontrôleur est capable de traiter lui-même le signal, comme par exemple réagir à un ILS fermé ou ouvert ou changeant d'état.

gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : Re : Gérer un tramway en va et vient avec Arduino
« Réponse #9 le: septembre 19, 2020, 02:07:47 pm »
... 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

gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Re : Gérer un tramway en va et vient avec Arduino
« Réponse #10 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

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Re : Re : Gérer un tramway en va et vient avec Arduino
« Réponse #11 le: septembre 19, 2020, 02:44:47 pm »

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

Cordialement

Regardez bien : c’est un indispensable dans la boîte à outils du Locoduiniste  ;D

Ou encore Onebutton que je n’ai pas encore utilisé.

Citer
Basically, the mechanical part of buttons and switches vibrate slightly when closed or opened causing multiple undesired false states (similar to noise). This library filters out these undesired state changes. More about debouncing: http://en.wikipedia.org/wiki/Debounce#Contact_bounce
« Modifié: septembre 19, 2020, 02:52:14 pm par Dominique »
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Re : Re : Gérer un tramway en va et vient avec Arduino
« Réponse #12 le: septembre 19, 2020, 03:32:38 pm »
... 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

On ne conteste pas l'intérêt des ILS en général mais de ceux qui sont normalement fermés (N/C) et qui sont au moins quatre fois plus chers que les N/O.
Les plus nombreux que j'ai vu sur Amazon (13/16) sont des N/O. Et il est probable qu'ils sont plus sensibles.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #13 le: septembre 19, 2020, 03:44:34 pm »
Moi, j’utilise encore des ILS que j’ai en stock depuis 1980, il sont normalement ouverts et fonctionnement toujours très bien.
Cordialement,
Dominique

gdefareins

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Gérer un tramway en va et vient avec Arduino
« Réponse #14 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