Sisukord:

Raudteemudel - DCC juhtimisjaam Arduino abil :: 3 sammu
Raudteemudel - DCC juhtimisjaam Arduino abil :: 3 sammu

Video: Raudteemudel - DCC juhtimisjaam Arduino abil :: 3 sammu

Video: Raudteemudel - DCC juhtimisjaam Arduino abil :: 3 sammu
Video: Saksamaa riikliku raudtee-ettevõtte mudelrongid mõõtkavas HO 2024, Detsember
Anonim
Image
Image
Arduino kood - juhtimisjaam klaviatuuriga
Arduino kood - juhtimisjaam klaviatuuriga

Värskendatud augustis 2018-vaadake uut juhendit:

Värskendus 28. aprill 2016: nüüd on juhtimisjaamas 16 valimisaktiivsuse / punkti kontrollimise võimalust. Pöörded T1 - T8 on saadaval klahvi B abil Pöörded T9 - T16 on saadaval klahvi C abil

Värskendus 10. märtsil 2016:

Nüüd on juhtimisjaamale lisatud 8 valimis- / punktijuhtimisvõimalust. Arduino koodi on vastavalt uuendatud, kasutades NMRA standardpaketti valimisaktiivsuse jaoks (põhineb ka Lenz / Atlas Compact andmepakettide uuringul valimisaktiivsuse kontrollimiseks).

Pöörded T1 - T8 on saadaval klahvi B abil

Vaadake juhiseid kasutatava andmepakettide vastuvõtja vooluahela kohta ja nõutavat Arduino koodi.

Värskendus 18. jaanuar 2016:

Olen lisanud vooluahelasse takistit (1k5 oomi) ja kondensaatorit (10 uf) ning muutnud Arduino koodi, et katkestada toide, kui tuvastatakse tippvool> 3200 mAp. H-silla spetsifikatsioonis on väljalaskevool 377 uA koormuse 1 ampri kohta.

1,5 k oomi takisti annab analoogpistikul 6 0,565 volti võimendi kohta. 1023 sammuga analoogsisendis annab see 0,565 * 1023/5 = 116 ampri koormuse kohta.

A = 100 * (analogRead (AN_CURRENT)) / 116; A = A * 10; (tulemuseks milliamper)

Koormusvool milliamperites kuvatakse TFT -l

Täis 4x4 klaviatuur sisaldab funktsioone F1 kuni F8 ja veel 10 asukohta (1-19) klahvi#kaudu (10 lisamiseks numbriklahvidele alates lokaadist 10).

Arduino kood sisaldab NMRA standardit käsubaitide jaoks.

Vaata linki

www.nmra.org/sites/default/files/s-9.2.1_20…

(lehekülg 6 on eriti oluline)

Paketid on paigutatud vastavalt kiiruse astmete arvule, pikale / lühikesele aadressile ja funktsioonirühma juhistele.

Kõigile käsubaitidele eelneb '1' bittide preambul 11111111 (või jõudeolev pakett), millele järgneb;

nt. A 4 -baitiline aadress 0 00000011 0 00111111 0 10000011 0 10111111

võrdub loco 3, 128 kiirussammu, edasisuuna ja kiirussammuga 3 (lõppbait on veakontroll XOR)

nt 3 -baitiline aadress 0 00000011 0 10010000 0 10110011

võrdub loco 3, funktsioonirühm 1, FL tuled pluss XOR bait (iga bait eraldab '0' bitti)

Vt loko 12 näidisvideot.

Funktsioone F1 - F8 saab kasutada klahvi 'A', klahvi DIR ('*' klahv = suund) FL (klahv '0' = tuled) ja klahv '#' abil saab numbriklahvistikul asendeid 10 kuni 19. D -klahvi kasutatakse nüüd hädaseiskamiseks.

Tänu erinevatele veebipakkujatele DCC teabeallikate ja Arduino koodi eest.

Eelkõige inspireeris seda projekti Michael Blank ja tema "Simple DCC - juhtimisjaam"

www.oscale.net/en/simpledcc

4x4 maatriksmassiivi 16 võtmemembraanlüliti klaviatuur (ebay) 1,75 €

2,2 -tolline 240x320 seeria SPI TFT LCD -ekraanimoodul (ebay) 7,19 €

UNIVERSAL 12V 5A 60W toiteallika vahelduvvooluadapter (ebay) 6,49 €

Nano V3.0 Arduino jaoks koos CH340G 5V 16M ühilduva ATmega328P (ebay) 2 x 3,30 £ = 6,60 £

Mootori draiverimoodul LMD18200T Arduino R3 (ebay) jaoks 6,99 €

Pistikud, traat, vero -plaat, potentsiomeeter umbes £ 3.50

Kokku 32,52 naela

Põhiline juhtimisjaam ilma tft -ekraanita ja 1 x nano oleks 22,03 naela

[Märkus: TFT -ekraanile on võimalik lisada mälukaart ja muuta koodi, et kuvada valitud mootorite pilte, kuigi eskiisi jaoks rohkem mälu tekitamiseks tuleb raamatukogu koode redigeerida. Eskiisi suurus on TFT Arduino Nano puhul maksimaalne]

Michael Blanki algne Arduino kood oli ühe mootori jaoks, ainult edasi / tagasi, ilma funktsioonide juhtimiseta, ilma klahvistiku ja ekraanita.

Olen koodi muutnud nii, et see sisaldaks 1–19 mootorit, ekraani, suunda, tulesid, 8 funktsiooni, hädaseiskamist ja automaatvoolu piirangut.

LMD18200T sild võib kanda kuni 3 amprit, mis muudab selle sobivaks kõikidele kaaludele, sealhulgas G-skaalale (aiarongid). Toiteallikas ja elektroonika sobivad kasutamiseks ainult siseruumides, kui te ei saa seda ilmastikukindlaks muuta. Mul on suvemajas juhtimisjaam, kus rööpaühendusjuhtmed jooksevad läbi seina rööbasteele.

Samm: Arduino kood - juhtimisjaam klaviatuuriga

Tänan teid tvantenna2759 -le, et juhtis skeemi skeemile 2 viga, kus Arduino kood ei vastanud nüüd uuendatud juhtmestikule (21. oktoober 2017).

Nüüd on juhtimisjaamale lisatud 16 valimisaktiivsust. Vaadake juhiseid valimisaktiivsuse / punktide lülitusskeemil, kasutades Arduino Mini Pro moodulit.

Allpool on lisatud muudetud kood koos valimisaktiivsusega.

Aksessuaaride dekodeerija põhipakett on: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Lenzi (Compact / Atlas) punktide juhtimiseks kasutatava paketi analüüsimisel olen baitide 1 ja 2 jaoks kasutanud järgmist binaarpaketi vormingut: tunAddr = 1 Väljund 1a: 1000 0001 1111 1000 / valimisaktiivsus 1b: 1000 0001 1111 1001 Valimisaktiivsus 2a: 1000 0001 1111 1010 / valimisaktiivsus 2b: 1000 0001 1111 1011 Valimisaktiivsus 3a: 1000 0001 1111 1100 / valimisaktiivsus 3b: 1000 0001 1111 1101 Valimisaktiivsus 4a: 1000 0001 1111 1110 / valimisaktiivsus 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- Valimisaktiivsus 5a: 1000 0010 1111 1000 / Valimisaktiivsus 5b: 1000 0010 1111 1001 Valimisaktiivsus 6a: 1000 0010 1111 1010 / Valimisaktiivsus 6b: 1000 0010 1111 1011 Valimisaktiivsus 7a: 1000 0010 1111 1100 / Valimisaktiivsus 7b: 1000 0010 1111 1101 Valimisaktiivsus 8a: 1000 0010 1111 1110 / Valimisaktiivsus 8b: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- Valimisaktiivsus 9a: 1000 0011 1111 1000 / 9b: 1000 0011 1111 1001 jne ………

Väljavõte muudetud koodist: lisage veel 2 struktuuri sõnumivärskendustvoo change_tun1 (struktuuri sõnum & x) {x.data [0] = 0x81; // lisadekooder 0x80 & aadress 1 x.andmed [1] = 0; }

tühine change_tun2 (struktureeritud sõnum & x) {x.andmed [0] = 0x82; // lisadekooder 0x80 & aadress 2 x.andmed [1] = 0; }

Lisa uus tühjus valimisaktiivsusele: boolean read_turnout () {delay (20);

loogiline muudetud_t = vale; get_key ();

if (key_val> = 101 && key_val <= 404 && turn == 1) {

andmed = 0xf8; // = binaarne 1111 1000

edit_tun1 (sõnum [1]);

}

if (key_val> = 505 && key_val <= 808 && turn == 1) {

andmed = 0xf8; // = binaarne 1111 1000

edit_tun2 (sõnum [1]);

}

if (key_val == 101 && turn == 1) {

kui (tun1 == 1) {

andmed | = 0; // t1a

muudetud_t = tõsi;}

kui (tun1 == 0) {

andmed | = 0x01; // t1b

muudetud_t = tõsi;}

}

if (key_val == 202 && turn == 1) {

kui (tun2 == 1) {

andmed | = 0x02; // t2a

muudetud_t = tõsi;

}

kui (tun2 == 0) {

andmed | = 0x03; // t2b

muudetud_t = tõsi; }

}

if (key_val == 303 && turn == 1) {

kui (tun3 == 1) {

andmed | = 0x04; // t3a

muudetud_t = tõsi;

}

kui (tun3 == 0) {

andmed | = 0x05; // t3b

muudetud_t = tõsi;}

}

if (key_val == 404 && turn == 1) {

kui (tun4 == 1) {

andmed | = 0x06; // t4a

muudetud_t = tõsi;

}

kui (tun4 == 0) {

andmed | = 0x07; // f4b

muudetud_t = tõsi;}

}

if (key_val == 505 && turn == 1) {

kui (tun5 == 1) {

andmed | = 0; // t5a

muudetud_t = tõsi;

}

kui (tun5 == 0) {

andmed | = 0x01; // t5b

muudetud_t = tõsi;}

}

jne ………………….

Samm: Arduino kood - TFT -ekraan

Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan
Arduino kood - TFT -ekraan

Ekraani ahel jääb samaks koos muudetud koodiga, et näidata 16 valimisaktiivsuse olekut. Märkus. Raamatukogu kood võtab peaaegu kogu visandikoodi mälu, jättes vähe ruumi uutele funktsioonidele. Kui kellelgi on siin kasutatava TFT jaoks tõhusam teegifail, andke mulle sellest teada.

3. samm: valimisaktiivsuse kontroller

Valimisaktiivsuse kontroller
Valimisaktiivsuse kontroller
Valimisaktiivsuse kontroller
Valimisaktiivsuse kontroller

Vaadake juhiseid, kuidas teha valimisaktiivsuse / punktide kontroller.

Kogu vooluring kontrollib 16 punkti ja 15 lisatarvikut, nagu tuled, helid, pöördlauad jne.

Soovitan: