ARDUINO IDE Postavljanje za DCC kontroler 

ARDUINO IDE logotip

Postavljanje Arduino IDE za DCC kontroler

Korak 1. Postavljanje IDE okruženja. Napunite ESP ploče.

Kada prvi put instalirate Arduino IDE, on podržava samo ploče temeljene na ARM-u. Moramo dodati podršku za ploče temeljene na ESP-u. Idite do File… Postavke

Postavljanje IDE okruženja. Napunite ESP ploče
Postavljanje IDE okruženja. Napunite ESP ploče

Upišite ovaj redak ispod u upravitelj dodatnih ploča URLS kutija. Imajte na umu da ima podvlaka, bez razmaka.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Također označite okvir koji kaže Show Verbose tijekom kompilacije. Ovo nam daje više informacija ako nešto ne uspije tijekom kompilacije.

Imajte na umu da redak iznad dodaje podršku za uređaje esp8266 i noviji esp32. Dva niza json odvojena su zarezom.
Sada odaberite ploču verzija 2.7.4 od upravitelja odbora

Postavljanje Arduino IDE za DCC kontroler

Instalirajte verziju 2.7.4. Ovo radi. Verzija 3.0.0 i novije ne rade za ovaj projekt. Sada, vratite se u izbornik Alati, odaberite ploču koju ćete koristiti. Za ovaj projekt to će biti ili nodeMCU 1.0 ili WeMos D1R1

Postavljanje Arduino IDE za DCC kontroler

Ovdje biramo WeMos D1R1. (mijenjajući ovo u odnosu na Nano)

Korak 2. Postavljanje IDE okruženja. Učitaj dodatak ESP8266 Sketch Data Upload.

Moramo učitati ovaj dodatak kako bismo mogli objavljivati ​​(stavljati) HTML stranice i ostalo files na ESP uređaju. Oni žive u mapi podataka unutar mape vašeg projekta https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Idi na URL gore i preuzmite ESP8266FS-0.5.0.zip.
Napravite mapu Alati unutar vaše Arduino mape. Raspakirajte sadržaj zip-a file u ovu mapu Alati. Trebali biste završiti s ovim;

Postavljanje Arduino IDE za DCC kontroler

Nova opcija izbornika pojavit će se pod Alati…

Postavljanje Arduino IDE za DCC kontroler

Ako pozovete tu opciju izbornika, IDE će učitati sadržaj mape s podacima na ploču. U redu, to je IDE okruženje postavljeno za opću upotrebu ESP8266, sada moramo dodati neke biblioteke u mapu Arduino/Libraries za ovaj specifični projekt.

Korak 3. Preuzmite biblioteke i ručno instalirajte.

Moramo preuzeti te biblioteke s Githuba; https://github.com/me-no-dev/ESPAsyncTCP

Postavljanje Arduino IDE za DCC kontroler

Kliknite na kod, a zatim preuzmite zip. Ići će u vašu mapu preuzimanja. Idite u preuzimanja, pronađite zip, otvorite ga i povucite mapu sadržaja “ESPAsyncTCP” u Arduino/biblioteke.
Ako naziv mape završava s "-master", preimenujte je tako da uklonite "-master" s kraja.
tj. od preuzimanja

Postavljanje Arduino IDE za DCC kontroler

Otvorite .zip za ESPAsyncTCP-master i povucite mapu ESPAsyncTCP-master iz nje u Arduino/Libraries

Postavljanje Arduino IDE za DCC kontroler

Bilješka: Arduino/biblioteke ne mogu koristiti .zip verziju, potrebno je raspakirati (prevući) željenu mapu. Također trebamo https://github.com/fmalpartida/New-LiquidCrystal
Preuzmite zip pa povucite njegov sadržaj u Arduino/biblioteke i uklonite završetak -master.

I na kraju, trebamo ArduinoJson-5.13.5.zip s donje veze https://www.arduinolibraries.info/libraries/arduino-json

preuzmite i zatim povucite zip sadržaj u Arduino/biblioteke

Korak 4. Instalirajte još nekoliko biblioteka pomoću Arduino Library Managera.

Trebaju nam još dvije biblioteke, a one dolaze iz Arduino Library Managera koji sadrži izbor ugrađenih biblioteka. Idite na Alati… Upravljajte bibliotekama…

Postavljanje Arduino IDE za DCC kontroler
Postavljanje Arduino IDE za DCC kontroler

Koristite verziju 1.0.3 Adafruit INA219. Ovo radi. 

I također

Postavljanje Arduino IDE za DCC kontroler

Koristite verziju 2.1.0 od WebUtičnice Markusa Sattlera, ovo je testirano i radi. Nisam testirao kasnije verzije.
U redu, to su sve biblioteke (poznate i kao reference) koje IDE treba za kompajliranje ovog projekta.

Korak 5. Preuzmite projekt ESP_DCC_Controller s GitHuba i otvorite ga u IDE-u.

Idite na GitHub i preuzmite https://github.com/computski/ESP_DCC_controller

Kliknite na zeleni gumb "Kod" i preuzmite zip. Zatim otvorite zip file i premjestite njegov sadržaj u mapu Arduino. Preimenujte mapu kako biste uklonili završetak "-main" na nazivu mape. Trebali biste završiti s mapom ESP_ DCC_ kontroler u vašoj Arduino mapi. Sadržavat će .INO file, razne .H i .CPP files i mapu s podacima.

Postavljanje Arduino IDE za DCC kontroler

Dvaput kliknite na .INO file za otvaranje projekta u Arduino IDE.
Prije nego što pređemo na kompajliranje, moramo konfigurirati prema vašim zahtjevima...

Korak 6. Postavite svoje zahtjeve u Globalu. h

Ovaj projekt može podržati nodeMCU ili WeMo's D1R1 i također može podržati niz različitih opcija ploče napajanja (motor shield), plus može podržati uređaje na I2C sabirnici kao što su trenutni monitor, LCD zaslon i tipkovnica. I na kraju također može podržavati jogwheel (rotacijski enkoder). Najosnovnija konstrukcija koju možete napraviti je zaštita motora WeMo D1R1 i L298.
Imajte na umu da je najlakši način da onemogućite opciju dodavanje malog slova n ispred njenog naziva u naredbi #define.
#definiraj nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#definirati WEMOS_D1R1_AND_L298_ŠTIT
Na primjerample, iznad NODEMCU_OPTION3 je onemogućen s n, isto za nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD je aktivna opcija i to će dovesti do toga da kompajler koristi konfiguraciju za ovo kako je navedeno niže.

Da biste prošli kroz ovu konfiguraciju: 

#elif definirano(WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 složen sa L298 štitom, imajte na umu da je D1-R2 noviji model s drugačijim pinoutima*/
/*Izrežite kratkospojnike KOČNICE na L298 štitu. Oni nisu potrebni i ne želimo da ih pokreću I2C pinovi jer će pokvariti DCC signal.

Ploča ima Arduino format, pinovi su sljedeći
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 otkucaji srca i jogwheel tipka (aktivan hi)
D3 GPIO5 DCC omogućen (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signal (dir)
D6 GPIO12 DCC signal (dir)
D7 GPIO13 DCC omogućen (pwm)
D8 GPIO0 SDA, s 12k pullup
D9 GPIO2 SCL, s 12k pullup
D10 GPIO15 Jog2
gore su napomene za ljude, daju vam do znanja koji će ESP GPIO-ovi obavljati koje funkcije. Imajte na umu da je Arduino D1-D10 u GPIO preslikavanja razlikuju se od čvornih MCU D1-D10 u GPIO preslikavanja */

#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //kada se paralelno koriste A i B (2.36 za usklađivanje RMS multimetra)
Koristit ćemo AD na ESP-u, a ne vanjski I2C uređaj za praćenje struje kao što je INA219 disable
ovo s n USE_ ANALOG_ MEASUREMENT ako želite koristiti INA219

#define PIN_HEARTBEAT 16 //i jogwheel tipka
#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};
Definira koji će pinovi pokretati DCC signale, imamo dva kanala, koji rade u fazi tako da ih možemo zajednički koristiti. A-kanal je dcc_ info [], a B-kanal je dcc_ info A []. Oni su definirani kao makronaredbe, a obrnuta kosa crta je oznaka za nastavak retka.

#define PIN_SCL 2 //12k povlačenje
#define PIN_SDA 0 //12k povlačenje
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k padajući izbornik

Definirajte pinove (GPIO) koji pokreću I2C SCL/SDA, a zatim i ulaze kotačića 1 i 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

Koristi se za dodatnu matričnu tipkovnicu 4 x 4, koja se skenira pomoću pcf8574 čipa

//addr, en,rw,rs,d4,d5,d6,d7,pozadinsko osvjetljenje, polaritet. mi ovo koristimo kao 4-bitni uređaj //moj pinout zaslona je rs,rw,e,d0-d7. koriste se samo d<4-7>. <210> se pojavljuje jer su bitovi <012> //mapirani kao EN,RW,RS i moramo ih promijeniti prema stvarnom redoslijedu na hardveru, 3 je mapiran //na pozadinsko osvjetljenje. <4-7> pojavljuju se tim redoslijedom na ruksaku i na zaslonu.

#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZITIVNO); //YwRobot ruksak

Koristi se za definiranje i konfiguriranje I2C naprtnjače koja pokreće 1602 LCD zaslon (opcija), ovo se može meko konfigurirati i postoji nekoliko dostupnih naprtnjača čije se konfiguracije pinova razlikuju.
#endif

Korak 7. Prevedite i prenesite na ploču.

Sada kada ste konfigurirali kombinaciju ploča koju namjeravate koristiti, možete sastaviti projekt. Ako ne namjeravate koristiti 4×4 matričnu tipkovnicu i LCD, nema problema, ostavite njihove definicije onako kako softver očekuje da ih konfigurira. Sustav će dobro raditi preko WiFi mreže bez njih.
Na IDE-u, simbol kvačice (potvrdi) zapravo je "Prevedi". Kliknite ovo i vidjet ćete da se pojavljuju različite poruke (pod uvjetom da ste omogućili Verbose kompilaciju) dok sustav kompajlira različite biblioteke i sve ih povezuje. Ako sve radi dobro, a trebalo bi ako ste točno slijedili sve gore navedene korake, trebali biste vidjeti poruku o uspjehu. Sada ste spremni pritisnuti gumb strelice desno (upload), ali prije nego što to učinite, provjerite jeste li odabrali ispravan COM port za ploču pod izbornikom Alati.
Nakon uspješnog prijenosa (koristite kvalitetan USB kabel) također trebate pozvati Učitaj izbornik ESP8266 Sketch Data opciju pod Alati. Ovo će staviti sadržaj mape s podacima na uređaj (sve HTML stranice).
Ti si gotov. Otvorite serijski monitor, kliknite gumb za resetiranje i trebali biste vidjeti kako se uređaj pokreće i skenira I2C uređaje. Sada se možete povezati s njim putem Wi-Fi veze i spreman je za spajanje na svoju strujnu ploču (štit motora).

Dokumenti / Resursi

ARDUINO IDE Postavljanje za DCC kontroler [pdfUpute
IDE postavljanje za DCC kontroler, IDE postavljanje, postavljanje DCC kontrolera, DCC kontroler IDE postavljanje, DCC kontroler

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *