Arduino - contrôle de points/turnout (2 / 3 étapes)

Étape 2: Récepteur DCC paquet - circuit de base

Mise à jour 23 mars 2016 :
Circuit de sens courant pour protéger les bobines de participation et de dispositifs de pont en H a ajouté etc. plus de courant.

 int analogPin = 7; const int Power_shut_off = 19; // A5 as digital pinMode(Power_shut_off, OUTPUT); digitalWrite(Power_shut_off, HIGH); 

En void loop() :

 amp = analogRead(analogPin); if (amp > 5){ Serial.println(amp); } if (amp > 200 ){ // approx 2 amps digitalWrite(Power_shut_off, LOW); } 

Lorsque 2 ampères est dépassée, le TIP 120 coupe le courant (alimentation 12 ou 15 volts) pour les branchements.
_____________________________________________________________________

D’un excellent tutoriel par Geoff Bunza au forum Model Railroad Hobbyist Magazine. Il décrit comment un Arduino Pro Mini (une carte Arduino low cost) pourraient être câblé et programmé pour répondre aux touches de fonction sur un contrôleur de la CDC. Cela ouvre un vaste monde des options de contrôle pour les animations, sonores et autres options sur un chemin de fer modèle DCC équipée.

J’ai fait usage de ce circuit pour capturer les paquets DCC de mon Arduino base Station de commande
(voir instructable). La station de commande a également été modifiée pour permettre la participation de contrôle (8 branchements jusqu'à présent).

Paquet de décodeur base accessoire est :
10AAAAAA 0 1AAACDDD 0 ELAYAR 0 1

D’analyser les paquets utilisé par Lenz (Compact / Atlas) pour les points de contrôle, j’ai utilisé le format de paquet binaire suivant pour octets 1 et 2 :
tunAddr = 1
Taux de participation 1 a: 1000 0001 1111 1000 / 1 b taux de participation : 1000 0001 1111 1001
Branchement 2 a: 1000 0001 1111 1010 / 2 b taux de participation : 1000 0001 1111 1011
Branchement 3 a: 1000 0001 1111 1100 / branchement 3 b: 1000 0001 1111 1101
Branchement 4 a: 1000 0001 1111 1110 / participation 4 b: 1000 0001 1111 1111
tunAddr = 2
------------------------------------------------------------------------------------------------------------
Taux de participation 5 a: 1000 1000 de 1111 0010 / participation 5 b: 1000 1001 de 1111 0010
Branchement 6 a: 1000 1010 de 1111 0010 / 6 b taux de participation : 1000 0010 1111 1011
Taux de participation 7 a: 1000 1100 de 1111 0010 / 7 b taux de participation : 1000 1101 de 1111 0010
Taux de participation 8 a: 1000 0010 1111 1110 / 8 b taux de participation : 1000 0010 1111 1111
-----------------------------------------------------------------------------------------------------------
Taux de participation 9 a: 1000 0011 1111 1000 / 9 b taux de participation : 1000 0011 1111 1001
etc....

Par une manipulation du paquet binaire, nous pouvons extraire les branchements nécessaires et envoyer une impulsion de 350 ms.

Par exemple
regarder le premier octet:

0 x 80 en hexadécimal = 1000 0000 en binaire

 tunAddr = (Msg->Data[0] - 0x80); 

regardant le deuxième octet:

0x8f8 en hexadécimal = 1111 1000 en binaire, puis passer au niveau du bit >> 1 pour éliminer le dernier morceau

F1a sur :

 if (tunAddr == 1){ 
 if ((((Msg->Data[1]) - 0xf8>>1) + 1) == 1 && (Msg->Data[1] & 0x01) == 1){ 
 digitalWrite(FunctionPin1a, 1); delay(350); digitalWrite(FunctionPin1a, 0); } 

Le diagramme montre LED sorties. Remplacer les LEDs avec les pilotes de solénoïde par exemple TIP120 (2 arrêt requis pour chaque taux de participation) ou un pilote de Quad SN754410 (fournitures de bureau 2 branchements par IC).
Toutes les sorties numériques sont utilisés en paires pour produire une impulsion déclenchant les solénoïdes de participation via chauffeurs ou transistors darlington de puissance. Le code peut être modifié pour correspondre les pilotes utilisés par une « 1 » impulsion à une impulsion de « 0 ».

Télécharger NMRA bibliothèque ici

Télécharger le Code de l’Arduino :

Articles Liés

Autocollant de fenêtre numérique (Arduino contrôlée)

Autocollant de fenêtre numérique (Arduino contrôlée)

un autocollant de taille matrice de LED qui affiche des images en séquence à partir d'une carte SD, pour produire une animation signe ou « vitrophanie ». Arduino contrôlée ! Inclut également le code de Windows, Mac et Linux pour la conversion des fic
GOduino II = Arduino + contrôleur de moteur à Vitesse Variable L293D

GOduino II = Arduino + contrôleur de moteur à Vitesse Variable L293D

mises à jourGOduino II a été présenté sur dangerousprototypes.com07/04/2012, j'ai ajouté une diapositive de budget pour les lecteurs qui sont demandent où j'ai obtenu mon budget < 20 $ pour le GOduino II.INTRODUCTIONLe GOduino II est un contrôleur pr
Arduino contrôlée CNC / 3D imprimante hybride

Arduino contrôlée CNC / 3D imprimante hybride

Dame Nature fait... Nous construisons des.BuildersBot fusibles impression 3D & fraisage CNC dans rêve d'un générateur "3dprintingindustry.com"Le BuilderBot est une machine de conception ouverte, qui utilise OpenLogiciels et matériels ouvert.
Arduino contrôlée variateur de lumière

Arduino contrôlée variateur de lumière

Avertissement : Certaines personnes essaient de construire ce avec un opto-coupleur avec zerocrossing coz droit « c'est mieux » ? Certains sont même dit, dans les magasins d'électronique, il est préférable d'utiliser tel un opto-coupleur. MAL. Ceci f
Arduino contrôlée ATX Power Supply

Arduino contrôlée ATX Power Supply

pouvez un microcontrôleur contrôler sa propre puissance ?  Eh bien presque !Une ATX alimentation, neuf ou d'un vieux PC, est un excellent moyen pour alimenter l'Arduino et autres projets de microcontrôleur.  Qui est couvert dans plusieurs ' ibles tel
Bon marché Arduino contrôlée Yaourtière

Bon marché Arduino contrôlée Yaourtière

ces jours, je lisais un post intéressant sur comment faire des yaourt "par le gallon" ( Une chose nécessaire était de maintenir une température assez constante de 43 ° c (110° F), alors que les bactéries peuvent se développer correctement. Bien
ARDUINO contrôlée 12v RGB LED STRIP

ARDUINO contrôlée 12v RGB LED STRIP

Il y a un an j'ai découvert que les bandes de LED RVB sur Amazon. Être juste avant le début de la saison des festivals musique, j'ai naturellement alla droit à travailler à rendre fous lumineux clignotants festivals jouets. Les bandes non adressable
Arduino contrôlée hélicoptère

Arduino contrôlée hélicoptère

Cette instructable a été créée dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com). L'objectif de ce cours était pour nous enseigner la créativité, l'ingéniosité et l'application prati
Laser Galvo - Arduino contrôlée

Laser Galvo - Arduino contrôlée

Arduino contrôlée laser galvo. La servocommande de miroirs diriger le laser UV laissant une traînée phosphorescente sur la feuille de vinyle glow-in-the-dark.Posté sur notes.robives.comÉtape 1 :À partir d'une feuille de vinyle lumineux d'eBay et poin
Couvre-feu pour animaux de compagnie : Un Arduino contrôlée chatière

Couvre-feu pour animaux de compagnie : Un Arduino contrôlée chatière

Le problème: vous voulez restreindre le temps lorsque votre animal de compagnie est autorisé à aller à l'extérieur. C'est peut-être parce que le quartier n'est pas sans danger pour votre chat ou votre petit chien pendant la nuit (maraude coyotes vien
Arduino contrôlée de fenêtre pour chat

Arduino contrôlée de fenêtre pour chat

je soumets cette instructable le défi de l'Arduino. N'oubliez pas de voter !Mon voisin a eu un petit problème avec son chat. Il veulent de sortir et de revenir trop souvent à l'intérieur. Habituellement, il ouvre juste la fenêtre de sa cuisine et nou
Capteur infrarouge guidée Arduino contrôlée L293D Robot (partie 2)

Capteur infrarouge guidée Arduino contrôlée L293D Robot (partie 2)

Voici la partie 2 de l'Arduino contrôlée Robot L293D.Partie 2 comprend Sensors.This infrarouge fait partie d'une série d'instructables conduisant à un adepte de la ligne Robot.QRD1114 capteur infrarouge reliée à ArduinoÉtape 1: Câblage du capteur inf
Arduino contrôlée Servo Robot (Serbes)

Arduino contrôlée Servo Robot (Serbes)

quoi de mieux pour commencer à expérimenter avec open source microcontrôleurs ( Arduino ), puis en construisant votre propre robot source ( CC (SA-de)) ?Que faire avec votre serbe ?(Voici) - comment connecter votre serbe à l'internet et le lecteur su
Arduino contrôlée minuterie de cuisine

Arduino contrôlée minuterie de cuisine

Chacun d'entre vous doit ont vécu ce que vous avez quelque chose à cuire sur votre gazinière tandis que de l'autre côté vous get occupé à regarder la télévision ou obtenir une conversation profonde que vous réalisez sur la détection d'une odeur qu'il