INHOUDSOPGAWE:
Video: Tuintrein - Arduino Wireless NMRA DCC: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Na aanleiding van die vorige instruksies met DCC op 'n dooie spoorstelsel, het ek die idee verder ontwikkel met 'n handbediende DCC -bevelstasie met bedieningspaneel en LCD -skerm. Die Command Station bevat al die kodering wat nodig is vir NMRA DCC -instruksies, maar in plaas van om aan die relings te koppel, word die data deur die radiomodule RF24L01+ oorgedra na 'n ontvanger wat in 'n vragmotor of onder die loko gemonteer is - waar kamer dit ook al toelaat.
U lokomotiewe moet natuurlik toegerus wees met 'n dekodeerder van lasvermoë wat geskik is vir die enjins.
Stap 1: Ontwerp van stelsel
Die Arduino Pro Mini is die kern van die ontwerp. Gebruik Fritzing om die stroombaan te ontwikkel en om PCB's te vervaardig.
Ek kon dieselfde PCB vir beide sender en ontvanger gebruik, en bespaar dus 'n paar koste.
Die sender het aansluitings vir klavier en LCD, terwyl die ontvanger dit nie benodig nie en gebruik die H-brug om die DCC-uitset vir die loko te voorsien.
'N Verdere ontwikkeling bevat aansluitings vir 'n groter H-brug indien nodig vir kragtiger lokos.
Die PCF8574 kan verwyder word as u 'n LCD -skerm saam met die rugsak gebruik, sodat SCA / SCL -verbindings op die Arduino die skerm slegs met 2 drade kan voed. Onderdele: totaal = ongeveer £ 60 vir DCC Command Station + 1 ontvanger = Ongeveer £ 10,00 elk. + batterye
Arduino Pro Mini. x 2 = £ 4,00
4x3 membraan -toetsbord = £ 3,00
20 x 4 LCD -skerm = £ 7,00
PCF5874 = £ 1,80
NRF24L01+. radiomodules x 2 = £ 5,80
PCB -vervaardiging vir 10 afslag (of Vero -bord kan gebruik word) = £ 24 of £ 4,80 vir 2off
3.3 v Reguleerder = £ 0.17 (25 stuks van RS Comp)
5v Reguleerder LM7805 = £ 0,30
H-brug SN754410ne = £ 3,00
Lloytron herlaaibare 2700 maH AA-batterye x 12 = £ 22,00. (laer maH -gegradeerde batterye is goedkoper)
Kondensators, potte, penne, verbindings, ens = ongeveer £ 2,00
Omhulsel 190x110x60 mm = £ 8,00
Sender - telefoonlaaier / battery = £ 2,00
Stap 2: Sender
Die kringdiagram word getoon waar D2 tot D8 penne op die Arduino Pro Mini aan die bedieningspaneel gekoppel is. 'N Potensiometer van 100k ohm is gekoppel aan analoog pen A0 vir spoedaanpassing. A5 op die Arduino Pro Mini deur middel van gesoldeerde drade aan die penne op die boonste laag van die Pro Mini.
Die Arduino -skets word aangeheg om af te laai.
Ek het 'n 20 x 4 LCD -skerm gebruik wat 4 reëls inligting met 20 karakters per reël moontlik maak. Die sleutelbord bied die volgende spyskaart:
1 tot 9 = loko -adres * = rigting 0 = ligte # = funksie -kieslys vir sleutels 1 tot 8
Basiese beskrywing van Arduino Pro Mini -skets: Hierdie reël van die kode rangskik die DCC -boodskap in HEX -formaat. struct Boodskap boodskap [MAXMSG] = {
{{0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // ledig boodskap
{{locoAdr, 0, 0, 0, 0, 0, 0}, 3} // 3 grepe adres
};
Om die instellings vir elke loko op te slaan, word 'n reeks skikkings soos volg opgestel:
int la [20]; // skikking om loco -nommers te hou
int sa [20]; // skikking om spoedwaardes te hou
int fda [20]; // skikking om dir
int fla [20]; // skikking om ligte te hou
int f1a [20]; // skikking om pret te hou1 …..
int f8a [20]; // skikking om pret te hou8
Om die DCC -instruksies te verander terwyl ons gaan:
Vir spoedinstruksies: void amend_speed (struct Message & x) {
x.data [0] = locoAdr;
x.data [1] = 0x40; // locoMsg met 28 spoedstappe}
Vir funksie instruksies:
ongeldig amend_group1 (struct Message & x) {
x.data [0] = locoAdr;
x.data [1] = 0x80; // locoMsg met groep een instruksie 0x80}
Die hooflus van die skets:
leemte -lus (leegte) {if (read_locoSpeed ()) {assemble_dcc_msg_speed ();
send_data_1 (); // stuur data per draadloos
vertraging (10);
stuur_data_3 (); // vertoon data op LCD -skerm
stuur_data_4 (); // vertoon data op seriële monitor}
as (leesfunksie ()) {
assemble_dcc_msg_group1 ();
send_data_1 ();
vertraging (10);
stuur_data_3 (); }}
Dateer data op as die spoed verander:
boolean read_locoSpeed () Dit ontdek 'n nuwe loko -adres, spoed of rigtinginstelling en verander die HEX 'data' dienooreenkomstig. in 'speed_step ()'
void speed_step () {switch (locoSpeed) {
geval 1: data | = 0x02; breek;
geval 2: data | = 0x12; breek;
geval 3: data | = 0x03; breek;
………
geval 28: data | = 0x1F; breek; }}
Dateer data op wanneer die funksies verander:
boolese leesfunksie ()
as (fla [locoAdr] == 0) {data = 0x80;
} // kopligte af
as (fla [locoAdr] == 1) {
data = 0x90;
} // kopligte aangeskakel
Vir elke funksie:
as (f2a [locoAdr] == 0) {data | = 0; }. // Funksie 2 af
as (f2a [locoAdr] == 1) {
data | = 0x02; // Funksie 2 op} 'data' word opgebou deur ['| =' samestelling bitwise of] die HEX -kodes vir elke funksie te kombineer.
Stap 3: Ontvanger
Die kringdiagram word getoon waar penne 5 en 6 van die Arduino Pro Mini gebruik word om die DCC-sein wat aan die H-brug verskaf word, te verskaf. Die H-brugpare word parallel gekoppel om die huidige kapasiteit te verhoog. Afhangende van die stroom wat deur die loko getrek word, kan dit nodig wees dat 'n heatsink aan die 16-pins DIP-toestel gekoppel word, of dat 'n swaar H-brug ekstern verbind kan word.
Die Arduino -skets word aangeheg om af te laai. Die DCC -sein bestaan uit 'n klok wat op 2MHZ loop
void SetupTimer2 () doen hierdie taak.
Die klok bevat 'kort pulse' (58us) vir '1' in DCC -data en 'lang pulse' (116us) vir '0' in DCC -data.
Die lusleegte kry data van die radio af en as 'n geldige string gevind word, word die data omgeskakel na DCC -data.
leemte -lus (leegte) {if (radio.available ()) {bool done = false; done = radio.read (inmsg, 1); // lees die ontvangde data
char rc = inmsg [0]; // plaas karakter gelees in hierdie skikking
as (rc! = 0) {. // as karakter nie gelyk is aan nul nie
inString.concat (rc); // bou die boodskap op}
if (rc == '\ 0') {// as karakter '/0' einde van die boodskap is
Serial.println (inString); // druk die saamgestelde boodskap af
string (); // de-konstrueer die string boodskap om DCC instruksies te kry
} } }
Stap 4: Begin die Locos
Om te voorkom dat data onderbreek word om meer as een trein op dieselfde spoor te laat ry, moet u die kontak tussen die wiele en die spoor vir elke loko en vragmotor ontkoppel.
Geniet gratis treine, ongeag die spooromstandighede - wat 'n verskil! Geen moeite, geen begin-stop en geen skoonmaak nodig nie.
Die batterye wat ek gebruik het, is herlaaibare LLoytron AA x 12. Ek het spesiaal vir hulle 'n laaier gebou wat 6 op 'n slag laai. (sien instruksies)
Aanbeveel:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Luciferin, Wireless Bias Lighting vir u rekenaar: 6 stappe (met foto's)
Luciferin, Wireless Bias Lighting vir u rekenaar: Luciferin is 'n algemene term vir die liguitstralende verbinding wat voorkom in organismes wat bioluminescentie soos vuurvliegies en gloeiwurms genereer. Firefly Luciferin is 'n Java Fast Screen Capture PC sagteware wat ontwerp is vir Glow Worm Luciferin firmware, die
Shelly Sense - Wireless Powered (WPC Qi Standard): 5 stappe (met foto's)
Shelly Sense - Wireless Powered (WPC Qi Standard): LET WEL: as u hierdie tutoriaal volg, verloor u u waarborg en loop u ook die risiko om u Shelly Sense te breek. Doen dit slegs as u weet wat u doen en as u bewus is van die risiko's.Die Shelly Sense is 'n wonderlike produk om al die
Microbit Midi CC Wireless Controller: 5 stappe (met foto's)
Microbit Midi CC Wireless Controller: In hierdie gids skep ons 'n draadlose midi CC -kontroleerder, waarmee u u Microbit as 'n midi -kontroleerder kan gebruik en dit kan koppel aan u gunsteling musiekproduksie sagteware. Wat is Midi CC? Dikwels afgekort CC, terwyl die korrekte term is " Beheer
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer