Sisukord:
- Samm: Arduino kood - juhtimisjaam klaviatuuriga
- Samm: Arduino kood - TFT -ekraan
- 3. samm: valimisaktiivsuse kontroller
Video: Raudteemudel - DCC juhtimisjaam Arduino abil :: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
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
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
Vaadake juhiseid, kuidas teha valimisaktiivsuse / punktide kontroller.
Kogu vooluring kontrollib 16 punkti ja 15 lisatarvikut, nagu tuled, helid, pöördlauad jne.
Soovitan:
Isetegemine -- Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: 6 sammu
Isetegemine || Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: Ämblikroboti tegemisel saab robootika kohta nii mõndagi õppida. Nagu robotite tegemine, on see nii meelelahutuslik kui ka väljakutsuv. Selles videos näitame teile, kuidas teha ämblikrobot, mida saame juhtida oma nutitelefoni abil (Androi
ATmega328 programmeerimine Arduino IDE abil 8MHz kristalli abil: 4 sammu
ATmega328 programmeerimine Arduino IDE -ga, kasutades 8MHz kristalli: Selles süstitavas kirjeldan samm -sammult ATmega328P IC (sama mikrokontroller olemas Arudino UNO -l) programmeerimise juhendit, kasutades Arduino IDE -d ja Arduino UNO -d programmeerijana, et teha endale kohandatud Arduino, et oma projekte teha
Sülearvuti puuteplaadiga juhitav raudteemudel - PS/2 Arduino liides: 14 sammu
Sülearvuti puuteplaadiga juhitav raudteemudel | PS/2 Arduino liides: sülearvuti puuteplaat on üks suurepäraseid seadmeid, mida saab kasutada mikrokontrollerite projektide sisendina. Nii et täna rakendame seda seadet Arduino mikrokontrolleriga, et juhtida raudtee mudelit. PS/2 puuteplaadi abil saame juhtida 3 t
Juhtige kogu maailmas Interneti abil Arduino abil: 4 sammu
Juhtige kogu maailmas Interneti abil Arduino abil: Tere, ma olen Rithik. Teeme teie telefoni kasutades Interneti -juhitud LED -i. Kasutame sellist tarkvara nagu Arduino IDE ja Blynk. See on lihtne ja kui teil õnnestub, saate juhtida nii palju soovitud elektroonilisi komponente Asjad, mida vajame: riistvara:
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil