Nastavenie ARDUINO IDE pre ovládač DCC

Nastavenie Arduino IDE pre radič DCC
Krok 1. Nastavenie prostredia IDE. Vložte dosky ESP.
Keď prvýkrát nainštalujete Arduino IDE, podporuje iba dosky založené na ARM. Potrebujeme pridať podporu pre dosky založené na ESP. Prejdite na File… Predvoľby


Zadajte tento riadok nižšie do správcu doplnkových dosiek URLS box. Všimnite si, že sú v ňom podčiarkovníky, žiadne medzery. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Začiarknite tiež políčko, ktoré hovorí, že počas kompilácie bude zobrazovať podrobné informácie. To nám poskytuje viac informácií, ak počas kompilácie niečo zlyhá.
Všimnite si, že riadok vyššie pridáva podporu pre zariadenia esp8266 aj novšie esp32. Dva reťazce json sú oddelené čiarkou.
Teraz vyberte dosku verzia 2.7.4 od manažéra predstavenstva

Nainštalujte verziu 2.7.4. Toto funguje. Verzia 3.0.0 a vyššia pre tento projekt nefunguje. Teraz späť v ponuke Nástroje vyberte dosku, ktorú budete používať. Pre tento projekt to bude buď nodeMCU 1.0 alebo WeMos D1R1

Tu vyberieme WeMos D1R1. (zmena to z Nano)
Krok 2. Nastavenie prostredia IDE. Načítať doplnok ESP8266 Sketch Data Upload.
Potrebujeme načítať tento doplnok, aby sme mohli publikovať (umiestňovať) HTML stránky a iné files na zariadení ESP. Tieto sa nachádzajú v priečinku s údajmi vo vašom priečinku projektu https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Choďte na URL vyššie a stiahnite si ESP8266FS-0.5.0.zip.
Vytvorte priečinok Tools vo svojom priečinku Arduino. Rozbaľte obsah zipsu file do tohto priečinka Nástroje. Mali by ste skončiť s týmto;

A v časti Nástroje sa zobrazí nová možnosť ponuky…

Ak vyvoláte túto možnosť ponuky, IDE nahrá obsah priečinka s údajmi na dosku. Ok, takže toto je prostredie IDE nastavené na všeobecné použitie ESP8266, teraz musíme pridať nejaké knižnice do priečinka Arduino/Libraries pre tento konkrétny projekt.
Krok 3. Stiahnite si knižnice a manuálne nainštalujte.
Potrebujeme stiahnuť tieto knižnice z Github; https://github.com/me-no-dev/ESPAsyncTCP

Kliknite na kód a potom si stiahnite zip. Prejde do priečinka na sťahovanie. Prejdite na sťahovanie, nájdite zip, otvorte ho a presuňte priečinok s obsahom „ESPAsyncTCP“ do Arduino/libraries.
Ak názov priečinka končí na „-master“, premenujte ho tak, aby sa z konca odstránil „-master“.
tj zo stiahnutí

Otvorte súbor .zip pre ESPAsyncTCP-master a presuňte priečinok ESPAsyncTCP-master zvnútra do Arduino/Libraries

Poznámka: Arduino/knižnice nemôžu používať verziu .zip, je potrebné rozbaliť (pretiahnuť) požadovaný priečinok. Tiež potrebujeme https://github.com/fmalpartida/New-LiquidCrystal
Stiahnite si zip, potom pretiahnite jeho obsah do Arduino/knižníc a odstráňte koniec -master.
A nakoniec potrebujeme ArduinoJson-5.13.5.zip z odkazu nižšie https://www.arduinolibraries.info/libraries/arduino-json
stiahnite a potom pretiahnite obsah zip do Arduino/knižníc
Krok 4. Nainštalujte niekoľko ďalších knižníc pomocou Arduino Library Manager.
Potrebujeme dve ďalšie knižnice a tie pochádzajú z Arduino Library Manager, ktorý obsahuje výber vstavaných knižníc. Prejdite na Nástroje… Spravovať knižnice…


Použite verziu 1.0.3 Adafruit INA219. Toto funguje.
A tiež

Použite verziu 2.1.0 WebZásuvky od Markusa Sattlera, sú odskúšané a fungujú. Neskúšal som neskoršie verzie.
OK, takže to sú všetky knižnice (aka referencie), ktoré IDE potrebuje na kompiláciu tohto projektu.
Krok 5. Stiahnite si projekt ESP_DCC_Controller z GitHub a otvorte ho v IDE.
Prejdite na GitHub a stiahnite si https://github.com/computski/ESP_DCC_controller
Kliknite na zelené tlačidlo „Kód“ a stiahnite si zip. Potom otvorte zips file a presuňte jeho obsah do priečinka Arduino. Premenujte priečinok, aby ste odstránili koncovku „-main“ z názvu priečinka. Mali by ste skončiť s priečinkom ESP_ DCC_ controller v priečinku Arduino. Bude obsahovať .INO file, rôzne .H a .CPP files a priečinok s údajmi.

Dvakrát kliknite na .INO file na otvorenie projektu v Arduino IDE.
Pred kompiláciou musíme nakonfigurovať podľa vašich požiadaviek...
Krok 6. Nastavte svoje požiadavky v Global. h
Tento projekt môže podporovať nodeMCU alebo WeMo's D1R1 a tiež môže podporovať množstvo rôznych možností výkonovej dosky (štít motora), plus môže podporovať zariadenia na zbernici I2C, ako je aktuálny monitor, LCD displej a klávesnica. A nakoniec môže podporovať aj jogwheel (rotačný kódovač). Najzákladnejšia zostava, ktorú môžete urobiť, je štít motora WeMo D1R1 a L298.
Všimnite si, že najjednoduchší spôsob, ako vypnúť voľbu, je pridať malé písmeno n pred jej názov v príkaze #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#definovať WEMOS_D1R1_AND_L298_SHIELD
Napríkladample, vyššie NODEMCU_OPTION3 bolo zakázané s n, to isté pre nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD je aktívna možnosť a to spôsobí, že kompilátor na to použije konfiguráciu uvedenú nižšie.
Ak chcete prejsť touto konfiguráciou:
#elif definované(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 naskladaný so štítom L298, všimnite si, že D1-R2 je novší model s rôznymi vývodmi*/
/*Prestrihnite prepojky BRAKE na štíte L298. Nie sú potrebné a nechceme, aby boli poháňané kolíkmi I2C, pretože to poškodí signál DCC.
Doska má tvarový faktor Arduino, kolíky sú nasledovné
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 srdcový tep a tlačidlo jogwheel (aktívne hi)
D3 GPIO5 DCC povolenie (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signál (smer)
D6 GPIO12 DCC signál (smer)
D7 GPIO13 DCC povolenie (pwm)
D8 GPIO0 SDA, s 12k pullup
D9 GPIO2 SCL, s 12k pullup
D10 GPIO15 Jog2
Vyššie uvedené sú poznámky pre ľudí, vďaka ktorým viete, ktoré ESP GPIO budú vykonávať aké funkcie. Všimnite si, že Mapovania Arduino D1-D10 na GPIO sa líšia od mapovania uzla MCU D1-D10 na GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //pri paralelnom použití A a B (2.36, aby zodpovedala RMS multimetra)
Použijeme AD na ESP a nie externé I2C monitorovacie zariadenie, ako je INA219 disable
toto pomocou n USE_ ANALOG_ MEASUREMENT, ak chcete použiť INA219
#define PIN_HEARTBEAT 16 //a tlačidlo otočného kolieska
#define DCC_PINS \
uint32 dcc_info[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12, 12, 0 }; \
uint32 enable_info[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO5, 5, 0 }; \
uint32 dcc_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO14, 14, 0 }; \
uint32 enable_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO13,13 , 0 };
Definuje, ktoré kolíky budú riadiť signály DCC, máme dva kanály, ktoré bežia vo fáze, takže ich môžeme spojiť. A-kanál je dcc_ info [] a B-kanál je dcc_ info A []. Tieto sú definované ako makrá a spätná lomka je značka pokračovania riadku.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k rozbaľovacia ponuka
Definujte kolíky (GPIO), ktoré poháňajú I2C SCL/SDA a potom aj vstupy otočného kolieska 1 a 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Používa sa pre voliteľnú maticovú klávesnicu 4 x 4, ktorá je skenovaná pomocou čipu pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,podsvietenie, polarita. používame to ako 4-bitové zariadenie //môj pinout displeja je rs,rw,e,d0-d7. používajú sa iba d4-7. <210> sa objaví, pretože bity <012> sú //mapované ako EN,RW,RS a musíme ich zmeniť podľa aktuálnej objednávky na hardvéri, 3 je namapovaná //na podsvietenie. <4-7> sa zobrazia v tomto poradí na batohu a na displeji.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZITÍVNE); //batoh YwRobot
Používa sa na definovanie a konfiguráciu batohu I2C, ktorý poháňa LCD displej 1602 (voliteľné), je konfigurovateľný a je k dispozícii niekoľko batohov, ktorých konfigurácie kolíkov sa líšia.
#endif
Krok 7. Zostavte a nahrajte na nástenku.
Teraz ste nakonfigurovali kombináciu dosiek, ktoré chcete použiť, môžete zostaviť projekt. Ak nemáte v úmysle používať maticovú klávesnicu 4×4 a LCD, žiadny problém, ponechajte ich definície tak, ako softvér očakáva ich konfiguráciu. Systém bude fungovať dobre cez WiFi aj bez nich.
Na IDE je symbol začiarknutia (overiť) v skutočnosti „Compile“. Kliknite na toto a uvidíte rôzne správy (za predpokladu, že ste povolili podrobnú kompiláciu), keď systém kompiluje rôzne knižnice a všetky ich spája. Ak všetko funguje dobre a malo by, ak ste presne dodržali všetky vyššie uvedené kroky, mala by sa zobraziť správa o úspechu. Teraz ste pripravení stlačiť tlačidlo so šípkou doprava (nahrať), ale predtým, ako to urobíte, skontrolujte, či ste vybrali správny port COM pre dosku v ponuke Nástroje.
Po úspešnom načítaní (použite kvalitný USB kábel) musíte tiež vyvolať Načítať ponuku údajov náčrtu ESP8266 možnosť v časti Nástroje. Tým sa do zariadenia vloží obsah priečinka s údajmi (všetky stránky HTML).
Skončil si. Otvorte sériový monitor, kliknite na tlačidlo reset a mali by ste vidieť spustenie zariadenia a vyhľadať zariadenia I2C. Teraz sa k nemu môžete pripojiť cez Wifi a je pripravený na pripojenie k napájacej doske (štít motora).
Dokumenty / zdroje
![]() |
Nastavenie ARDUINO IDE pre ovládač DCC [pdfPokyny Nastavenie IDE pre radič DCC, nastavenie IDE, nastavenie pre radič DCC, nastavenie radiča DCC Nastavenie IDE, radič DCC |




