Bonjour
Détecteur N° de locos avec un pseudo code-barre (rien d'extraordinaire)
Merci à Jean-Luc & Christophe pour l’aide sur la partie Soft.
L’idée : installer un nombre de barres réfléchissantes sous une loco et lire un nombre d’impulsions. L’Arduino compte ce nombre et affiche le numéro de la loco préprogrammée sur un écran Oled128/x64 I²c.
Le plus : une fois l’alimentation coupée on garde dans l’EEPROM le numéro.
Quelques réserves :
Le nombre maximum de machines est limité « 12 » (j’ai fait des essais jusqu’à 15). La limite
n’est PAS le programme, mais le nombre de barres « longueur de la locomotive » mettre un maximum de bande réfléchissantes sur des machines dont l’écartement entre bogies est
le plus court, le nombre d’impulsions est plus précis.
Les premiers tests, le détecteur était placé somme toute dans un endroit où la lumière du jour et l’éclairage étaient normaux, les essais étaient concluants.
J’ai installé 2 détecteurs (voir photo) sur le réseau & bien sur « Murphy » est arrivé.
L’éclairage, allumage d’interrupteurs, branchement de prise, les IR, les contacts perturbent le CNY70 (ceci dit, pas tout le temps
mais, après quelques minutes le numéro affiché changeait sans raison)
J’ai cherché pendant plusieurs jours une solution.
1_ Installer les 2 Arduinos dans un boitier métallique
2_ Rajouter un régulateur de tension 12volts 9volts
3_ Couper l’alimentation (+) du CNY avec un interrupteur
4_ Installer du fil blindé entre le CNY et les entrées de l’Arduino
5_ Installer des condensateurs sur la sortie de l’alimentation 220MKT et 10Nano
Le résultat était toujours identique.
6_ En désespoir de cause, j’ai rajouté un condensateur de 100picos sur l’entrée D2 et la masse & depuis cela fonctionne (peut-être l’ensemble des éléments cumulés ?)
1_ Mise en place sous la loco des coupons de bande réfléchissante longueur 4mm et de largeur 5mm (j’utilise de la bande autocollante pour capteur de vitesse moteur)
Ils seront collés avec des intervalles de 4mm (on utilise la couleur noire du support de bogie pour couper le signal le détecteur comptera que les bandes blanches réfléchissantes)
Faire un tableau dans lequel vous noter vos numéros de machines (maximum 4 chiffres) Plus le bogie est court, plus vous devrez installer de barres (à calculer)
Dans le programme ligne => 28 remplacer les numéros existant de machines par les vôtres »
NE PAS supprimer le -00- il correspond à un numéro NON UTILISE »
Dans le programme ligne => 41 vous pouvez remplacer « TRACK_1 » par une autre entité composée d’un maximum de lettres (7)
2_ Détecteur CNY70, il est très sensible à la lumière (IR, Néon, etc…) pour les raisons mentionnées ci-dessus et au regard du coup de l’opération je suis allé jusqu’au bout, dans un endroit sombre 100% d’efficacité et 98% avec les perturbations.
Une donnée de dernière minute que je n’avais pas pris du tout en compte…(avec du code 55 => décodage correct, avec du code 100 => erreur de décodage)
ATTENTION. Le réglage entre le bogie et le CNY est très important, suivant le code utilisé (100, 83, 75, 55) l’espace entre le détecteur et le haut du rail doit être EGAL à 1,5 mm « j’ai fabriqué une cale »
Pour le code 55 le haut du CNY est à la limite des traverses.
Branchement, ATTENTION suivre le plan, 2 fils Rouge sur les plus (+), un fils noir (- ), avec résistance de 220homs, un fil bleu (- ) avec résistance de 22K , sortie vers interface.
Avant d’installer les gaines thermorétractables, faire le test de tout l’ensemble.
Installer les gaines thermorétractables sur les 4 pins du CNY70
Installer une autre gaine thermorétractable plus importante qui entoure les 4 petites (voir photo)
L’alimentation est en 12volts CC pour l’ensemble et le CNY70, un régulateur de tension 9volts pour les Arduinos
L’installation entre la voie du CNY70, faire un perçage d’un diamètre de 8mm, agrandir à la lime pour intégrer le CNY70.
Réglage, celui-ci sera installé à la hauteur des traverses (lire précédemment, voir photo) et dans le sens de marche (voir photo)
3_ Interface CNY vers Arduino
Cette interface comprend un Transistor 2N3904, 1 potentiomètre de 100k, 3 résistances 2 x 1k et 1x 10k
4_ Arduino Nano
Entrée de l’interface sur la Pin D2
Sortie Afficher OLED A4 & A5
L’alimentation de l’afficheur est en 5volts CC via le Nano (voir schéma)
5_ Programme
L’affichage n’est pas instantané, il est légèrement long (10 secondes) c’est normal. L’Arduino doit calculer le nombre de barres (1 ou 2 bogies) La vitesse de la loco n’a pas d’incidence sur le comptage.
Une vidéo
Le programme
Cordialement
Marcel