
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06

Keďže mám starý modelový systém vlaku v mierke TT, dostal som nápad, ako ovládať lokomotívy jednotlivo.
S ohľadom na to som šiel o krok ďalej a zistil som, čo je potrebné nielen na ovládanie vlakov, ale aj na získanie ďalších informácií o celom usporiadaní a ovládaní niečoho iného (žiarovky, výhybky …)
Tak sa rodí modelový vlakový systém riadený WiFi.
Krok 1: Prevádzkové zásady

Hlavnou zásadou je ovládať každý prvok jednotlivo, buď z jedného ovládača, alebo z viacerých zdrojov ovládania. To vo svojej podstate potrebuje spoločnú fyzickú vrstvu - najzreteľnejšie WiFi - a spoločný komunikačný protokol MQTT.
Ústredným prvkom je maklér MQTT. Každé pripojené zariadenie (vlak, senzor, výstup …) môže komunikovať iba prostredníctvom Sprostredkovateľa a môže od neho prijímať iba údaje.
Srdcom zariadení je ovládač WiFi na báze ESP8266, zatiaľ čo broker MQTT beží na Raspberry pi.
Pokrytie Wifi je najskôr zabezpečené routerom WiFi a všetko je pripojené bezdrôtovo.
Existujú 4 typy zariadení:
- Ovládač vlaku: má 2 digitálne vstupy, 1 digitálny výstup, 2 výstupy PWM (na ovládanie 2 samostatných jednosmerných motorov), - Senzorový ovládač: má 7 digitálnych vstupov (pre vstupné spínače, optosenzory …), - Ovládač výstupu: má 8 digitálnych výstupov (pre koľajové spínače …), - Diaľkové ovládanie WiFi: má 1 inkrementálny vstup kodéra, 1 digitálny vstup (na diaľkové ovládanie vlakov).
Systém je schopný fungovať aj z Node-Red (z tabletu, PC alebo smartfónu …).
Krok 2: Výmena a konfigurácia údajov MQTT

Na základe protokolu MQTT sa každé zariadenie najskôr prihlási k danej téme a môže publikovať na inú tému. Toto je základ komunikácie siete riadenia vlakov.
Tieto komunikačné príbehy sú zasadené do správ vo formáte JSON, aby boli krátke a čitateľné pre ľudí.
Pohľad z väčšej perspektívy: Sieť má WiFi router s vlastným SSID (názov siete) a heslom. Každé zariadenie musí tieto 2 vedieť, aby sa mohlo pripojiť k sieti WiFi. Broker MQTT je tiež súčasťou tejto siete, takže aby bolo možné používať protokol MQTT, každé zariadenie musí poznať IP adresu brokera. A nakoniec, každé zariadenie má svoju vlastnú tému na prihlásenie sa na odber a publikovanie správ.
V praxi daný diaľkový ovládač používa rovnakú tému na publikovanie správ, ku ktorým je daný vlak prihlásený.
Krok 3: Ovládač vlaku

Na ovládanie vláčika potrebujeme v zásade 3 veci: napájanie, ovládač s podporou WiFi a elektroniku vodiča motora.
Napájanie závisí od skutočného plánu použitia: v prípade LEGO je to box na batérie Power Functions, v prípade súpravy vlaku „oldschool“v mierke TT alebo H0 ide o napájanie 12V trate.
Ovládač s podporou WiFi je ovládač Wemos D1 mini (na báze ESP8266).
Elektronika ovládača motora je modul založený na TB6612.
Ovládač vlaku má 2 individuálne ovládané výstupy PWM. Akútne jeden slúži na ovládanie motora a druhý slúži na svetelnú signalizáciu. Má 2 vstupy pre snímanie založené na jazýčkových kontaktoch a jeden digitálny výstup.
Ovládač prijíma správy JSON prostredníctvom protokolu WiFi a MQTT.
SPD1 riadi motor, napríklad: Správa „" SPD1 ": -204} sa používa na posun motora dozadu pri 80% výkone (maximálna hodnota otáčok je -255).
SPD2 riadi intenzitu svetla LED „citlivého na smer“: Správa „„ SPD2 “: -255} rozsvieti (spätne) LED na plný výkon.
OUT1 riadi stav digitálneho výstupu: {"OUT1": 1} zapína výstup.
Ak sa zmení stav vstupu, regulátor odošle správu podľa neho: {"IN1": 1}
Ak kontrolór dostane platnú správu, vykoná ju a poskytne spätnú väzbu maklérovi. Spätná väzba je skutočne vykonaný príkaz. Napríklad: ak sprostredkovateľ odošle {"SPD1": 280}, motor pracuje na plný výkon, ale správa so spätnou väzbou bude: {"SPD1": 255}
Krok 4: Ovládanie vlaku LEGO

V prípade vlaku LEGO sú schémy trochu odlišné.
Napájanie pochádza priamo z batérie.
Je potrebný mini krokový prevodník, ktorý by poskytoval 3,5 V pre dosku Lolin na báze ESP8266.
Pripojenia sú vyrobené s predlžovacím drôtom LEGO 8886, rozrezaným na polovicu.
Krok 5: Diaľkový ovládač

Ovládač zverejňuje iba správy vlaku (definované prepínačom BCD).
Otáčaním kodéra diaľkové ovládanie odosiela buď správy {"SPD1": "+"} alebo {"SPD1": "-"}.
Keď vlak prijme túto správu „prírastkového typu“, zmení svoju výstupnú hodnotu PWM o 51 alebo -51.
Týmto spôsobom môže diaľkový ovládač meniť rýchlosť vlaku v 5 krokoch (každý smer).
Stlačením inkrementálneho kodéra sa odošle {"SPD1": 0}.
Krok 6: Ovládač senzora

Takzvaný senzorový regulátor meria stavy svojich vstupov a ak sa ktorýkoľvek z nich zmení, zverejní túto hodnotu.
Napríklad: {"IN1": 0, "IN6": 1} v tomto prípade 2 vstupy zmenili stav súčasne.
Krok 7: Výstupný regulátor

Výstupný regulátor má 8 digitálnych výstupov, ktoré sú pripojené k modulu založenému na ULN2803.
Prijíma správy prostredníctvom svojej prihlásenej témy.
Napríklad správa {"OUT4": 1, "OUT7": 1} zapne 4. a 7. digitálny výstup.
Krok 8: Raspberry Pi a WiFi router
Mal som použitý smerovač TP-Link WiFI, takže som to použil ako prístupový bod.
Maklér MQTT je Raspberry Pi s nainštalovaným Mosquitto.
Používam štandardný OS Raspbian s MQTT integrovaným s:
sudo apt-get install mosquitto mosquitto-clients python-mosquitto
Router TP-Link musí byť nakonfigurovaný tak, aby mal rezerváciu adresy pre Raspberry, takže po každom reštarte má Pi rovnakú IP adresu a môže sa k nemu pripojiť každé zariadenie.
A je to!
Krok 9: Hotové ovládače


Tu sú hotové ovládače.
Loko stupnice TT má také malé rozmery, že loolinskú dosku bolo potrebné zúžiť (narezať), aby bola dostatočne malá, aby sa zmestila do vlaku.
Zostavené binárne súbory je možné stiahnuť. Z bezpečnostných dôvodov bolo rozšírenie priečinka nahradené txt.
Odporúča:
(Veľmi jednoduché) Modelovanie chorôb (pomocou Scratch): 5 krokov

(Veľmi jednoduché) Modelovanie chorôb (pomocou Scratch): Dnes budeme simulovať vypuknutie choroby, pričom ide o akúkoľvek chorobu, nie nevyhnutne o COVID-19. Táto simulácia bola inšpirovaná videom od 3blue1brown, na ktoré odkazujem. Pretože je to drag and drop, nemôžeme s JS alebo Pyt urobiť toľko, koľko dokážeme
Super ľahký spôsob ovládania servomotora pomocou Arduina: 8 krokov

Super ľahký spôsob ovládania servomotora pomocou Arduina: V tomto návode použijeme servomotor a Arduino UNO a Visuino na ovládanie polohy stupňa servomotora pomocou iba niekoľkých komponentov, vďaka čomu bude tento projekt veľmi jednoduchý. Pozrite si ukážkové video
Rýchlosť a smer ovládania gestami DC MOTOR pomocou Arduina: 8 krokov

Rýchlosť a smer ovládania gest DC DC MOTOR pomocou Arduina: V tomto návode sa naučíme ovládať DC motor pomocou gest arduino a Visuino. Pozrite si video! Pozrite si aj toto: Výukový program gestami ruky
Rádiové ovládanie RF 433MHZ pomocou HT12D HT12E - Výroba diaľkového ovládania RF pomocou HT12E a HT12D s frekvenciou 433 MHz: 5 krokov

Rádiové ovládanie RF 433MHZ pomocou HT12D HT12E | Výroba diaľkového ovládania RF pomocou HT12E a HT12D s frekvenciou 433 MHz: V tomto návode vám ukážem, ako vytvoriť diaľkový ovládač RADIO pomocou modulu prijímača vysielača s frekvenciou 433 MHz s kódovaním HT12E & IC dekodér HT12D. V tomto návode budete môcť odosielať a prijímať údaje pomocou veľmi lacných KOMPONENTOV, AKO: HT
Ovládanie zariadení pomocou hlasového ovládania pomocou NodeMCU: 7 krokov (s obrázkami)

Ovládanie zariadení pomocou hlasového ovládania pomocou NodeMCU: Chcem sa len pozdraviť s každým, toto je môj prvý prípad, kedy píšem inštruovateľný projekt. Angličtina nie je môj rodný jazyk, a preto sa pokúsim urobiť to stručné a čo najjasnejšie. Ovládanie zariadení hlasovým príkazom nie je nič zvláštne