Entrées numériques et résistance pull-up (2)

Relions des ILS à l’Arduino

. Par : Marc-Henri. URL : https://www.locoduino.org/spip.php?article126

Dans le 1er article de cette série, Entrées numériques et résistance pull-up, nous avons vu comment relier des boutons poussoir à l’Arduino, la notion de résistance pull-up et l’utilisation des pull-up intégrées.

Pour des applications plus ferroviaires, voyons comment relier des ILS à l’Arduino afin de détecter des trains.

Rappel sur les ILS

Un ILS (Interrupteur à Lame Souple) se présente comme suit (source des photos : site de Roger Demard) :

L’ILS est une petite ampoule de verre incluant 2 lames souples avec 2 connecteurs aux extrémités. Au repos, le circuit est ouvert ; lorsqu’il est activé par un aimant, le circuit est fermé et le courant passe. On l’installe au milieu de voies en général comme suit :

Un aimant, collé sous le matériel roulant, permet d’activer l’ILS. En modélisme ferroviaire, cela s’utilise en H0, en N et probablement aussi dans les échelles plus grandes.

Connexion à l’Arduino

Du point de vue électrique, l’ILS se comporte comme un bouton poussoir, sa connexion à l’Arduino suit les mêmes principes.

L’une des extrémités de l’ILS est reliée à la masse (GND, 0 V) tandis que l’autre est reliée à l’entrée numérique correspondante. À l’instar des boutons poussoir, la résistance pull-up est aussi activée. Lorsqu’une loco équipée d’un aimant passe au-dessus, l’ILS se ferme et la masse est reliée à l’entrée numérique qui prend alors l’état logique bas.

La configuration de l’entrée et sa lecture dans le programme se fait exactement de la même manière que pour un bouton poussoir, ainsi que décrit dans l’article : Entrées numériques et résistance pull-up.

Plusieurs ILS

Bien entendu, si on a besoin de relier plusieurs ILS à l’Arduino, il suffit de répéter le schéma précédent pour une autre entrée numérique et la configurer en conséquence dans le programme.

Plusieurs ILS à la même entrée numérique

Il y a toutefois un cas particulier où on peut relier plusieurs ILS à une seule entrée numérique.

Imaginons par exemple un passage à niveau en amont duquel se trouve une aiguille. Un train venant de la voie 1 ou de la voie 2 doit déclencher la fermeture du passage à niveau. Il suffit de relier les 2 ILS de chaque voie arrivant à l’aiguille à la même entrée numérique de l’Arduino comme suit.

Ainsi, lorsque les 2 ILS sont ouverts, la résistance pull-up interne impose 5 V à l’entrée numérique correspondant au niveau logique haut.

Lorsque la loco équipée d’un aimant passe sur l’ILS de la voie 1, l’ILS se ferme et la masse est reliée à l’entrée numérique (tracé en vert). L’entrée numérique prend alors l’état logique bas.

Si la loco passait sur l’ILS de la voie 2, il se passerait exactement la même chose. Pour que l’entrée numérique passe à l’état bas, il faut donc qu’une loco équipée d’un aimant passe sur l’ILS de la voie 1 ou sur l’ILS de la voie 2.

Cette manière de faire s’appelle le ou câblé car on réalise la fonction logique ou sans utiliser de porte logique. Elle est illustrée ici avec des ILS, mais on peut aussi l’appliquer avec les boutons poussoir et avec les transistors.

Ainsi dans l’exemple précédent, si on a aussi besoin de commander manuellement le passage à niveau, il suffit de relier un bouton poussoir en parallèle aux 2 ILS.