Sisällysluettelo:
Video: Puutarhajuna - Arduino Wireless NMRA DCC: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Edellisten ohjeiden mukaan DCC: llä kuolleella kiskojärjestelmällä olen kehittänyt ajatusta edelleen kädessä pidettävällä DCC -komentoasemalla, jossa on näppäimistö ja LCD -näyttö. Komentoasema sisältää kaiken NMRA DCC -ohjeiden edellyttämän koodauksen, mutta sen sijaan, että liitettäisiin kiskoihin, tiedot siirretään radiomoduulin RF24L01+ avulla kuorma -autoon asennetulle vastaanottimelle tai paikkaan, missä huone sallii.
Lokit on tietysti varustettava moottorin moottoreille sopivalla kuormituskyvyn dekooderilla.
Vaihe 1: Järjestelmän suunnittelu
Arduino Pro Mini on suunnittelun ydin. Fritzingin käyttäminen piirin kehittämiseen ja PCB: iden tuottamiseen.
Pystyin käyttämään samaa piirilevyä sekä lähettimessä että vastaanottimessa, mikä säästää kustannuksia.
Lähettimessä on liitännät näppäimistölle ja nestekidenäytölle, kun taas vastaanotin ei vaadi niitä ja käyttää H-siltaa toimittamaan DCC-lähdön paikalleen.
Jatkokehitys sisältää liitännät suurempaa H-siltaa varten, jos sitä tarvitaan tehokkaampiin paikkoihin.
PCF8574 voidaan poistaa, jos käytät repun mukana tulevaa nestekidenäyttöä, jonka avulla Arduinon SCA / SCL -liitännät voivat syöttää näytön vain kahdella johdolla. Osaluettelo: Yhteensä = n. = Noin 10,00 € / kpl. + akut
Arduino Pro Mini. x 2 = 4,00 €
4x3 kalvonäppäimistö = 3,00 €
20 x 4 LCD -näyttö = 7,00 €
PCF5874 = 1,80 £
NRF24L01+. radiomoduulit x 2 = 5,80 £
Piirilevyjen valmistus 10 off (tai Vero -levyä voidaan käyttää) = 24 £ tai 4,80 £ 2off
3,3 v säädin = 0,17 £ (25 kpl: n pakkaus RS Compilta)
5v säädin LM7805 = 0,30 €
H-silta SN754410ne = 3,00 €
Lloytronin ladattavat 2700 maH AA -paristot x 12 = 22,00 €. (alemmat maH -paristot ovat halvempia)
Kondensaattorit, kattilat, nastat, liittimet jne. = Noin 2,00 €
Kotelo 190x110x60 mm = 8,00 €
Lähetin - puhelimen laturi / akku = 2,00 £
Vaihe 2: Lähetin
Kytkentäkaavio esitetään, jossa Arduino Pro Minin D2 - D8 -nastat on kytketty näppäimistöön. 100 k ohmin potentiometri on kytketty analogiseen nastaan A0 nopeuden säätämiseksi. SDA- ja SCL -nastat PCF8574 -sirusta muodostavat nastat A4 ja A5 Arduino Pro Minissä juotettujen johtojen avulla Pro Minin yläkerroksen nastoihin.
Arduinon luonnos on liitteenä ladattavaksi.
Olen käyttänyt 20 x 4 LCD -näyttöä, joka mahdollistaa 4 riviä tietoja ja 20 merkkiä riviä kohden. Näppäimistö tarjoaa seuraavan valikon:
1-9 = lukitusosoite * = suunta 0 = valot # = Toimintovalikko näppäimille 1-8
Arduino Pro Mini -luonnoksen peruskuvaus: Tämä koodirivi järjestää DCC -viestin HEX -muodossa. struktuuri Viesti msg [MAXMSG] = {
{{0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // idle msg
{{locoAdr, 0, 0, 0, 0, 0, 0}, 3} // 3 tavun osoite
};
Jokaisen lokin asetusten tallentamiseksi määritetään sarja matriiseja seuraavasti:
int la [20]; // array lokilukujen säilyttämiseen
int sa [20]; // matriisi nopeusarvojen säilyttämiseksi
int fda [20]; // säilytettävä taulukko joh
int fla [20]; // array pitää valot
int f1a [20]; // array pitää hauskaa1…..
int f8a [20]; // array pitää hauskaa8
Jotta DCC -ohjeita voidaan muuttaa, mene seuraavaksi:
Nopeusohjeet: void change_speed (structure Message & x) {
x.data [0] = locoAdr;
x.data [1] = 0x40; // locoMsg 28 nopeusaskelta}
Toiminto -ohjeet:
void change_group1 (struktuuri -viesti & x) {
x.data [0] = locoAdr;
x.data [1] = 0x80; // locoMsg ryhmän yksi ohjeella 0x80}
Luonnoksen pääsilmukka:
void loop (void) {if (read_locoSpeed ()) {assemble_dcc_msg_speed ();
send_data_1 (); // lähettää tietoja langattomasti
viive (10);
send_data_3 (); // näyttää tiedot nestekidenäytössä
send_data_4 (); // näyttää tiedot sarjamonitorissa}
jos (luku_toiminto ()) {
assemble_dcc_msg_group1 ();
send_data_1 ();
viive (10);
send_data_3 (); }}
Päivitä tiedot, kun nopeus muuttuu:
boolean read_locoSpeed () Tämä havaitsee uuden loco -osoitteen, nopeuden tai suunnan ja muuttaa HEX -tietoja vastaavasti. kohdassa "speed_step ()"
void speed_step () {kytkin (locoSpeed) {
tapaus 1: data | = 0x02; tauko;
tapaus 2: data | = 0x12; tauko;
tapaus 3: data | = 0x03; tauko;
………
tapaus 28: data | = 0x1F; tauko; }}
Päivitä tiedot, kun toiminnot muuttuvat:
boolean read_function ()
jos (fla [locoAdr] == 0) {data = 0x80;
} // päävalot pois päältä
jos (fla [locoAdr] == 1) {
tiedot = 0x90;
} // ajovalot päällä
Kullekin toiminnolle:
jos (f2a [locoAdr] == 0) {data | = 0; }. // Toiminto 2 pois päältä
jos (f2a [locoAdr] == 1) {
tiedot | = 0x02; // Toiminto 2 on} 'data' rakennetaan yhdistämällä ['| =' yhdiste bittikohtaisesti tai] kunkin funktion HEX -koodit.
Vaihe 3: Vastaanotin
Kytkentäkaavio on esitetty, jossa Arduino Pro Minin tappeja 5 ja 6 käytetään antamaan DC-signaali H-siltaan. H-siltaparit on kytketty rinnakkain nykyisen kapasiteetin lisäämiseksi. Lokin ottamasta virrasta riippuen 16-nastaiseen DIP-laitteeseen voidaan vaatia jäähdytyselementin liittäminen tai raskaan H-sillan liittäminen ulkoisesti.
Arduino -luonnos on liitetty ladattavaksi. DCC -signaali koostuu kellosta, joka toimii 2 MHz: n taajuudella
void SetupTimer2 () tekee tämän työn.
Kello sisältää 'lyhyet pulssit' (58us) '1': lle DCC -datassa ja '' pitkät pulssit '' (116us) '0': lle DCC -datassa.
Silmukka tyhjä, saa dataa radiosta ja jos kelvollinen merkkijono löytyy, tiedot muunnetaan DCC -dataksi.
void loop (void) {if (radio.available ()) {bool done = false; valmis = radio.luku (inmsg, 1); // lukea vastaanotetut tiedot
char rc = inmsg [0]; // laita luettu merkki tähän taulukkoon
jos (rc! = 0) {. // jos merkki ei ole nolla
inString.concat (rc); // rakenna viesti}
if (rc == '\ 0') {// jos merkki on viestin loppu '/0'
Sarja.println (inString); // tulosta koottu viesti
merkkijono (); // purkaa merkkijonoviestin saadaksesi DCC-ohjeet
} } }
Vaihe 4: Suorita Locot
Jotta vältytään tietojen katkeamiselta useiden junien ajamisesta samalla radalla, sinun on irrotettava pyörien ja radan väliset koskettimet jokaisen käytetyn veturin ja kuorma -auton osalta.
Nauti vapaasti kulkevista junista radan olosuhteista riippumatta - mikä ero! Ei vaivaa, ei käynnistys-pysäytystä eikä puhdistusta.
Käyttämäni paristot ovat ladattavia LLoytron AA x 12. Olen rakentanut erityisesti niille laturin, joka lataa 6 kerrallaan. (katso ohje)
Suositeltava:
WiFi DCC -ohjausasema rautamallille: 5 vaihetta
WiFi DCC Command Station for Model Railway: Päivitetty 5. huhtikuuta 2021: uusi luonnos ja piirikomponenttien modifikaatio. fo
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet: 3 vaihetta
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet: MQTT Basics: ** Aion tehdä Home Automation -sarjan, käyn läpi vaiheet, jotka otin oppiakseni kaiken, mitä olen tehnyt tulevaisuudessa. Tämä Instructable on lähtökohta MQTT: n määrittämiselle käytettäväksi tulevissa Instructables -ohjelmissani. Kuitenkin
WireLess -kuulokkeet: 6 vaihetta
WireLess-kuulokkeet: Käytän tätä DIY: Bluetooth-vastaanotinta Nokian akku C-tyypin naarasliitin Li-ion-latauslevy Pieni kytkin Johdot
WireLess -kuulokkeet Osa 2: 3 vaihetta
WireLess -kuulokkeet Osa 2: Käytä tätä päivitystä: Uusi Bluetooth -vastaanotin Painikkeet Johdot voidaan ottaa kierretyistä pareista
Mallirautatie - DCC -komentoasema Arduinon avulla :: 3 vaihetta
Mallirautatie - DCC -komentoasema Arduinolla komentoasemalle. Käännökset T1 - T8 ovat käytettävissä B -näppäimellä