Model Railway - DCC commando Station met behulp van Arduino: (1 / 3 stap)

Stap 1: Arduino code - opdracht station met toetsenbord


Nu 16 wissels aan opdracht Station toegevoegd. Zie instructable op de opkomst / punten circuit diagram met behulp van de Arduino Mini Pro module.

De gewijzigde code met inbegrip van opkomst controle is die hieronder zijn toegevoegd.

Fundamentele accessoire decoder packet is:
0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1
Uit de analyse van het pakket gebruikt door Lenz (Compact / Atlas) voor controle van de punten, ik heb de volgende binaire pakketindeling gebruikt voor bytes 1 en 2:
tunAddr = 1
Opkomst 1a: 1000 0001 1111 1000 / opkomst 1b: 1000 0001 1111 1001
Opkomst 2a: 1000 0001 1111 1010 / opkomst 2b: 1000 0001 1111 1011
Opkomst 3a: 1000 0001 1111 1100 / opkomst 3b: 1000 0001 1111 1101
Opkomst 4a: 1000 0001 1111 1110 / opkomst 4b: 1000 0001 1111 1111
tunAddr = 2
------------------------------------------------------------------------------------------------------------
Opkomst 5a: 1000 0010 1111 1000 / opkomst 5b: 1000 0010 1111 1001
Opkomst 6a: 1000 0010 1111 1010 / opkomst 6b: 1000 0010 1111 1011
Opkomst 7a: 1000 0010 1111 1100 / opkomst 7b: 1000 0010 1111 1101
Opkomst 8a: 1000 0010 1111 1110 / opkomst 8b: 1000 0010 1111 1111
-----------------------------------------------------------------------------------------------------------
Opkomst 9a: 1000 0011 1111 1000 / opkomst 9b: 1000 0011 1111 1001
enz...

Uittreksel uit de gewijzigde code:
Toevoegen 2 meer 'struct' bericht bijgewerkt
VOID amend_tun1 (struct bericht & x)
{
x.data[0] = 0x81; accessoire decoder 0x80 & adres 1
x.data[1] = 0;
}

VOID amend_tun2 (struct bericht & x)
{x.data[0] = 0x82; / / accessoire decoder 0x80 & adres 2
x.data[1] = 0;
}

Toevoegen nieuwe leegte voor wissels:
Booleaanse read_turnout() {}
vertraging(20);

Boole changed_t = false;
get_key();

Als (key_val > = 101 & & key_val < = 404 & & zet == 1) {}

gegevens = 0xf8; / / = binaire 1111 1000

amend_tun1(msg[1]);

}

Als (key_val > = 505 & & key_val < = 808 & & zet == 1) {}

gegevens = 0xf8; / / = binaire 1111 1000

amend_tun2(msg[1]);

}

Als (key_val == 101 & & zet == 1) {}

Als (tun1 == 1) {}

gegevens | = 0; t1a

changed_t = true;}

Als (tun1 == 0) {}

gegevens | = 0x01; T1b

changed_t = true;}

}

Als (key_val == 202 & & zet == 1) {}

Als (tun2 == 1) {}

gegevens | = 0x02; T2a

changed_t = true;

}

Als (tun2 == 0) {}

gegevens | = 0x03; T2B

changed_t = true; }

}

Als (key_val == 303 & & zet == 1) {}

Als (tun3 == 1) {}

gegevens | = 0x04; T3a

changed_t = true;

}

Als (tun3 == 0) {}

gegevens | = 0x05; t3b

changed_t = true;}

}

Als (key_val == 404 & & zet == 1) {}

Als (tun4 == 1) {}

gegevens | = 0x06; T4a

changed_t = true;

}

Als (tun4 == 0) {}

gegevens | = 0x07; f4b

changed_t = true;}

}

Als (key_val == 505 & & zet == 1) {}

Als (tun5 == 1) {}

gegevens | = 0; t5a

changed_t = true;

}

Als (tun5 == 0) {}

gegevens | = 0x01; t5b

changed_t = true;}

}

etc ......................

Gerelateerde Artikelen

Een zonne-tracking automatische gemotoriseerde window blind retrofit met behulp van Arduino

Een zonne-tracking automatische gemotoriseerde window blind retrofit met behulp van Arduino

Gebouwen-account voor 20-40% van de totale energie gebruik in ontwikkelde landen. Venster tinten (of jaloezieën) kunnen helpen om bouw energie gebruiken en visueel comfort (dat wil zeggen, vermindering van de schittering en verhoging van de dagverlic
Hoe te maken A Keypad deur vergrendelen met behulp van Arduino

Hoe te maken A Keypad deur vergrendelen met behulp van Arduino

Je heb ooit gedacht wat u kunt doen met de oude dvd-schijf... Nou draaide ik het in een koele deur vergrendeling unit...Wat die heeft u nodig1. de Arduino Uno2. een oude Dvd-station3. er wordt een toetsenblok (ik nam het uit oude telefoon)4. Lm293d m
De eenvoudigste zoemer Tutorial; Met behulp van Arduino

De eenvoudigste zoemer Tutorial; Met behulp van Arduino

Hey Makers,Laat maken van een eenvoudige Quiz zoemer met behulp van Arduino!Stap 1: Wat kunnen we ermee?Wat kunnen we ermee?> quiz Game zoemer> speel wijsjes en veel meer...Stap 2:Vereiste dingen> Arduino Uno (kopen van Amazon.in) (kopen van Amaz
Hoe te programmeren van de Vexplorer met behulp van Arduino

Hoe te programmeren van de Vexplorer met behulp van Arduino

dit instructable zal gaan over de revell vexplorer besturen met behulp van arduino. Later kunt u zoveel sensoren die u wilt toevoegen. Als u geen meeste onderdelen al kost dit je ongeveer $200 dollar. Allermeest naar de elektronische bits die u op ra
Snelheidsmeter met behulp van Arduino en Processing

Snelheidsmeter met behulp van Arduino en Processing

Hallo allemaal, dit is mijn eerste Instructables publicatie. Ik ga vertellen u hoe maak je een snelheidsmeter met behulp van Arduino en Processing. Het koele ding over het gebruik van is verwerking hier, dat u uw snelheidsmeter look cool zoals degene
Eenvoudige Wav speler met behulp van Arduino

Eenvoudige Wav speler met behulp van Arduino

Praten over met behulp van Arduino om muziek te spelen, is het de Arduino MP3 schild niet het eerste ding dat je verzinnen? Of misschien sommige geeks zullen overwegen over tone() functie? Ze zijn niet de dingen die ons onderwerp gaat over vandaag. W
Controle licht met behulp van Arduino AC

Controle licht met behulp van Arduino AC

De eerste tutorial iedereen suggereren in arduino is Blinking een LED. Vandaag zal ik u tonen hoe om te controleren van een AC licht/toestel met hetzelfde Blink sketchControlling AC licht of toestel met arduino is eenvoudig als het knipperen van een
Snelheidscontrole van dc motor van laptop met behulp van arduino en het verwerken van

Snelheidscontrole van dc motor van laptop met behulp van arduino en het verwerken van

Hallo iedereenIk ben vignesh raja. ik graag hier delen de toerentalregeling voor dc-motor van de computer met behulp van arduino en processing software. in dit project de processing software uitvoeren van een eenvoudige toepassingsvenster op computer
Beheersing van de Motor met behulp van Arduino

Beheersing van de Motor met behulp van Arduino

Motoren met behulp van de Arduino te beheersen kunnen lastig zijn.Ten eerste vereisen motoren recenter is dan de wat Arduino output pinnen kunnen leveren. Ook kunnen motoren genereren hun eigen stroom door een proces genaamd inductie, die je circuit,
Genereer Random getal met behulp van Arduino

Genereer Random getal met behulp van Arduino

Een willekeurig nummer generatie is zeer belangrijk in computerapparaten die helpt hen te taak op willekeurige wijze. De toepassingen van willekeurig nummer generatie kunnen worden gevonden in het schuifelen de audiobestanden op een audio-speler, in
Spelen Wave-bestand met behulp van arduino

Spelen Wave-bestand met behulp van arduino

dit is een eenvoudige schakeling te spelen van wav-bestanden met behulp van arduino Nano V3.0, het bestaan van 4 knoppen, elkaar spelen specifieke wav-bestand geladen naar SD-kaart.Stap 1: onderdelen 1-Arduino Nano V3.0 (ik gebruikte de chines versie
Het wijzigen van de fuse-bits AVR Atmega328p - 8-bit microcontroller met behulp van Arduino

Het wijzigen van de fuse-bits AVR Atmega328p - 8-bit microcontroller met behulp van Arduino

In dit instructable leert u hoe u kunt wijzigen van de fuse-bits van Atmega328p microcontroller. Ik ben met behulp van Arduino mega als programmeur aan programma Atmega328P-PU op breadboard. Het komt met een standaard 1MHz interne gekalibreerd oscill
De Wireless, obstakel detectie, piepen Robot met behulp van Arduinos!

De Wireless, obstakel detectie, piepen Robot met behulp van Arduinos!

Dit is een belemmering van het draadloos gecontroleerde, autonome robot opsporen!Een tijdje terug had ik maakte van dit Instructable en wilde maken sommige belangrijke verbeteringen sinds.De volgende zijn de robot de kenmerken:-1.he de draadloos geco
Automatisering van wasmachine met behulp van arduino

Automatisering van wasmachine met behulp van arduino

Wij hebben een semi-automatische wasmachine. Timer-switch en afvoer schakelaar verwend zijn. Ik probeerde om hen te vervangen, maar het kost meer geld. Zijn we gestopt met behulp van het. Toen dacht ik te verwijderen van de handmatige switches en mak