Arduino - control de puntos de la participación (2 / 3 paso)

Paso 2: Receptor de paquete DCC - circuito básico

Actualizado 23 de marzo de 2016:
Añadido circuito de sentido actual para proteger dispositivos de puente de H y bobinas de desvíos etc. más de corriente.

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

En el void loop():

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

Cuando se supera los 2 amperios, el 120 de punta, se corta la alimentación (12 voltios o 15 voltios) los desvíos.
_____________________________________________________________________

De un excelente tutorial por Geoff Bunza en el foro de la revista del aficionado a los hobbys de Model Railroad . Describe cómo un Arduino Mini Pro (una placa de Arduino bajo costo) podría ser cableado y programado para responder a las teclas de función en un controlador de DCC. Esto abre un mundo de opciones de control para las animaciones, sonidas y otras opciones en un ferrocarril del modelo DCC equipado.

He hecho uso de este circuito para capturar los paquetes DCC de mi Arduino basado en central
(ver instructivo). La central también ha sido modificada para permitir el control de desvío (8 desvío hasta ahora).

Básico paquete decodificador de accesorios es:
10AAAAAA 0 0 1AAACDDD EEEEEEEE 0 1

De analizar el paquete utilizado por Lenz (compacto / Atlas) para puntos de control, he utilizado el siguiente formato de paquetes binarios para bytes 1 y 2:
tunAddr = 1
1a participación: 1000 0001 1111 1000 / participación 1b: 1000 0001 1111 1001
Participación 2a: 1000 0001 1111 1010 / participación 2b: 1000 0001 1111 1011
Séquito de la 3a: 1000 0001 1111 1100 / participación 3b: 1000 0001 1111 1101
Séquito de la 4a: 1000 0001 1111 1110 / participación 4b: 1000 0001 1111 1111
tunAddr = 2
------------------------------------------------------------------------------------------------------------
Participación 5a: 1000 0010 1111 1000 / participación 5b: 1000 0010 1111 1001
Séquito de la 6a: 1000 0010 1111 1010 / participación 6b: 1000 0010 1111 1011
Séquito de la 7a: 1000 0010 1111 1100 / desvío 7b: 1000 0010 1111 1101
Séquito de la 8a: 1000 0010 1111 1110 / participación 8b: 1000 0010 1111 1111
-----------------------------------------------------------------------------------------------------------
Séquito de la 9a: 1000 0011 1111 1000 / participación 9b: 1000 0011 1111 1001
etc....

Por la manipulación del paquete binario, podemos extraer los desvíos necesarios y enviar un pulso de ms de 350.

Por ejemplo
busca en el primer byte:

0 x 80 en hexadecimal = 1000 0000 en binario

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

busca en el segundo byte:

0x8f8 en hexadecimal = 1111 1000 en binario, entonces cambie de puesto bitwise >> 1 para eliminar la última parte

F1A en:

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

El diagrama muestra LED salidas. Sustituir el LED con controlador de solenoide por ejemplo TIP120 (2 apagado para cada participación) o controlador SN754410 Quad (2 desvíos por IC de las fuentes).
Todas las salidas digitales se utilizan en pares para producir un pulso que se activa los solenoides de participación a través de controladores de motor o los transistores darlington de potencia. El código puede cambiarse para que coincida con los controladores que utiliza un pulso de '1' para un pulso de '0'.

Descargar biblioteca NMRA aquí

Descargar el código de Arduino:

Artículos Relacionados

La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

Actualización:Hay una nueva versión de la Climaduino y el Climaduino con algunos cambios muy significativos.Soporta múltiples zonasUtiliza el Arduino YúnTrabaja con aire acondicionado CentralSe comunica mediante el protocolo MQTT (se puede integrar c
Arduino controla el temporizador de cocina

Arduino controla el temporizador de cocina

Todos ustedes deben han experimentado esto que tienes algo cocinan sobre su cocina por el otro lado conseguir ocupado viendo la televisión o conseguir una conversación profunda que te das cuenta en la detección de un olor que completamente fue estrop
Hackeado Hexbug araña Arduino Control

Hackeado Hexbug araña Arduino Control

Este proyecto tiene hexbug araña basada en Arduino robot comprobaré. El sistema de control completa nuestro proyecto proporcionando tanto por teléfono y la computadora.http://make.robimek.com/Arduino-control-Hexbug-Spider/Paso 1: materiales:Hexbug ar
Arduino controla el faro

Arduino controla el faro

Resumen:A menudo he pensado que un faro de un gran proyecto para un Arduino, y decidí probar con uno de los faros locales aquí en Erie, Pennsylvania como inspiración. Elegí el Norte Pierhead Faro que custodia la entrada a la bahía de la isla de Presq
Arduino controla RGB LED Junta de matriz de punto

Arduino controla RGB LED Junta de matriz de punto

este proyecto es un tablero de música DIY relativamente directa y simple.La Junta de matriz de puntos permitirá a cualquier persona de crear su propia música y ritmos.Todo lo que necesitas tener es una comprensión del Arduino y el circuito.Paso 1: Re
Arduino controla colmena fumigador / ambientador de aire

Arduino controla colmena fumigador / ambientador de aire

Dentro del caos relativo de mi arreglos domésticos, tengo un pequeño oasis de orden perfecto. Una cosa que puedo llamar 'organizado' y totalmente funcional. Una cosa que puedo tocar y saber que es confiable y listo para la acción en un aviso de momen
Arduino controla Rotary Stewart Platform

Arduino controla Rotary Stewart Platform

Este instructable es sobre la construcción de un rotatorio Plataforma de Stewart. Permite posicionar su plataforma móvil en seis grados de libertad. Esta plataforma específica está diseñada para poder colocar una réflex digital o cualquier otra cámar
Arduino controla el árbol de Navidad de LED RGB posicional

Arduino controla el árbol de Navidad de LED RGB posicional

En este Instructable nos va creando un árbol de Navidad de LED RGB programables y construyendo (X, Y) posición de las luces en el Arduino que podemos crear diferentes patrones tanto animada como estática. Yo recomendaría esto a cualquier persona que
¿Arduino controla ATX fuente de alimentación

¿Arduino controla ATX fuente de alimentación

un microcontrolador controlar su propio poder?  Bueno casi!Una alimentación de ATX de la fuente, ya sea nueva o de una PC vieja, es una gran manera para alimentar el Arduino y otros proyectos de microcontrolador.  Que se cubre en varios ' ibles como
Arduino controla Nerf Vulcan

Arduino controla Nerf Vulcan

sí, es exactamente lo que dice el titulo es. Este instructable le mostrará cómo controlar cualquier Nerf Vulcan, con el Arduino. El tutorial suministrado solo se dispara durante 2,5 segundos, parada durante 2,5 segundos y así sucesivamente. Es como u
Arduino: Control de servos con botones

Arduino: Control de servos con botones

Mientras que hay un montón de tutoriales sobre cómo control de Servos con palancas de mando y sensores analógicos, a veces queremos controlar un servo con botones.Aquí es una manera realmente fácil y rápida para ello, con la ayuda de Visuino - un amb
Cómo controlar un Arduino controla brazo robótico Dobot equipo

Cómo controlar un Arduino controla brazo robótico Dobot equipo

Siempre decimos, Dobot es una alta precisión, múltiples brazo robótico escritorio de control. En instructables pasado, hemos demostrado usted la alta precisión y la función de escritorio construyendo un laser de corte y soldadura brazo Dobot. En este
Arduino controla intermitente hadas luces de Navidad con Jingle Bells

Arduino controla intermitente hadas luces de Navidad con Jingle Bells

como mi primer proyecto de Arduino que quería hacer algo impresionante pero no demasiado difíciles. Entré en un Hack de Navidad con este proyecto y lo ganó! La gente le encanta las luces de Navidad.Al final de este tienes un juego de luces de hadas d
Arduino controla catapulta

Arduino controla catapulta

hace poco tuve la idea de crear una catapulta, pero no cualquier tipo de catapulta, una catapulta electrónica! Quería algo que sólo podía sentarse abajo golpeó algunos botones y verlo hacer su cosa sin ser grande.Esto es lo que se me ocurrió:Es un po