Мазмұны:
- 1 -қадам: Arduino коды - пернетақтасы бар командалық станция
- 2 -қадам: Arduino коды - TFT дисплейі
- 3 -қадам: бұрылысты реттегіш
Бейне: Темір жол үлгісі - Arduino қолданатын DCC командалық станциясы :: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
2018 жылдың тамызында жаңартылды-жаңа нұсқаулықты қараңыз:
2016 жылғы 28 сәуірдегі жаңарту: Енді командалық станцияға 16 келу / нүктені бақылау мүмкіндігі. T1 - T8 бұрмалары «B» пернесі арқылы қол жетімді T9 - T16 бұрмалары «C» пернесі арқылы қол жетімді
2016 жылғы 10 наурыздағы жаңарту:
Енді командалық станцияға 8 келу / нүктені басқару мүмкіндігі қосылды. Arduino коды сәйкесінше бұрмалар үшін NMRA стандартты пакетін қолдана отырып жаңартылды (сонымен қатар бұрылысты басқаруға арналған Lenz / Atlas Compact деректер пакеттерін зерттеуге негізделген).
T1 - T8 бұрмалары «B» пернесі арқылы қол жетімді
Қолданылатын деректер пакетін қабылдағыш схемасы бойынша нұсқаулықты қараңыз және Arduino коды қажет.
2016 жылдың 18 қаңтарында жаңарту:
Мен тізбеге ағымдағы резистор (1к5 Ом) мен конденсаторды (10 uf) қостым және> 3200 мАмп максималды ток анықталған кезде қуатты өшіру үшін Arduino кодын өзгерттім. H-bridge спецификациясы жүктемедегі 1 ампер үшін 377 uA шығыс сезімтал токты көрсетеді.
1,5 к ом резисторы 6 аналогтық істікшеге бір ампер үшін 0,565 вольтты жеткізеді. Аналогты кірістегі 1023 қадаммен бұл бір амперлік жүктемеге 0,565 * 1023 /5 = 116 береді.
A = 100 * (analogRead (AN_CURRENT)) / 116; A = A * 10; (миллиамптарда нәтиже беру үшін)
Миллиампердегі жүктеме тогы TFT -те көрсетіледі
Толық 4x4 пернетақтасы F1-F8 функцияларын және '#' пернесі арқылы басқа 10 локусты (1-19) қамтиды (10 санынан басталатын сандық пернелерге 10 қосу үшін).
Arduino коды NMRA стандартын қамтиды.
Сілтемені қараңыз
www.nmra.org/sites/default/files/s-9.2.1_20…
(6 бет ерекше маңызды)
Пакеттер жылдамдықтар санына, ұзақ / қысқа адрестерге және Function Group нұсқауларына сәйкес орналастырылған.
Барлық нұсқаулық байттардың алдында 11111111 (немесе бос пакет) '1' преамбуласы болады;
мысалы 4 байтты адрес 0 00000011 0 00111111 0 10000011 0 10111111
loco 3, 128 жылдамдық қадамдарына, алға бағыт пен жылдамдықтың 3 -қадамына тең (соңғы байт - XOR қатені тексеру)
мысалы, 3 байтты мекенжай 0 00000011 0 10010000 0 10110011
loco 3 -ке тең, 1 -функция тобы, FL шамдары қосулы XOR байт (a '0' биті әр байтты ажыратады)
Локо 12 үшін қоса берілген демонстрациялық бейнені қараңыз.
F1 - F8 функциялары 'A' пернесі, DIR ('*' пернесі = бағыт) FL ('0' пернесі = шамдары) және '#' пернесі арқылы қол жетімді, сандық пернетақтада 10 -нан 19 -ға дейінгі локустарды береді. 'D' пернесі енді 'төтенше жағдайды тоқтату' үшін қолданылады.
DCC ақпарат көздері мен Arduino коды үшін интернеттегі әр түрлі провайдерлерге рахмет.
Атап айтқанда, бұл жобаны Майкл Бланк және оның «Қарапайым DCC - командалық станция» шабыттандырды.
www.oscale.net/kz/simpledcc
4x4 матрицалық массив 16 пернелік мембраналық пернетақта (ebay) £ 1,75
2,2 дюймдік 240x320 сериялық SPI TFT LCD дисплей модулі (ebay) 7,19 фунт
УНИВЕРСАЛДЫ 12В 5А 60ВТ ҚУАТТЫ АСПЕР Адаптері (ebay) £ 6.49
Nano V3.0 Arduino үшін CH340G 5V 16M үйлесімді ATmega328P (ebay) 2 x £ 3,30 = £ 6,60
LMD18200T мотор драйвері модулі Arduino R3 (ebay) үшін £ 6.99
Қосқыштар, сым, веро тақта, потенциометр шамамен 3,50 фунт стерлинг
Барлығы 32,52 фунт
Tft экраны мен 1 x наносы жоқ негізгі командалық станция 22,03 фунт стерлингті құрайды
[Ескертпе: TFT дисплейіне жад картасын қосуға және таңдалған қозғалтқыштардың суреттерін көрсету үшін кодты өзгертуге болады, бірақ эскизге көбірек жад жасау үшін кітапхана кодтарын өзгерту қажет. Ағымдағы эскиз өлшемі TFT Arduino Nano үшін максималды]
Майкл Бланктың түпнұсқалық Arduino коды бір қозғалтқышқа арналған, тек қана басқару тетігі жоқ, пернетақта мен дисплейсіз алға / артқа.
Мен кодты 1 - 19 қозғалтқышты, дисплей экранын, бағытты, шамдарды, 8 функцияны, апаттық тоқтауды және автоматты ток шегін қосатын етіп өзгерттім.
LMD18200T көпірі 3 амперге дейін көтере алады, бұл оны барлық масштабтарға, соның ішінде G-шкалаға (бақ пойыздарына) жарамды етеді. Электр желісі мен электроника тек ауа райына төзімді болмайынша үй ішінде қолдануға жарамды. Менде жазғы үйде командалық станция бар, ол теміржолға қосылатын сымдар арқылы қабырға арқылы жолға дейін созылады.
1 -қадам: Arduino коды - пернетақтасы бар командалық станция
Ардуино коды сымға сәйкес келмейтін, схемада 2 қатені көрсеткені үшін tvantenna2759 -ге рахмет, қазір жаңартылды (21 қазан 2017 ж.).
Енді Командалық станцияға 16 бұрылыс қосылды. Arduino Mini Pro модулін қолдана отырып, бұрылыс / нүкте схемасында нұсқаулықты қараңыз.
Келушілерді басқаруды қоса, өзгертілген код төменде берілген.
Негізгі аксессуарларды шешуші пакет: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Lenz (Compact / Atlas) нүктелерді бақылау үшін пайдаланатын пакетті талдай отырып, мен байт 1 және 2 үшін келесі екілік пакеттік форматты қолдандым: tunAddr = 1 1а: 1000 айналымы 0001 1111 1000 / Дауыс беру 1б: 1000 0001 1111 1001 Бару 2а: 1000 0001 1111 1010 / Бару 2b: 1000 0001 1111 1011 Бұрылыс 3а: 1000 0001 1111 1100 / Бұрылыс 3b: 1000 0001 1111 1101 Бару 4а: 1000 0001 1111 1110 / Бару 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- 5а қатысушылар саны: 1000 0010 1111 1000 / Бару 5б: 1000 0010 1111 1001 Бару 6а: 1000 0010 1111 1010 / Бару 6б: 1000 0010 1111 1011 Бару 7а: 1000 0010 1111 1100 / Бару 7б: 1000 0010 1111 1101 8а қатысушылар: 1000 0010 1111 1110 / Бару 8б: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- Бару 9а: 1000 0011 1111 1000 / Бару 9б: 1000 0011 1111 1001 және т.б. ………
Өзгертілген кодтан үзінді: тағы 2 «struct» хабарының жаңартуларын қосыңыз, o'zgarishlar_tun1 (struct Message & x) {x.data [0] = 0x81; // көмекші декодер 0x80 & адрес 1 x.data [1] = 0; }
void o'zgarishlar_tun2 (struct Message & x) {x.data [0] = 0x82; // көмекші декодер 0x80 & адрес 2 x.data [1] = 0; }
Бұрылыстар үшін жаңа бос орын қосыңыз: boolean read_turnout () {delay (20);
логикалық өзгертілген_t = жалған; get_key ();
егер (key_val> = 101 && key_val <= 404 && turn == 1) {
деректер = 0xf8; // = екілік 1111 1000
o'zgartirish_түн1 (хабар [1]);
}
егер (key_val> = 505 && key_val <= 808 && turn == 1) {
деректер = 0xf8; // = екілік 1111 1000
o'zgartirish_түн2 (хабар [1]);
}
егер (key_val == 101 && turn == 1) {
егер (tun1 == 1) {
деректер | = 0; // t1a
өзгертілген_т = шын;}
егер (tun1 == 0) {
деректер | = 0x01; // t1b
өзгертілген_т = шын;}
}
егер (key_val == 202 && turn == 1) {
егер (tun2 == 1) {
деректер | = 0x02; // t2a
өзгертілген_т = ақиқат;
}
егер (tun2 == 0) {
деректер | = 0x03; // t2b
өзгертілген_т = ақиқат; }
}
егер (key_val == 303 && turn == 1) {
егер (tun3 == 1) {
деректер | = 0x04; // t3a
өзгертілген_т = ақиқат;
}
егер (tun3 == 0) {
деректер | = 0x05; // t3b
өзгертілген_т = шын;}
}
егер (key_val == 404 && turn == 1) {
егер (tun4 == 1) {
деректер | = 0x06; // t4a
өзгертілген_т = ақиқат;
}
егер (tun4 == 0) {
деректер | = 0x07; // f4b
өзгертілген_т = шын;}
}
егер (key_val == 505 && turn == 1) {
егер (tun5 == 1) {
деректер | = 0; // t5a
өзгертілген_т = ақиқат;
}
егер (tun5 == 0) {
деректер | = 0x01; // t5b
өзгертілген_т = шын;}
}
т.б ………………….
2 -қадам: Arduino коды - TFT дисплейі
Дисплей схемасы 16 бұрманың күйін көрсету үшін өзгертілген кодпен өзгеріссіз қалады. Ескерту: Кітапхана коды эскиз -кодтық жадтың барлығын дерлік алады және жаңа мүмкіндіктерге орын қалдырмайды. Егер біреуде TFT үшін тиімдірек кітапхана файлы болса, маған хабарлаңыз.
3 -қадам: бұрылысты реттегіш
Қатысу / балл контроллерін қалай жасау керектігі туралы нұсқаулықты қараңыз.
Толық схема 16 нүктені және 15 аксессуарды басқарады, мысалы шамдар, дыбыстар, бұрылмалы табақ және т.
Ұсынылған:
Теміржолға арналған WiFi DCC командалық станциясы: 5 қадам
Үлгілік теміржолға арналған WiFi DCC командалық станциясы: 2021 ж. 5 сәуірде жаңартылды: жаңа компонент схемасы мен режимі. Жаңа эскиз: command_station_wifi_dcc3_LMD18200_v4.ino нұсқаулықтарды жеткізу үшін WiFi қолданатын жаңа DCC жүйесі ұялы телефон/планшеттік дроссельдердің 3 пайдаланушысын макет идеалында қолдануға болады. үшін
Темір жол үлгісінің қарапайым автоматтандырылған нүктесі: 10 қадам (суреттермен)
Қарапайым автоматтандырылған нүкте -теміржол үлгісі: Arduino микроконтроллері теміржол модельдерінің макетін автоматтандыру үшін тамаша. Орналасуды автоматтандыру көптеген мақсаттар үшін пайдалы, мысалы, орналасуды дисплейге қою, онда орналасу әрекетін пойыздарды автоматтандырылған жүйемен жүргізуге бағдарламалауға болады. Л
Таза деректерді қолданатын тақта контроллері үлгісі: 4 қадам
Таза деректерді пайдаланатын үлгі тақтасының контроллері: Бұл нұсқаулықта мен Roland ескі электронды барабандар жинағының жастықшалары жиынтықпен бірге жеткізілген түпнұсқа модульсіз дыбыстарды шығаруға мүмкіндік беретін контроллер құрамын. Мен таза деректерді жүктеу үшін патч жасау үшін қолданамын кейбір wav файлдары, содан кейін p
Raspberry Pi 3 үлгісі B үлгісі: 5 қадам
Таңқурай Pi 3 корпусы B үлгісі: тазартады
Тікелей нысанды анықтауды қолданатын трафик үлгісі анализаторы: 11 қадам (суреттермен)
Тікелей нысанды анықтауды қолданатын трафик үлгісі анализаторы: Қазіргі әлемде бағдаршам қауіпсіз жол үшін өте қажет. Алайда, көп жағдайда бағдаршам біреу қызылға айналған кезде жарыққа жақындағанда тітіркендіреді. Бұл уақытты жоғалтады, әсіресе жарық шамы шамалы болса