Arduino - poäng/valdeltagandet kontroll (2 / 3 steg)

Steg 2: DCC packet mottagare - grundläggande krets



Uppdaterad 23 mars 2016:
Lade till nuvarande bemärkelse krets att skydda valdeltagandet spolar och H-bryggenheter etc från över strömmen.

int analogPin = 7.
CONST int Power_shut_off = 19. A5 som digital
pinMode (Power_shut_off, OUTPUT);
digitalWrite (Power_shut_off, hög);

I void loop():

amp = analogRead(analogPin);
om (amp > 5) {
Serial.println(amp); }
om (amp > 200) {/ / ca 2 ampere
digitalWrite (Power_shut_off, låg); }

När 2 ampere överskrids, stänger den spets 120 av strömmen (12 volt eller 15 volts matning) till valdeltagandet.
_____________________________________________________________________

Från en utmärkt tutorial av Geoff Bunza i Modelljärnväg hobby Magazine forum. Det beskrev hur en Arduino Pro Mini (en låg kostnad Arduino ombord) kunde vara trådbunden och programmerad att svara på funktionstangenterna på en styrenhet för DCC. Detta öppnar upp en vida världen kontrollalternativ för animeringar, ljud och andra alternativ på en DCC utrustad modelljärnväg.

Jag har gjort denna krets att fånga DCC paket från min Arduino baserade kommando Station
(se instructable). Kommandot stationen har också ändrats så att valdeltagandet kontroll (8 växlar så långt).

Grundläggande tillbehör dekoder packet är:
0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1

Från att analysera paketet används av Lenz (kompakt / Atlas) för poäng kontroll, jag har använt följande binära paketformat för byte 1 och 2:
tunAddr = 1
Valdeltagandet 1a: 1000 0001 1111 1000 / valdeltagandet 1b: 1000 0001 1111 1001
Valdeltagandet 2a: 1000 0001 1111 1010 / valdeltagandet 2b: 1000 0001 1111 1011
Valdeltagandet 3a: 1000 0001 1111 1100 / valdeltagandet 3b: 1000 0001 1111 1101
Valdeltagandet 4a: 1000 0001 1111 1110 / valdeltagandet 4b: 1000 0001 1111 1111
tunAddr = 2
------------------------------------------------------------------------------------------------------------
Valdeltagandet 5a: 1000 0010 1111 1000 / valdeltagandet 5b: 1000 0010 1111 1001
Valdeltagandet 6a: 1000 0010 1111 1010 / valdeltagandet 6b: 1000 0010 1111 1011
Valdeltagandet 7a: 1000 0010 1111 1100 / valdeltagandet 7b: 1000 0010 1111 1101
Valdeltagandet 8a: 1000 0010 1111 1110 / valdeltagandet 8b: 1000 0010 1111 1111
-----------------------------------------------------------------------------------------------------------
Valdeltagandet 9a: 1000 0011 1111 1000 / valdeltagandet 9b: 1000 0011 1111 1001
osv...

Genom manipulation av den binära paketen, kan vi extrahera det valdeltagandet krävs och skickar en puls av 350 ms.

T.ex.
tittar på första byte:

0x80 i HEX = 1000 0000 i binär

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

titta på andra byte:

0x8f8 i HEX = 1111 1000 i binär och sedan skifta bitvis >> 1 att undanröja sista biten

F1A på:

om (tunAddr == 1) {

om (((Msg -> Data[1]) - 0xf8 >> 1) + 1) == 1 & & (Msg -> Data [1] & 0x01) == 1) {

digitalWrite (FunctionPin1a, 1);
Delay(350);
digitalWrite (FunctionPin1a, 0); }

Diagrammet visar LED utgångar. Ersätta lysdioder med magnetventil drivrutiner e.g. TIP120 (2 av krävs för varje valdeltagandet) eller SN754410 Quad drivrutin (nätaggregat 2 valdeltagandet per IC).
Alla digitala utgångar används parvis för att producera en puls som bränder valdeltagandet solenoider via motor förare eller power darlington transistorer. Koden kan ändras för att matcha de drivrutiner som används från en '1' puls till en '0' puls.

Hämta NMRA biblioteket här

Hämta Arduino koden:

Se Steg
Relaterade Ämnen

Arduino - WEBCAM PAN TILT kontroll med servon & KY 023 Joystick

Hej världen! Gjorde idag jag en Pan tilt kontroll med en gammal webbkamera, Dont sinne dålig video, jag sa "Gamla" LoL! Dess ganska lätt att bygga du behöver 2 servon en joystick, schematiska, kod och lite kreativitet. Följ länken för Schematisk...

Arduino Uno solfjäder kontroll

Detta projekt tillåt förbrukaren till kontroll två olika fläktar och en servo. Fans kommer att automatiskt aktivera om en viss temperatur är uppnådd och servo kommer att vända 90 grader. En tryckknapp kan också för manuell kontroll av fans. När knapp...

Arduino pekskärm iTunes kontroll (ATSIC)

vad jag kommer att visa dig är hur man gör en iTunes kontroll enhet med hjälp av en Arduino och en pekskärm.ITunes kontroll fungerar genom att läsa område av pekskärmen och skicka ett brev till datorn via den seriella porten, som övervakas av en appl...

TouchOSC och Arduino Ethernet Shield till kontroll energi (A.M.P.A.E.)

Dag efter dag, människor använder en stor mängd prylar och slösa en massa energi att ha ingen oro om det. Vår idé är i grunden en mobil applikation för tabletter och smartphones som erbjuder användaren en total kontroll av alla energikällor som använ...

Arduino Servo Dual Mode kontroll - Pan/Tilt med Joystick

komponenter:1 x Arduino Duemilanovue2 x 3.7V Lithium polymer batterier parallellt2 x HiTEC HS-485 servon1 x Playstation 2 stil analog styrspak1 x gul lysdiodSkapa med följande referenser:http://Arduino-info.wikispaces.com/Brick-potentiometer-joystick...

Arduino/Android - BLUETOOTH hem kontroll + APP - med HC-06

Hej världen! Idag gjorde jag en Android APP att kontrollera 8 relär med arduino med HC-06 Bluetooth-modulen.Videon visar bara 2, men jag ändrade app!Du kan styra 2 lampor med den. jag skapade APP och dess tillgängliga öppen källkod för ett litet pris...

Arduino/Android - BLUETOOTH servomotor kontroll Android APP

Hej världen! Idag har jag gjort en APP för att styra en enda servo. i morgon kommer jag att göra en app för flera servon. Följ nästa steg för listan Schematisk, kod och reservdelar. Om du vill att källan till app bara att kontakta mig!FÅ APP påGOOGLE...

Arduino Universal Bluetooth Anslut - kontroll din Arduino med din Android-enhet

Jag ville alltid enkelt styra min Arduino med min Smartphone, men jag hittat aldrig den perfekta lösningen för att göra. Jag vill inte säga att detta är perfekt, men det gör vad jag vill att det ska do...well inte helt men jag är nära... Jag tror.I d...

Arduinos: Baserade Arduino tangentbord för kontroll av Sonos strömmande

Jag gillar inställningen Sonos har vi i vårt hus, men jag hatar att ha eld upp min smartphone eller Tablet PC när jag behöver skifta mellan internet-radiostationer.Vi lyssna normalt bara några lokala radiostationer (och naturligtvis thejazzgroove.com...

KONTROLL 8 LED använder ARDUINO:-

Jag hoppas du kan ha ha praxis min att komma igång med ARDUINO #1 som utställningsmonter du kontroll av LED med Arduino.In detta instructables jag lär dig att kontrollera 8 ledde samtidigt. så är du redo att bygga en färgglad instructables??. Fortsät...

Hackat Hexbug Spider Arduino kontroll

Detta projekt har hexbug Arduino-baserad robot spindel ska kolla. Styrsystemet kommer att slutföra vårt projekt genom att ge både telefon och dator.http://make.robimek.com/Arduino-Control-hexbug-Spider/Steg 1: material:Hexbug Spider (XL)Arduino NanoH...

Arduino servo kontroll med hjälp av ultraljud sensor

Hej alla, jag har ett annat arduino projekt på servo kontroll, men jag bestämde mig att ge det en twist med hjälp av en ultrasonic sensor, det fungerar som ett kommunikationsgränssnitt för styrning av motorerna till en bobcat jag försöker göra. de fl...

Arduino kontroll via en webbtjänst med Teleduino

Konvertera din Arduino till en sofistikerad kontroll webbplattform med hjälp av Teleduino.Teleduino är både en produkt och en tjänst. När Teleduino skissen har laddats på din Arduino ("produkten"), den sedan ansluter till Teleduino servern vänta...

Modell järnväg - DCC kommando Station genom att använda Arduino:

Uppdatering 28 April 2016:Nu 16 valdeltagandet / poäng kontroll anlagen till kommando Station.Räls/växlar T1 - T8 finns tillgängliga via "B"-knappenRäls/växlar T9 - T16 finns tillgängliga via "C" nyckelUppdatering 10: e mars 2016:Nu la...

Arduino Tutorial Bundle.: Arduino experimenterande Kit:. (ARDX)

Intresserad av att göra snyggt projekt med en Arduino men inte säker på var du ska börja?Här är ett lätt att följa guide på hur man ansluta och använda en uppsjö av elektroniska komponenter.(skamlös plugg)Vill du göra allt?Komplett kit med komponente...

Chalieplexing 4 RGB-lysdioder med 4 trådar på Arduino

Har du alla behov många lysdioder, men bara några sladdar? Då är Charlieplexing en stor sak att prova. Med bara 4 trådar kan du köra 12 ledde med endast 4 motstånd som ett extra skydd och utan någon "informationsövertag" komponent som en 74595 e...

Arduinolyzer.js: Förvandla din Arduino till en logik Analyzer

När jag jobbade på Intel som hårdvara designer, använde jag en logik analyzer för felsökning mikroprocessorer och chipsets. En logik analyzer är en maskin som ansluter till din krets och omvandlar det som händer i kretsen i en vågform på en skärm. De...

Arduino Powered Home

Jag har gjort några uppdateringar till detta instructable sedan Aug 2014 ***Jag bestämde mig att dela denna information så att det kan hjälpa andra som har kämpat för att göra liknande saker med deras Arduino. Jag har nyligen fått med Arduino. Jag kö...

Arduino Laser gravör

jag började detta projekt eftersom jag ville göra något som hade mekaniska, elektriska och programvarukomponenter. Efter att ha tittat på Instructables, tänkte jag att en Arduino baserade laser gravör skulle vara en intressant maskin för att göra, oc...