Indholdsfortegnelse:
Video: Havetog - Arduino Wireless NMRA DCC: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
I forlængelse af tidligere instruktioner med DCC på dead rail -system har jeg udviklet ideen yderligere med en håndholdt DCC Command Station med tastatur og LCD -display. Kommandostationen indeholder al den kodning, der kræves til NMRA DCC -instruktioner, men i stedet for at oprette forbindelse til skinnerne, overføres dataene med radiomodul RF24L01+ til en modtager monteret i en lastbil eller under lokomotivet - hvor som helst rummet tillader det.
Selvfølgelig skal dine lokoer være udstyret med en dekoder af belastningsevne, der passer til motorens motorer.
Trin 1: Design af system
Arduino Pro Mini er kernen i designet. Brug af Fritzing til at udvikle kredsløbet og til at producere printkort.
Jeg var i stand til at bruge det samme printkort til både sender og modtager, hvilket sparer nogle omkostninger.
Senderen har forbindelser til tastatur og LCD, mens modtageren ikke kræver disse og bruger H-broen til at levere DCC-udgangen til lokomotivet.
En yderligere udvikling omfatter forbindelser til en større H-bro, hvis det kræves for mere kraftfulde lokomotiver.
PCF8574 kan slettes, hvis du bruger en LCD -skærm, der følger med rygsækken, så SCA / SCL -forbindelser på Arduino kan føde skærmen ved hjælp af kun 2 ledninger. = £ 10,00 ca. hver. + batterier
Arduino Pro Mini. x 2 = £ 4,00
4x3 membran tastatur = £ 3,00
20 x 4 LCD -display = £ 7,00
PCF5874 = £ 1,80
NRF24L01+. radiomoduler x 2 = £ 5,80
PCB fremstilling til 10 off (eller Vero board kan bruges) = £ 24 eller £ 4,80 for 2off
3.3 v Regulator = £ 0.17 (pakke med 25 fra RS Comp)
5v Regulator LM7805 = 0,30 kr
H-bro SN754410ne = £ 3,00
Lloytron genopladelige 2700 maH AA-batterier x 12 = £ 22,00. (lavere maH -klassificerede batterier er billigere)
Kondensatorer, gryder, stifter, stik osv. = £ 2,00 ca.
Kabinet 190x110x60 mm = £ 8,00
Sender - telefonoplader / batteri = £ 2,00
Trin 2: Senderen
Kredsløbsdiagrammet er vist, hvor D2 til D8 ben på Arduino Pro Mini er forbundet til tastaturet. Et 100k ohm potentiometer er forbundet til analog pin A0 for hastighedsjustering. SDA og SCL benene fra PCF8574 chippen er forbundet til ben A4 og A5 på Arduino Pro Mini ved hjælp af lodde ledninger til benene på det øverste lag af Pro Mini.
Arduino -skitsen er vedhæftet til download.
Jeg har brugt et 20 x 4 LCD -display, der tillader 4 linjer information med 20 tegn pr. Linje. Tastaturet indeholder følgende menu:
1 til 9 = loco -adresse * = retning 0 = lys # = funktionsmenu for tasterne 1 til 8
Grundlæggende beskrivelse af Arduino Pro Mini sketch: Denne linje i koden arrangerer DCC -beskeden i HEX -format. struct Message msg [MAXMSG] = {
{{0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // inaktiv msg
{{locoAdr, 0, 0, 0, 0, 0, 0}, 3} // 3 byte -adresse
};
For at gemme indstillingerne for hvert loko opsættes en række arrays som følger:
int la [20]; // array til at holde loco -numre
int sa [20]; // array til at holde hastighedsværdier
int fda [20]; // array til at holde dir
int fla [20]; // array til at holde lys
int f1a [20]; // array for at holde det sjovt1…..
int f8a [20]; // array til at holde fun8
For at gøre det muligt at ændre DCC -instruktionerne, mens vi går:
For hastighedsinstruktioner: void amend_speed (struct Message & x) {
x.data [0] = locoAdr;
x.data [1] = 0x40; // locoMsg med 28 hastighedstrin}
For funktionsinstruktioner:
ugid amend_group1 (struct Message & x) {
x.data [0] = locoAdr;
x.data [1] = 0x80; // locoMsg med gruppe 1 instruktion 0x80}
Skitsens hovedsløjfe:
void loop (void) {if (read_locoSpeed ()) {assemble_dcc_msg_speed ();
send_data_1 (); // sende data trådløst
forsinkelse (10);
send_data_3 (); // vis data på LCD display
send_data_4 (); // vis data på seriel skærm}
hvis (read_function ()) {
assemble_dcc_msg_group1 ();
send_data_1 ();
forsinkelse (10);
send_data_3 (); }}
Opdater data, når hastigheden ændres:
boolsk read_locoSpeed () Dette registrerer en ny loco adresse, hastighed eller retning og ændrer HEX 'data' i overensstemmelse hermed. Her har jeg angivet 28 hastighedstrin og for at opfylde NMRA standard S 9.2 skal hastighedsdataene findes fra en opslagstabel i 'speed_step ()'
void speed_step () {switch (locoSpeed) {
case 1: data | = 0x02; pause;
case 2: data | = 0x12; pause;
case 3: data | = 0x03; pause;
………
case 28: data | = 0x1F; pause; }}
Opdater data, når funktionerne ændres:
boolsk read_function ()
hvis (fla [locoAdr] == 0) {data = 0x80;
} // forlygter slukket
hvis (fla [locoAdr] == 1) {
data = 0x90;
} // forlygter tændt
For hver funktion:
hvis (f2a [locoAdr] == 0) {data | = 0; }. // Funktion 2 deaktiveret
hvis (f2a [locoAdr] == 1) {
data | = 0x02; // Funktion 2 på} 'data' opbygges ved at kombinere ['| =' sammensat bitvis eller] HEX -koderne for hver funktion.
Trin 3: Modtager
Kredsløbsdiagrammet er vist, hvor ben 5 og 6 i Arduino Pro Mini bruges til at levere DCC-signalet, der leveres til H-broen. H-broparret er forbundet parallelt for at øge strømkapaciteten. Afhængigt af strømmen trukket af lokomotivet kan det være nødvendigt at tilslutte en kølelegeme til 16-pin DIP-enheden, eller en kraftig H-bro kan tilsluttes eksternt.
Arduino -skitsen er vedhæftet til download. DCC -signalet består af et ur, der kører ved 2MHZ
void SetupTimer2 () udfører dette job.
Uret inkluderer 'korte impulser' (58us) for '1' i DCC -data og 'lange pulser' (116us) for '0' i DCC -data.
Loop -tomrummet, får data fra radioen, og hvis der findes en gyldig streng, konverteres dataene til DCC -data.
void loop (void) {if (radio.available ()) {bool done = false; udført = radio.read (inmsg, 1); // læs de modtagne data
char rc = inmsg [0]; // sætte tegnlæsning i dette array
hvis (rc! = 0) {. // hvis tegn ikke er lig med nul
inString.concat (rc); // opbyg beskeden}
hvis (rc == '\ 0') {// hvis tegnet er '/0' slutningen af meddelelsen
Serial.println (inString); // udskriv den samlede besked
snor(); // de-konstruere strengmeddelelsen for at få DCC-instruktioner
} } }
Trin 4: Kør Locos
For at undgå afbrydelse af data fra at køre flere tog på det samme spor, skal du afbryde kontakterne mellem hjulene og sporet for hver loko og lastbil, der bruges.
Nyd gratis kørende tog uanset baneforhold - hvilken forskel! Ingen besvær, ingen start-stop og ingen rengøring påkrævet.
De batterier, jeg brugte, kan genoplades LLoytron AA x 12. Jeg har specielt bygget en oplader til dem, der oplader 6 ad gangen. (se instruerbar)
Anbefalede:
WiFi DCC Command Station til Model Railway: 5 trin
WiFi DCC Command Station til modeljernbane: Opdateret 5. april 2021: ny skitse og mod til kredsløbskomponenter.Ny skitse: command_station_wifi_dcc3_LMD18200_v4.inoHelt nyt DCC -system ved hjælp af WiFi til at kommunikere instruktioner 3 brugere af mobiltelefon/tablet -gashåndtag kan bruges på et ideelt layout for
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Luciferin, Wireless Bias Lighting til din pc .: 6 trin (med billeder)
Luciferin, Wireless Bias Lighting til din pc .: Luciferin er en generisk betegnelse for den lysemitterende forbindelse, der findes i organismer, der genererer bioluminescens som ildfluer og glødorme. Firefly Luciferin er en Java Fast Screen Capture PC -software designet til Glow Worm Luciferin firmware, dem
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores