Përmbajtje:
Video: Treni i Kopshtit - Arduino Wireless NMRA DCC: 4 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Përveç udhëzimeve të mëparshme me DCC në sistemin hekurudhor të vdekur, unë e kam zhvilluar idenë më tej me një Stacion Komandues DCC të mbajtur me dorë me tastierë dhe ekran LCD. Stacioni i Komandës përmban të gjithë kodimin e kërkuar për udhëzimet e NMRA DCC, megjithatë në vend që të lidheni me binarët, të dhënat transferohen me modulin e radios RF24L01+ në një marrës të montuar në një kamion ose nën loko - kudo që e lejon dhoma.
Sigurisht, lokot tuaja duhet të jenë të pajisura me një dekodues të aftësisë së ngarkesës të përshtatshme për motorët e motorit.
Hapi 1: Dizajnimi i Sistemit
Arduino Pro Mini është në zemër të dizajnit. Përdorimi i Fritzing për të zhvilluar qarkun dhe për të prodhuar PCB.
Unë kam qenë në gjendje të përdor të njëjtën PCB si për transmetuesin ashtu edhe për marrësin duke kursyer kështu disa kosto.
Transmetuesi ka lidhje për tastierën dhe LCD ndërsa marrësi nuk i kërkon këto dhe përdor urën H për të furnizuar daljen DCC për lokon.
Një zhvillim i mëtejshëm përfshin lidhjet për një urë më të madhe H nëse kërkohet për lokacione më të fuqishme.
PCF8574 mund të fshihet nëse përdorni një ekran LCD që vjen me çantën e shpinës duke lejuar lidhjet SCA / SCL në Arduino të ushqejnë ekranin duke përdorur vetëm 2 tela. Lista e pjesëve: Gjithsej = përafërsisht £ 60 për DCC Station Station + 1 marrës Kosto shtesë e marrësve = 10,00 përafërsisht secila. + bateri
Arduino Pro Mini. x 2 = 4.00
Tastiera e membranës 4x3 = 3.00
20 x 4 ekran LCD = 00 7.00
PCF5874 = 1.80 £
NRF24L01+. modulet e radios x 2 = 80 5.80
Prodhimi i PCB për 10 zbritje (ose bordi Vero mund të përdoret) = 24 or ose 4.80 for për 2 off
3.3 v Rregullatori = 0.17 ((pako prej 25 nga RS Comp)
5v Rregullatori LM7805 = 0.30
H-urë SN754410ne = 3.00
Lloytron i rimbushur 2700 maH bateri AA x 12 = 22,00. (bateritë e ulëta të vlerësuara me maH janë më të lira)
Kondensatorë, tenxhere, kunja, lidhje, etj = 2.00 appro përafërsisht
Rrethimi 190x110x60 mm = £ 8.00
Transmetues - karikues / bateri telefoni = 2.00 £
Hapi 2: Transmetues
Diagrami i qarkut tregohet ku kunjat D2 në D8 në Arduino Pro Mini janë të lidhur me tastierën. Një potenciometër 100khm është lidhur me kunjin Analog A0 për rregullimin e shpejtësisë. Kunjat SDA dhe SCL që formojnë çipin PCF8574 janë të lidhur me kunjat A4 dhe A5 në Arduino Pro Mini me anë të telave të ngjitur në kunjat në shtresën e sipërme të Pro Mini.
Skica Arduino është bashkangjitur për shkarkim.
Unë kam përdorur një ekran LCD 20 x 4 që lejon 4 rreshta informacioni me 20 karaktere për rresht. Tastiera siguron menunë e mëposhtme:
1 deri në 9 = adresa e vendndodhjes * = drejtimi 0 = dritat # = Menyja e funksionit për çelësat 1 deri në 8
Përshkrimi bazë i skicës Arduino Pro Mini: Kjo linjë e kodit rregullon mesazhin DCC në formatin HEX. strukturë Mesazhi i mesazhit [MAXMSG] = {
{{0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // mesazh boshe
Adresa {{locoAdr, 0, 0, 0, 0, 0, 0}, 3} // 3 bajt
};
Për të ruajtur cilësimet për secilën loco, një seri grupesh vendosen si më poshtë:
int la [20]; // grup për të mbajtur numrat loco
int sa [20]; // grup për të mbajtur vlerat e shpejtësisë
int fda [20]; // grup për të mbajtur dir
int fla [20]; // grup për të mbajtur dritat
int f1a [20]; // grup për të mbajtur argëtim1…..
int f8a [20]; // grup për të mbajtur argëtim8
Për të mundësuar që udhëzimet e DCC të ndryshohen ndërsa ne vazhdojmë:
Për udhëzimet e shpejtësisë: void amend_speed (struct Message & x) {
x.data [0] = locoAdr;
x.data [1] = 0x40; // locoMsg me 28 hapa shpejtësie}
Për udhëzimet e funksionit:
void amend_group1 (struct Mesazhi & x) {
x.data [0] = locoAdr;
x.data [1] = 0x80; // locoMsg me udhëzimin e grupit një 0x80}
Rrethi kryesor i skicës:
lak void (void) {if (read_locoSpeed ()) {assemble_dcc_msg_speed ();
send_data_1 (); // dërgoni të dhëna me valë
vonesa (10);
send_data_3 (); // shfaq të dhënat në ekranin LCD
send_data_4 (); // shfaq të dhënat në monitorin serik}
nëse (funksioni i leximit ()) {
assemble_dcc_msg_group1 ();
send_data_1 ();
vonesa (10);
send_data_3 (); }}
Përditësoni të dhënat kur ndryshon shpejtësia:
boolean read_locoSpeed () Kjo zbulon një adresë të re loco, shpejtësi ose vendosje drejtimi dhe ndryshon "të dhënat" e HEX në përputhje me rrethanat. Këtu kam specifikuar 28 hapa shpejtësie dhe për të përmbushur standardin NMRA S 9.2, të dhënat e shpejtësisë duhet të gjenden nga një tabelë kërkimi në 'speed_step ()'
void speed_step () {switch (locoSpeed) {
rasti 1: të dhëna | = 0x02; pushim;
rasti 2: të dhëna | = 0x12; pushim;
rasti 3: të dhëna | = 0x03; pushim;
………
rasti 28: të dhëna | = 0x1F; pushim; }}
Përditësoni të dhënat kur funksionet ndryshojnë:
funksioni i leximit boolean ()
nëse (fla [locoAdr] == 0) {të dhëna = 0x80;
} // dritat e kokës fiken
nëse (fla [locoAdr] == 1) {
të dhëna = 0x90;
} // dritat e kokës të ndezura
Për secilin funksion:
nëse (f2a [locoAdr] == 0) {të dhëna | = 0; }. // Funksioni 2 i fikur
nëse (f2a [locoAdr] == 1) {
të dhëna | = 0x02; // Funksioni 2 në} 'të dhëna' ndërtohet duke kombinuar ['| =' kompleks bitwise ose] kodet HEX për secilin funksion.
Hapi 3: Marrësi
Diagrami i qarkut tregohet ku kunjat 5 dhe 6 të Arduino Pro Mini përdoren për të siguruar sinjalin DCC të furnizuar në urën H. Çiftet e urës H janë të lidhura paralelisht për të rritur kapacitetin aktual. Në varësi të rrymës së tërhequr nga lokoja, mund të kërkohet që një ngrohës të lidhet me pajisjen DIP me 16 kunja, ose një urë H e rëndë mund të lidhet nga jashtë.
Skica Arduino është bashkangjitur për shkarkim. Sinjali DCC përbëhet nga një orë që funksionon në 2MHZ
void SetupTimer2 () e bën këtë punë.
Ora përfshin 'impulse të shkurtra' (58us) për '1' në të dhënat DCC dhe 'impulse të gjata' (116us) për '0' në të dhënat DCC.
Laku zbrazët, merr të dhëna nga radio dhe nëse gjendet një varg i vlefshëm, të dhënat konvertohen në të dhëna DCC.
lak void (i pavlefshëm) {if (radio.disponueshëm ()) {bool done = false; bërë = radio.lexim (inmsg, 1); // lexoni të dhënat e marra
char rc = inmsg [0]; // vendosni karakterin e lexuar në këtë grup
nëse (rc! = 0) {. // nëse karakteri nuk është i barabartë me zero
inString.concat (rc); // ndërtoni mesazhin}
if (rc == '\ 0') {// nëse karakteri është '/0' fundi i mesazhit
Serial.println (inString); // printoni mesazhin e mbledhur
varg (); // de-konstruktoni mesazhin e vargut për të marrë udhëzimet DCC
} } }
Hapi 4: Drejtoni Locos
Për të shmangur ndërprerjen e të dhënave nga drejtimi i trenave të shumtë në të njëjtën shinë, duhet të shkëputni kontaktet midis rrotave dhe shiritit për secilën loko dhe kamion të punësuar.
Shijoni trenat pa lëvizje pavarësisht nga kushtet e binarëve - çfarë ndryshimi! Asnjë sherr, asnjë start-stop dhe asnjë pastrim i kërkuar.
Bateritë që kam përdorur janë të rimbushshme LLoytron AA x 12. Kam ndërtuar një karikues veçanërisht për to që ngarkon 6 në të njëjtën kohë. (shih udhëzues)
Recommended:
Treni Steampunk: 5 hapa (me fotografi)
Treni Steampunk: Unë kisha fatin të merrja një bazë të përdorur për karrige me rrota nga një mik. Më duhej të zëvendësoja të dy bateritë në mënyrë që të funksiononte, por ky ishte një çmim i vogël për të paguar për një platformë kaq të gjithanshme të ndërtimit të mbështetësve. Vendosa të
ESP8266 - Ujitja e kopshtit me kohëmatës dhe telekomandë përmes internetit / ESP8266: 7 hapa (me fotografi)
ESP8266 - Ujitja e kopshtit me kohëmatës dhe telekomandë përmes internetit / ESP8266: ESP8266 - Ujitja me telekomandë dhe me kohën për kopshtet me perime, kopshtet me lule dhe lëndinat. Përdor qarkun ESP-8266 dhe një valvul hidraulik / elektrik për ushqimin e ujitësit. Përparësitë: Kosto e ulët (30,00 ~ US $) qasje e shpejtë Komandat ov
Sistemi i automatizuar i kopshtit i ndërtuar në Raspberry Pi për jashtë ose brenda - MudPi: 16 hapa (me fotografi)
Sistemi i Automatizuar i Kopshtit i Ndërtuar në Raspberry Pi për Jashtë ose Jashtë - MudPi: Ju pëlqen kopshtaria por nuk gjeni kohë për ta mirëmbajtur atë? Ndoshta keni disa bimë shtëpie që duken pak të etura ose kërkojnë një mënyrë për të automatizuar hidroponikën tuaj? Në këtë projekt ne do t'i zgjidhim ato probleme dhe do të mësojmë bazat e
Drita e kavanozit me ngjyra të kopshtit diellor: 9 hapa (me fotografi)
Drita shumëngjyrëshe e kavanozit të kopshtit diellor: Mënyra më e thjeshtë për të bërë një dritë të kavanozit diellor është të çmontoni një nga ato llambat e kopshtit diellor të lirë dhe ta fiksoni në një kavanoz qelqi. Si inxhinier doja diçka më të sofistikuar. Ato drita të bardha janë të mërzitshme kështu që vendosa të rrotulloj modelin tim ba
Si të bëni një dritë të kopshtit diellor: 3 hapa (me fotografi)
Si të bëni një dritë të kopshtit diellor: Hy djema ky është projekti im i parë DIY në udhëzime ,,, shpresoj se ju pëlqen