Nastavení ARDUINO IDE pro ovladač DCC

Nastavení Arduino IDE pro řadič DCC
Krok 1. Nastavení prostředí IDE. Vložte desky ESP.
Když poprvé nainstalujete Arduino IDE, podporuje pouze desky založené na ARM. Musíme přidat podporu pro desky založené na ESP. Navigovat do File… Preference


Zadejte tento řádek níže do Správce dalších desek URLS box. Všimněte si, že jsou v něm podtržítka, žádné mezery. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Zaškrtněte také políčko s nápisem Zobrazit podrobně během kompilace. To nám poskytuje více informací, pokud během kompilace něco selže.
Všimněte si, že výše uvedený řádek přidává podporu pro zařízení esp8266 i novější esp32. Dva řetězce json jsou odděleny čárkou.
Nyní vyberte desku verze 2.7.4 od manažera představenstva

Nainstalujte verzi 2.7.4. Tohle funguje. Verze 3.0.0 a vyšší pro tento projekt nefunguje. Nyní v nabídce Nástroje vyberte desku, kterou budete používat. Pro tento projekt to bude buď nodeMCU 1.0 nebo WeMos D1R1

Zde vybereme WeMos D1R1. (změna z Nano)
Krok 2. Nastavení prostředí IDE. Načtěte doplněk ESP8266 Sketch Data Upload.
Tento doplněk musíme načíst, abychom mohli publikovat (vkládat) HTML stránky a další files na zařízení ESP. Ty žijí v datové složce ve složce vašeho projektu https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Přejít na URL výše a stáhněte si ESP8266FS-0.5.0.zip.
Vytvořte složku Tools ve složce Arduino. Rozepněte obsah zipu file do této složky Nástroje. Měli byste skončit s tímto;

A v nabídce Nástroje se objeví nová možnost…

Pokud vyvoláte tuto možnost nabídky, IDE nahraje obsah datové složky na desku. Dobře, to je prostředí IDE nastavené pro obecné použití ESP8266, nyní musíme přidat nějaké knihovny do složky Arduino/Libraries pro tento konkrétní projekt.
Krok 3. Stáhněte si knihovny a ručně nainstalujte.
Potřebujeme stáhnout tyto knihovny z Githubu; https://github.com/me-no-dev/ESPAsyncTCP

Klikněte na kód a poté stáhněte zip. Přejde do složky se staženými soubory. Přejděte na soubory ke stažení, najděte zip, otevřete jej a přetáhněte složku obsahu „ESPAsyncTCP“ do Arduino/libraries.
Pokud název složky končí na „-master“, přejmenujte ji tak, aby byla z konce odstraněna „-master“.
tj. ze stahování

Otevřete .zip pro ESPAsyncTCP-master a přetáhněte složku ESPAsyncTCP-master z této složky do Arduino/Libraries

Poznámka: Arduino/knihovny nemohou používat .zip verzi, musíte rozbalit (přetáhnout) požadovanou složku. Také potřebujeme https://github.com/fmalpartida/New-LiquidCrystal
Stáhněte si zip, přetáhněte jeho obsah do Arduino/knihoven a odstraňte konec -master.
A nakonec potřebujeme ArduinoJson-5.13.5.zip z níže uvedeného odkazu https://www.arduinolibraries.info/libraries/arduino-json
stáhněte a poté přetáhněte obsah zipu do Arduina/knihoven
Krok 4. Nainstalujte několik dalších knihoven pomocí Arduino Library Manager.
Potřebujeme dvě další knihovny a ty pocházejí z Arduino Library Manager, který obsahuje výběr vestavěných knihoven. Přejděte na Nástroje… Správa knihoven…


Použijte verzi 1.0.3 Adafruit INA219. Tohle funguje.
A také

Použijte verzi 2.1.0 WebZásuvky od Markuse Sattlera, to je vyzkoušené a funkční. Pozdější verze jsem netestoval.
OK, takže to jsou všechny knihovny (aka reference), které IDE potřebuje ke kompilaci tohoto projektu.
Krok 5. Stáhněte si projekt ESP_DCC_Controller z GitHubu a otevřete jej v IDE.
Přejděte na GitHub a stáhněte si https://github.com/computski/ESP_DCC_controller
Klikněte na zelené tlačítko „Kód“ a stáhněte si zip. Poté otevřete zip file a přesuňte jeho obsah do složky Arduino. Přejmenujte složku, abyste odstranili koncovku „-main“ z názvu složky. Měli byste skončit se složkou ESP_ DCC_ controller ve vaší složce Arduino. Bude obsahovat .INO file, různé .H a .CPP files a datovou složku.

Dvakrát klikněte na .INO file k otevření projektu v Arduino IDE.
Než zahájíme kompilaci, musíme nakonfigurovat podle vašich požadavků…
Krok 6. Nastavte své požadavky v Global. h
Tento projekt může podporovat nodeMCU nebo WeMo's D1R1 a také může podporovat řadu různých možností napájecí desky (stínění motoru) a navíc může podporovat zařízení na sběrnici I2C, jako je aktuální monitor, LCD displej a klávesnice. A konečně může také podporovat jogwheel (rotační kodér). Nejzákladnější sestavení, které můžete udělat, je štít motoru WeMo D1R1 a L298.
Všimněte si, že nejjednodušší způsob, jak zakázat volbu, je přidat malé písmeno n před její název v příkazu #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#definovat WEMOS_D1R1_AND_L298_SHIELD
Napřample, výše NODEMCU_OPTION3 byla zakázána pomocí n, totéž pro nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD je aktivní volba a to způsobí, že kompilátor k tomu použije konfiguraci uvedenou níže.
Chcete-li projít tuto konfiguraci:
#elif definováno(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 naskládaný se štítem L298, všimněte si, že D1-R2 je novější model s různými piny*/
/*Přestřihněte propojky BRAKE na štítu L298. Ty nejsou vyžadovány a nechceme, aby byly řízeny piny I2C, protože to poškodí signál DCC.
Deska má tvarový faktor Arduino, piny jsou následující
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 srdeční tep a tlačítko jogwheel (aktivní hi)
D3 GPIO5 DCC povolení (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signál (směr)
D6 GPIO12 DCC signál (směr)
D7 GPIO13 DCC povolení (pwm)
D8 GPIO0 SDA, s 12k pullup
D9 GPIO2 SCL, s 12k pullup
D10 GPIO15 Jog2
výše uvedené jsou poznámky pro lidi, které vám umožní vědět, které ESP GPIO budou vykonávat jaké funkce. Všimněte si, že Mapování Arduino D1-D10 na GPIO se liší od mapování uzlu MCU D1-D10 na GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //při paralelním použití A a B (2.36, aby odpovídala RMS multimetru)
Použijeme AD na ESP a ne externí I2C proudové monitorovací zařízení, jako je deaktivace INA219
to s n USE_ ANALOG_ MEASUREMENT, pokud si přejete použít INA219
#define PIN_HEARTBEAT 16 //a otočné tlačítko
#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, které piny budou řídit signály DCC, máme dva kanály, běžící ve fázi, takže je můžeme spojit dohromady. A-kanál je dcc_ info [] a B-kanál je dcc_ info A []. Ty jsou definovány jako makra a zpětné lomítko je značka pro pokračování řádku.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k rozbalovací nabídka
Definujte piny (GPIO), které řídí I2C SCL/SDA a pak také vstupy jogwheel 1 a 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Používá se pro volitelnou maticovou klávesnici 4 x 4, která je skenována pomocí čipu pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,podsvícení, polarita. používáme to jako 4bitové zařízení //můj pinout displeje je rs,rw,e,d0-d7. jsou použity pouze d<4-7>. <210> se objeví, protože bity <012> jsou //mapovány jako EN,RW,RS a musíme je změnit pořadí podle skutečné objednávky na hardwaru, 3 je mapována //na podsvícení. <4-7> se zobrazí v tomto pořadí na batohu a na displeji.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZITIVNÍ); //Batoh YwRobot
Používá se k definování a konfiguraci batohu I2C, který řídí LCD displej 1602 (volitelně), je konfigurovatelný a je k dispozici několik batohů, jejichž konfigurace kolíků se liší.
#endif
Krok 7. Zkompilujte a nahrajte na nástěnku.
Nyní jste nakonfigurovali combo desky, kterou chcete použít, můžete sestavit projekt. Pokud nehodláte používat maticovou klávesnici 4×4 a LCD, žádný problém, ponechte jejich definice, jak software očekává, že je nakonfiguruje. Systém bude fungovat dobře přes WiFi i bez nich.
Na IDE je symbol zaškrtnutí (verify) ve skutečnosti „Compile“. Klikněte na toto a uvidíte různé zprávy (za předpokladu, že jste povolili podrobnou kompilaci), jak systém kompiluje různé knihovny a spojuje je všechny dohromady. Pokud vše funguje dobře a mělo by, pokud jste přesně dodrželi všechny výše uvedené kroky, měla by se zobrazit zpráva o úspěchu. Nyní jste připraveni stisknout tlačítko se šipkou vpravo (nahrát), ale než to uděláte, zkontrolujte, zda jste vybrali správný COM port pro desku v nabídce Nástroje.
Po úspěšném nahrání (použijte kvalitní USB kabel) musíte také vyvolat Načíst nabídku Data náčrtu ESP8266 možnost v nabídce Nástroje. Tím vložíte obsah datové složky do zařízení (všechny HTML stránky).
Jsi hotov. Otevřete sériový monitor, klikněte na tlačítko reset a měli byste vidět spouštění zařízení a vyhledat zařízení I2C. Nyní se k němu můžete připojit přes Wifi a je připraven k připojení k napájecí desce (stínění motoru).
Dokumenty / zdroje
![]() |
Nastavení ARDUINO IDE pro ovladač DCC [pdfPokyny Nastavení IDE pro řadič DCC, Nastavení IDE, Nastavení pro řadič DCC, Nastavení řadiče DCC Nastavení IDE, řadič DCC |




