Satura rādītājs:
- 1. darbība: Arduino kods - komandu stacija ar tastatūru
- 2. solis: Arduino kods - TFT displejs
- 3. darbība. Izslēgšanas kontrolieris
Video: Dzelzceļa modelis - DCC vadības stacija, izmantojot Arduino :: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Atjaunināts 2018. gada augusts-skatiet jauno Instructable:
Atjauninājums 2016. gada 28. aprīlī: tagad Command Station nodrošina 16 dalībnieku / punktu kontroles iespējas. Pagriezieni T1 - T8 ir pieejami, izmantojot taustiņu "B". T9 - T16 pagriezieni ir pieejami, izmantojot taustiņu "C".
Atjauninājums 2016. gada 10. martā:
Tagad komandstacijai ir pievienota 8 aktivitāšu / punktu kontroles iespēja. Arduino kods ir attiecīgi atjaunināts, izmantojot NMRA standarta paketi dalībniekiem (arī pamatojoties uz pētījumu par Lenz / Atlas Compact datu paketēm, lai kontrolētu vēlētāju aktivitāti).
Pagriezieni T1 - T8 ir pieejami, izmantojot taustiņu "B"
Skatiet norādījumus par izmantoto datu pakešu uztvērēja ķēdi un nepieciešamo Arduino kodu.
Atjauninājums 2016. gada 18. janvārī:
Es ķēdei esmu pievienojis strāvas jutības rezistoru (1k5 omi) un kondensatoru (10 uf) un mainījis Arduino kodu, lai izslēgtu strāvu, kad tiek konstatēta maksimālā strāva> 3200 mAmps. H tilta specifikācijās norādīts izejas jutības strāva 377 uA uz 1 ampēru slodzē.
1,5 k ohm rezistors piegādās 0,565 volti uz Amp uz analogās tapas 6. Izmantojot 1023 soļus analogā ieejā, tas dod 0,565 * 1023/5 = 116 uz Amp slodzi.
A = 100 * (analogRead (AN_CURRENT)) / 116; A = A * 10; (lai iegūtu rezultātu miliampos)
Slodzes strāva miliampos tiek parādīta TFT
Pilna 4x4 tastatūra ietver funkcijas F1 līdz F8 un vēl 10 locos (1-19), izmantojot taustiņu "#" (lai pievienotu 10 ciparu taustiņiem, sākot no 10.
Arduino kods ietver NMRA standartu instrukciju baitiem.
Skatīt saiti
www.nmra.org/sites/default/files/s-9.2.1_20…
(6. lappusei ir īpaša nozīme)
Paketes ir sakārtotas atbilstoši ātruma soļu skaitam, garajai / īsajai adresei un funkciju grupas norādījumiem.
Pirms visiem instrukciju baitiem ir 1 bitu preambula 11111111 (vai dīkstāves pakete), kam seko;
piem. A 4 baitu adrese 0 00000011 0 00111111 0 10000011 0 10111111
vienāds ar loco 3, 128 ātruma soļiem, virzienu uz priekšu un ātruma 3. soli (beigu baits ir kļūdu pārbaude XOR)
piem., 3 baitu adrese 0 00000011 0 10010000 0 10110011
atbilst loko 3, funkciju grupai 1, FL iedegas plus XOR baits (“0” bits atdala katru baitu)
Skatiet pievienoto demonstrācijas video par loco 12.
Funkcijas F1 - F8 ir pieejamas, izmantojot taustiņu "A", taustiņu "DIR" ("*" taustiņš = virziens) FL (taustiņš "0" = gaismas), un taustiņš "#" ciparu tastatūrā nodrošina atrašanās vietas no 10 līdz 19. Tagad taustiņu "D" izmanto ārkārtas apturēšanai.
Paldies dažādiem pakalpojumu sniedzējiem tīmeklī par DCC informācijas avotiem un Arduino kodu.
Konkrēti, šo projektu iedvesmoja Maikls Blanks un viņa “Vienkāršā DCC - komandu stacija”
www.oscale.net/en/simpledcc
4x4 Matrix Array 16 atslēgu membrānas slēdža tastatūra (ebay) 1,75 £
2,2 collu 240x320 sērijas SPI TFT LCD displeja modulis (ebay) 7,19 Ls
Universāls 12V 5A 60W strāvas padeves maiņstrāvas adapteris (ebay) £ 6.49
Nano V3.0 Arduino ar CH340G 5V 16M saderīgu ATmega328P (ebay) 2 x 3,30 £ = 6,60 £
Motora draivera modulis LMD18200T Arduino R3 (ebay) £ 6,99
Savienotāji, vads, vero plāksne, potenciometrs aptuveni £ 3.50
Kopā £ 32,52
Pamata komandu stacija bez tft ekrāna un 1 x nano būtu £ 22,03
[Piezīme: TFT displejam ir iespējams pievienot atmiņas karti un mainīt kodu, lai tiktu parādīti izvēlēto dzinēju attēli, lai gan bibliotēkas kodi ir jārediģē, lai izveidotu vairāk atmiņas skicei. Pašreizējais skices lielums ir maksimālais TFT Arduino Nano]
Sākotnējais Michael Blank Arduino kods bija paredzēts vienam dzinējam, tikai uz priekšu / atpakaļ, bez funkciju vadības, bez tastatūras un bez displeja.
Esmu mainījis kodu, iekļaujot 1 - 19 motorus, displeja ekrānu, virzienu, gaismas, 8 funkcijas, avārijas apturēšanu un automātisko strāvas ierobežojumu.
LMD18200T tilts var pārvadīt līdz 3 ampēriem, kas padara to piemērotu visiem svariem, ieskaitot G mērogu (dārza vilcieni). Tīkla barošanas avots un elektronika ir piemēroti lietošanai tikai iekštelpās, ja vien jūs nevarat to izturēt pret laika apstākļiem. Man ir komandstacija vasarnīcā ar sliežu savienojošajiem vadiem, kas izplūst caur sienu uz sliežu ceļu.
1. darbība: Arduino kods - komandu stacija ar tastatūru
Pateicos tvantenna2759 par norādītajām 2 kļūdām shēmas shēmā, kur Arduino kods neatbilst elektroinstalācijai, tagad atjaunināta (2017. gada 21. oktobris).
Tagad komandstacijai pievienoti 16 dalībnieki. Skatiet pamācību apgriezienu skaita / punktu shēmā, izmantojot Arduino Mini Pro moduli.
Modificētais kods, ieskaitot balsošanas kontroli, ir pievienots zemāk.
Pamata piederumu dekodētāja pakete ir: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Analizējot paketi, ko Lenz (Compact / Atlas) izmantoja punktu kontrolei, esmu izmantojis šādu bināro pakešu formātu 1. un 2. baitiem: tunAddr = 1 Turnout 1a: 1000 0001 1111 1000 / 1.b aktivitāte: 1000 0001 1111 1001 2.a aktivitāte: 1000 0001 1111 1010 / 2.b aktivitāte: 1000 0001 1111 1011 3.a daļa: 1000 0001 1111 1100 / 3.b aktivitāte: 1000 0001 1111 1101 4.a daļa: 1000 0001 1111 1110 / aktivitāte 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- Aktivitāte 5a: 1000 0010 1111 1000 / 5b aktivitāte: 1000 0010 1111 1001 6a: 1000 0010 1111 1010 / 6b aktivitāte: 1000 0010 1111 1011 7a. 1000 0010 1111 1100 / 7.b aktivitāte: 1000 0010 1111 1101 8.a daļa: 1000 0010 1111 1110 / 8.b aktivitāte: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- Aktivitāte 9a: 1000 0011 1111 1000 / 9b: 1000 0011 1111 1001 utt. ………
Izvilkums no modificēta koda: pievienojiet vēl 2 “struktura” ziņu atjauninājumus, izņemot grozījumu_tun1 (strukturētais ziņojums un x) {x.data [0] = 0x81; // aksesuāru dekodētājs 0x80 & adrese 1 x.data [1] = 0; }
void edit_tun2 (strukturēts ziņojums & x) {x.data [0] = 0x82; // aksesuāru dekodētājs 0x80 & adrese 2 x.data [1] = 0; }
Pievienot jaunu tukšumu vēlētājiem: boolean read_turnout () {delay (20);
Būla vērtība mainīta_t = nepatiesa; get_key ();
ja (key_val> = 101 && key_val <= 404 && turn == 1) {
dati = 0xf8; // = binārais 1111 1000
grozīt_tun1 (ziņa [1]);
}
ja (key_val> = 505 && key_val <= 808 && turn == 1) {
dati = 0xf8; // = binārais 1111 1000
grozīt_tun2 (ziņa [1]);
}
ja (key_val == 101 && turn == 1) {
ja (tun1 == 1) {
dati | = 0; // t1a
mainīts_t = taisnība;}
ja (tun1 == 0) {
dati | = 0x01; // t1b
mainīts_t = taisnība;}
}
ja (key_val == 202 && turn == 1) {
ja (tun2 == 1) {
dati | = 0x02; // t2a
mainīts_t = taisnība;
}
ja (tun2 == 0) {
dati | = 0x03; // t2b
mainīts_t = taisnība; }
}
ja (key_val == 303 && turn == 1) {
ja (tun3 == 1) {
dati | = 0x04; // t3a
mainīts_t = taisnība;
}
ja (tun3 == 0) {
dati | = 0x05; // t3b
mainīts_t = taisnība;}
}
ja (key_val == 404 && turn == 1) {
ja (tun4 == 1) {
dati | = 0x06; // t4a
mainīts_t = taisnība;
}
ja (tun4 == 0) {
dati | = 0x07; // f4b
mainīts_t = taisnība;}
}
ja (key_val == 505 && turn == 1) {
ja (tun5 == 1) {
dati | = 0; // t5a
mainīts_t = taisnība;
}
ja (tun5 == 0) {
dati | = 0x01; // t5b
mainīts_t = taisnība;}
}
utt ………………….
2. solis: Arduino kods - TFT displejs
Displeja ķēde paliek nemainīga ar modificētu kodu, lai parādītu 16 dalībnieku statusu. Piezīme. Bibliotēkas kods aizņem gandrīz visu skiču koda atmiņu, atstājot maz vietas jaunām funkcijām. Ja kādam ir efektīvāks šeit izmantotā TFT bibliotēkas fails, lūdzu, informējiet mani.
3. darbība. Izslēgšanas kontrolieris
Skatiet pamācību, kā izveidot Turnout / Points kontrolieri.
Pilna shēma kontrolē 16 punktus un 15 piederumus, piemēram, gaismas, skaņas, pagrieziena galdu utt.
Ieteicams:
Vienkāršs automatizēts dzelzceļa modelis no punkta līdz punktam: 10 soļi (ar attēliem)
Vienkāršs automatizēts dzelzceļa modelis: Arduino mikrokontrolleri ir lieliski, lai automatizētu dzelzceļa modeļu izkārtojumu. Izkārtojumu automatizēšana ir noderīga daudziem mērķiem, piemēram, izkārtojuma izvietošanai displejā, kur izkārtojuma darbību var ieprogrammēt, lai vilcieni darbotos automatizētā secībā. L
Klēpjdatoru skārienpaliktņa vadīts dzelzceļa modelis - PS/2 Arduino saskarne: 14 soļi
Klēpjdatoru skārienpaliktņa vadīts dzelzceļa modelis | PS/2 Arduino saskarne: klēpjdatora skārienpaliktnis ir viena no lieliskajām ierīcēm, ko izmantot kā ievadi mikrokontrolleru projektos. Tāpēc šodien ieviesīsim šo ierīci ar Arduino mikrokontrolleri, lai kontrolētu dzelzceļa modeli. Izmantojot PS/2 skārienpaliktni, mēs varēsim kontrolēt 3 t
O mēroga dzelzceļa tornado modelis: 16 soļi
O Scale Model Railroad Tornado: Esmu pārliecināts, ka katrs cilvēks video ir redzējis tornado. Bet vai esat redzējis vienu, kas darbojas pilnā animācijā O mēroga modeļu dzelzceļā? Nu, mums tas vēl nav uzstādīts uz dzelzceļa, jo tā ir daļa no pilnīgas skaņas un animācijas sistēmas
Dzelzceļa izkārtojuma modelis ar automatizētu pāreju (V2.0): 13 soļi (ar attēliem)
Dzelzceļa modeļa izkārtojums ar automatizētu garāmbraucamo apšuvumu (V2.0): Šis projekts ir atjauninājums vienam no iepriekšējiem dzelzceļa automatizācijas modeļiem - Dzelzceļa parauga izkārtojums ar automatizētu apšuvumu. Šī versija papildina lokomotīves savienošanas un atvienošanas funkciju ar ritošo sastāvu. Operācija
Vilciena WiFi vadības modelis, izmantojot MQTT: 9 soļi
Vilciena modeļa vilciena vadība, izmantojot MQTT: Man bija veca TT mēroga vilciena modeļa sistēma, un man bija ideja, kā individuāli kontrolēt lokomotīves. Paturot to prātā, es devos soli tālāk un sapratu, kas nepieciešams ne tikai vilcienu vadīšanai. bet lai iegūtu papildu informāciju par šo