Nastavitev ARDUINO IDE za krmilnik DCC
Nastavitev Arduino IDE za krmilnik DCC
Korak 1. Nastavitev okolja IDE. Naložite ESP plošče.
Ko prvič namestite Arduino IDE, podpira samo plošče, ki temeljijo na ARM. Dodati moramo podporo za plošče, ki temeljijo na ESP. Pojdite na File… Nastavitve
Vnesite to vrstico spodaj v upravitelja dodatnih plošč URLŠkatla S. Upoštevajte, da so podčrtaji, brez presledkov. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Potrdite tudi polje z napisom Show Verbose med prevajanjem. To nam daje več informacij, če med kompilacijo kaj ne uspe.
Upoštevajte, da zgornja vrstica doda podporo za naprave esp8266 in novejši esp32. Dva niza json sta ločena z vejico.
Zdaj izberite ploščo različica 2.7.4 od upravitelja upravnega odbora
Namestite različico 2.7.4. To deluje. Različica 3.0.0 in novejše ne delujejo za ta projekt. Zdaj, nazaj v meniju Orodja, izberite ploščo, ki jo boste uporabljali. Za ta projekt bo to ali nodeMCU 1.0 ali WeMos D1R1
Tukaj izberemo WeMos D1R1. (spreminjanje tega iz Nano)
2. korak. Nastavitev okolja IDE. Naloži dodatek ESP8266 Sketch Data Upload.
Ta dodatek moramo naložiti, da lahko objavimo (postavimo) strani HTML in drugo files na napravi ESP. Ti živijo v podatkovni mapi v vaši projektni mapi https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Pojdi na URL zgoraj in prenesite ESP8266FS-0.5.0.zip.
Ustvarite mapo Orodja v mapi Arduino. Razpakirajte vsebino zip file v to mapo Orodja. Moral bi končati s tem;
V razdelku Orodja se prikaže nova menijska možnost ...
Če prikličete to možnost menija, bo IDE naložil vsebino podatkovne mape na tablo. V redu, to je okolje IDE, nastavljeno za splošno uporabo ESP8266, zdaj moramo dodati nekaj knjižnic v mapo Arduino/Libraries za ta specifični projekt.
3. korak. Prenesite knjižnice in jih ročno namestite.
Te knjižnice moramo prenesti iz Githuba; https://github.com/me-no-dev/ESPAsyncTCP
Kliknite kodo in nato prenesite zip. Šlo bo v mapo s prenosi. Pojdite v prenose, poiščite zip, ga odprite in povlecite mapo z vsebino »ESPAsyncTCP« v Arduino/knjižnice.
Če se ime mape konča z »-master«, jo preimenujte tako, da s konca odstranite »-master«.
tj iz prenosov
Odprite .zip za ESPAsyncTCP-master in povlecite mapo ESPAsyncTCP-master iz tega v Arduino/Libraries
Opomba: Arduino/knjižnice ne morejo uporabljati različice .zip, želeno mapo morate razpakirati (povleči). Potrebujemo tudi https://github.com/fmalpartida/New-LiquidCrystal
Prenesite zip, nato povlecite njegovo vsebino v Arduino/knjižnice in odstranite končnico -master.
In končno, potrebujemo ArduinoJson-5.13.5.zip s spodnje povezave https://www.arduinolibraries.info/libraries/arduino-json
prenesite in nato povlecite vsebino zip v Arduino/knjižnice
4. korak. Namestite še nekaj knjižnic z Arduino Library Managerjem.
Potrebujemo še dve knjižnici, ki prihajata iz Arduino Library Managerja, ki vsebuje izbor vgrajenih knjižnic. Pojdite na Orodja… Upravljajte knjižnice…
Uporabite različico 1.0.3 Adafruit INA219. To deluje.
In tudi
Uporabite različico 2.1.0 WebVtičnice Markusa Sattlerja, to je preizkušeno in deluje. Kasnejših različic nisem testiral.
V redu, to so vse knjižnice (imenovane tudi reference), ki jih IDE potrebuje za prevajanje tega projekta.
5. korak. Prenesite projekt ESP_DCC_Controller iz GitHub in ga odprite v IDE.
Pojdite na GitHub in prenesite https://github.com/computski/ESP_DCC_controller
Kliknite zeleni gumb »Koda« in prenesite zip. Nato odprite zadrgo file in premaknite njeno vsebino v mapo Arduino. Preimenujte mapo, da odstranite končnico »-main« v imenu mape. Na koncu bi morali imeti mapo ESP_ DCC_ krmilnik v mapi Arduino. Vseboval bo .INO file, različne .H in .CPP files in podatkovno mapo.
Dvakrat kliknite na .INO file da odprete projekt v Arduino IDE.
Preden preidemo na prevajanje, moramo konfigurirati glede na vaše zahteve ...
Korak 6. Nastavite svoje zahteve v Globalu. h
Ta projekt lahko podpira nodeMCU ali WeMo's D1R1 in lahko podpira tudi številne različne možnosti napajalne plošče (ščit motorja), poleg tega pa lahko podpira naprave na vodilu I2C, kot so trenutni monitor, LCD zaslon in tipkovnica. In končno lahko podpira tudi jogwheel (rotacijski kodirnik). Najbolj osnovna konstrukcija, ki jo lahko naredite, je ščit motorja D1R1 in L298 WeMo.
Opomba: najlažji način za onemogočanje možnosti je, da dodate malo črko n pred njeno ime v stavku #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#definiraj WEMOS_D1R1_AND_L298_ŠČIT
Na primerample, zgoraj je bila NODEMCU_OPTION3 onemogočena z n, enako za nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD je aktivna možnost, zaradi česar bo prevajalnik za to uporabil konfiguracijo, kot je navedena spodaj.
Za sprehod skozi to konfiguracijo:
#elif definirano(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 zložen z L298 ščitom, upoštevajte, da je D1-R2 novejši model z drugačnimi zatiči*/
/*Odrežite mostičke ZAVORE na ščitu L298. Ti niso potrebni in ne želimo, da jih poganjajo zatiči I2C, saj bodo pokvarili signal DCC.
Plošča ima faktor oblike Arduino, zatiči so naslednji
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 srčni utrip in gumb jogwheel (aktiven hi)
D3 GPIO5 Omogoči DCC (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signal (dir)
D6 GPIO12 DCC signal (dir)
D7 GPIO13 Omogoči DCC (pwm)
D8 GPIO0 SDA, z 12k pullup
D9 GPIO2 SCL, z 12k pullup
D10 GPIO15 Jog2
zgoraj so opombe za ljudi, ki vam povedo, kateri ESP GPIO bodo opravljali katere funkcije. Upoštevajte, da je Preslikave Arduino D1-D10 v GPIO se razlikujejo od preslikav vozlišča MCU D1-D10 v GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //pri vzporedni uporabi A in B (2.36 za ujemanje multimetra RMS)
Uporabili bomo AD na ESP in ne zunanje naprave za nadzor toka I2C, kot je onemogočilo INA219
to z n USE_ ANALOG_ MEASUREMENT, če želite uporabiti INA219
#define PIN_HEARTBEAT 16 //in gumb za krmiljenje
#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};
Določa, kateri zatiči bodo poganjali signale DCC, imamo dva kanala, ki delujeta v fazi, tako da ju lahko skupimo skupaj. A-kanal je dcc_ info [], B-kanal pa dcc_ info A []. Ti so definirani kot makri, poševnica nazaj pa je oznaka za nadaljevanje vrstice.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k dvig
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k padajoči seznam
Določite zatiče (GPIO), ki poganjajo I2C SCL/SDA in nato tudi vhoda 1 in 2 kolesca
#define KEYPAD_ADDRESS 0x21 //pcf8574
Uporablja se za izbirno matrično tipkovnico 4 x 4, ki se skenira s čipom pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,osvetlitev ozadja, polarnost. to uporabljamo kot 4-bitno napravo //moj pinout zaslona je rs,rw,e,d0-d7. uporabljajo se samo d<4-7>. <210> se prikaže, ker so biti <012> //preslikani kot EN,RW,RS in jih moramo preurediti glede na dejanski vrstni red na strojni opremi, 3 je preslikan //v osvetlitev ozadja. <4-7> se prikažejo v tem vrstnem redu na nahrbtniku in na zaslonu.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZITIVNO); //YwRobot nahrbtnik
Uporablja se za definiranje in konfiguracijo nahrbtnika I2C, ki poganja zaslon LCD 1602 (izbirno), tega je mogoče mehko konfigurirati in na voljo je več nahrbtnikov, katerih konfiguracije nožic se razlikujejo.
#endif
Korak 7. Prevedite in naložite na tablo.
Zdaj ste konfigurirali kombinacijo plošč, ki jo nameravate uporabiti, lahko sestavite projekt. Če ne nameravate uporabljati 4×4 matrične tipkovnice in LCD-ja, ni problema, pustite njihove definicije, kot jih programska oprema pričakuje, da jih bo konfigurirala. Sistem bo dobro deloval prek WiFi brez njih.
V IDE je simbol kljukice (preveri) dejansko "Prevedi". Kliknite to in videli boste, da se prikažejo različna sporočila (pod pogojem, da ste omogočili prevajanje Verbose), ko sistem prevaja različne knjižnice in vse skupaj povezuje. Če vse deluje dobro in mora, če ste natančno sledili vsem zgornjim korakom, bi se moralo prikazati sporočilo o uspehu. Zdaj ste pripravljeni pritisniti gumb s puščico desno (nalaganje), vendar preden to storite, preverite, ali ste izbrali pravilna vrata COM za ploščo v meniju Orodja.
Po uspešnem nalaganju (uporabite kakovosten kabel USB) morate priklicati tudi Naloži meni ESP8266 Sketch Data možnost pod Orodja. To bo vsebino podatkovne mape postavilo v napravo (vse strani HTML).
Končali ste. Odprite serijski monitor, kliknite gumb za ponastavitev in videli bi, da se naprava zažene in skenira naprave I2C. Zdaj se lahko povežete z njim prek Wi-Fi in pripravljen je za povezavo z napajalno ploščo (ščit motorja).
Dokumenti / Viri
![]() |
Nastavitev ARDUINO IDE za krmilnik DCC [pdfNavodila Nastavitev IDE za krmilnik DCC, nastavitev IDE, nastavitev krmilnika DCC, krmilnik DCC Nastavitev IDE, krmilnik DCC |