ARDUINO IDE Set Up għall-Kontrollur DCC 

ARDUINO IDE Logo

Arduino IDE set-up għall-kontrollur DCC

Pass 1. Twaqqif tal-ambjent IDE. Tagħbija l-bordijiet ESP.

Meta tinstalla l-ewwel Arduino IDE, jappoġġja biss bordijiet ibbażati fuq ARM. Irridu nżidu l-appoġġ għall-bordijiet ibbażati fuq l-ESP. Innaviga lejn File… Preferenzi

Twaqqif tal-ambjent IDE. Tagħbija l-bordijiet ESP
Twaqqif tal-ambjent IDE. Tagħbija l-bordijiet ESP

Ittajpja din il-linja hawn taħt fil-Maniġer tal-Bordijiet Addizzjonali URLS kaxxa. Innota li hemm underscores fiha, l-ebda spazji.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Iċċekkja wkoll il-kaxxa li tgħid Show Verbose waqt il-kumpilazzjoni. Dan jagħtina aktar informazzjoni jekk xi ħaġa tfalli waqt il-kumpilazzjoni.

Innota li l-linja ta 'hawn fuq żżid appoġġ kemm għall-apparati esp8266 kif ukoll għall-esp32 aktar ġodda. Iż-żewġ kordi json huma separati b'virgola.
Issa agħżel bord verżjoni 2.7.4 mill-maniġer tal-bordijiet

Arduino IDE set-up għall-kontrollur DCC

Installa l-verżjoni 2.7.4. Dan jaħdem. Verżjoni 3.0.0 u ogħla ma taħdimx għal dan il-proġett. Issa, lura fil-menu Għodda, agħżel il-bord li se tkun qed tuża. Għal dan il-proġett se jkun jew nodeMCU 1.0 jew WeMos D1R1

Arduino IDE set-up għall-kontrollur DCC

Hawnhekk aħna nagħżlu l-WeMos D1R1. (bdil dan min-Nano)

Pass 2. Twaqqif tal-ambjent IDE. Tagħbija ESP8266 Sketch Data Upload add-in.

Għandna bżonn tagħbija dan iż-żieda biex inkunu nistgħu nippubblikaw (poġġu) paġni HTML u oħrajn files fuq l-apparat ESP. Dawn jgħixu fil-folder tad-dejta ġewwa l-folder tal-proġett tiegħek https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Mur fil- URL hawn fuq u niżżel ESP8266FS-0.5.0.zip.
Oħloq folder tal-Għodda ġewwa l-folder Arduino tiegħek. Unzip il-kontenut taż-zip file għal dan il-folder tal-Għodda. Għandek tispiċċa b'dan;

Arduino IDE set-up għall-kontrollur DCC

U għażla ġdida tal-menu se tidher taħt Għodod...

Arduino IDE set-up għall-kontrollur DCC

Jekk tinvoka dik l-għażla tal-menu, l-IDE se jtella' l-kontenut tal-folder tad-dejta fuq il-bord. Ok hekk dak huwa l-ambjent IDE stabbilit għall-użu ġenerali ESP8266, issa għandna bżonn inżidu xi libreriji mal-folder Arduino/Libreriji għal dan il-proġett speċifiku.

Pass 3. Niżżel il-libreriji u installa manwalment.

Għandna bżonn inniżżlu dawn il-libreriji minn Github; https://github.com/me-no-dev/ESPAsyncTCP

Arduino IDE set-up għall-kontrollur DCC

Ikklikkja fuq il-kodiċi, u mbagħad niżżel zip. Imur fil-folder tat-tniżżil tiegħek. Mur fil-downloads, sib iċ-zip, iftaħ u drag il-folder tal-kontenut "ESPAsyncTCP" għal Arduino/libreriji.
Jekk l-isem tal-folder jispiċċa b'"-master", imbagħad semmih mill-ġdid biex tneħħi "-master" mill-aħħar.
jiġifieri minn downloads

Arduino IDE set-up għall-kontrollur DCC

Iftaħ il-.zip għal ESPAsyncTCP-master, u drag ESPAsyncTCP-master folder minn ġewwa dan għal Arduino/Libreriji

Arduino IDE set-up għall-kontrollur DCC

Nota: Arduino/libreriji ma jistgħux jużaw il-verżjoni .zip, għandek bżonn unzip (drag) il-folder mixtieq fuq. Għandna bżonn ukoll https://github.com/fmalpartida/New-LiquidCrystal
Niżżel iż-zip imbagħad drag il-kontenut tiegħu għal Arduino/libreriji u neħħi -master ending.

U fl-aħħarnett, għandna bżonn ArduinoJson-5.13.5.zip mill-link hawn taħt https://www.arduinolibraries.info/libraries/arduino-json

niżżel u mbagħad drag il-kontenut zip għal Arduino/libreriji

Pass 4. Installa ftit libreriji aktar billi tuża Arduino Library Manager.

Għandna bżonn żewġ libreriji oħra, u dawn jiġu mill-Maniġer tal-Librerija Arduino li għandu għażla ta 'libreriji mibnija. Mur għal Għodod... Immaniġġja Libreriji...

Arduino IDE set-up għall-kontrollur DCC
Arduino IDE set-up għall-kontrollur DCC

Uża l-verżjoni 1.0.3 ta' Adafruit INA219. Dan jaħdem. 

U wkoll

Arduino IDE set-up għall-kontrollur DCC

Uża l-verżjoni 2.1.0 ta' WebSokits minn Markus Sattler, dan huwa ttestjat u jaħdem. Ma ttestjajtx verżjonijiet aktar tard.
OK hekk li l-libreriji kollha (magħruf ukoll bħala referenzi) li l-IDE jeħtieġ biex jikkompila dan il-proġett.

Pass 5. Niżżel il-proġett ESP_DCC_Controller minn GitHub u tiftaħ fl-IDE.

Mur fuq GitHub u niżżel https://github.com/computski/ESP_DCC_controller

Ikklikkja fuq il-buttuna ħadra "Kodiċi", u niżżel iż-zip. Imbagħad iftaħ iż-zip file u ċċaqlaq il-kontenut tiegħu fil-folder ta 'Arduino. Semmi mill-ġdid il-folder biex tneħħi t-tmiem "-main" fuq l-isem tal-folder. Għandek tispiċċa b'folder ESP_ DCC_ kontrollur fil-folder Arduino tiegħek. Se jkun fih .INO file, diversi .H u .CPP files u folder tad-data.

Arduino IDE set-up għall-kontrollur DCC

Ikklikkja darbtejn fuq il-.INO file biex tiftaħ il-proġett fl-IDE Arduino.
Qabel ma nilqgħu l-kompila, irridu nikkonfiguraw skont ir-rekwiżiti tiegħek...

Pass 6. Issettja r-rekwiżiti tiegħek f'Globali. h

Dan il-proġett jista 'jappoġġja n-nodeMCU jew id-D1R1 ta' WeMo u jista 'jappoġġa wkoll numru ta' għażliet differenti ta 'bord tal-enerġija (ilqugħ tal-mutur), kif ukoll jista' jappoġġja apparati fuq xarabank I2C bħal monitor kurrenti, display LCD u tastiera. U fl-aħħar jista 'wkoll jappoġġja jogwheel (encoder rotatorju). L-aktar bini bażiku li tista 'tagħmel hija l-ilqugħ tal-mutur D1R1 u L298 ta' WeMo.
Innota li l-eħfef mod biex tiddiżattiva għażla huwa li żżid n zgħar quddiem isimha fid-dikjarazzjoni #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#iddefinixxi WEMOS_D1R1_AND_L298_SHIELD
Per example, hawn fuq NODEMCU_OPTION3 ġie diżattivat b'n, l-istess għal nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD hija l-għażla attiva, u dan iwassal biex il-kompilatur juża l-konfigurazzjoni għal dan kif elenkat aktar 'l isfel.

Biex timxi minn din il-konfigurazzjoni: 

#elif definit (WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 f'munzelli b'tarka L298, innota li d-D1-R2 huwa mudell aktar ġdid b'pinouts differenti*/
/*Aqta' l-jumpers tal-BRAKE fuq it-tarka L298. Dawn mhumiex meħtieġa u ma rridux li huma misjuqa mill-labar I2C peress li se jikkorrompi s-sinjal DCC.

Il-bord għandu fattur ta 'forma Arduino, il-brilli huma kif ġej
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 buttuna ta' taħbit tal-qalb u jogwheel (hi attiva)
D3 GPIO5 DCC enable (pwm)
D4 GPIO4 Jog1
D5 GPIO14 sinjal DCC (dir)
D6 GPIO12 sinjal DCC (dir)
D7 GPIO13 DCC enable (pwm)
D8 GPIO0 SDA, bi 12k pullup
D9 GPIO2 SCL, bi pullup 12k
D10 GPIO15 Jog2
hawn fuq huma noti għall-bnedmin, ihallik tkun taf liema ESP GPIOs se jwettaq liema funzjonijiet. Innota li l- L-immappjar ta' Arduino D1-D10 għal GPIO huma differenti għan-node MCU D1-D10 għal mappings GPIO */

#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //meta tuża A u B b'mod parallel (2.36 biex taqbel mal-multimetru RMS)
Aħna se nużaw l-AD fuq l-ESP u mhux apparat estern ta 'monitoraġġ tal-kurrent I2C bħall-INA219 iddiżattiva
dan b'n USE_ ANALOG_ MEASUREMENT jekk tixtieq tuża INA219

#define PIN_HEARTBEAT 16 //u buttuna tal-jogwheel
#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 };
Jiddefinixxi liema pinnijiet se jmexxu s-sinjali DCC, għandna żewġ kanali, li jaħdmu fil-fażi sabiex inkunu nistgħu komunihom flimkien. Il-kanal A huwa dcc_ info [] u l-kanal B huwa dcc_ info A []. Dawn huma definiti bħala macros u l-backslash huwa markatur tal-kontinwazzjoni tal-linja.

#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown

Iddefinixxi l-brilli (GPIOs) li jmexxu l-I2C SCL/SDA u mbagħad ukoll l-inputs tal-jogwheel 1 u 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

Użat għat-tastiera tal-matriċi 4 x 4 fakultattiva, li hija skennjata bl-użu ta 'ċippa pcf8574

//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarità. qed nużaw dan bħala apparat ta '4 bit //il-pinout tal-wiri tiegħi huwa rs,rw,e,d0-d7. d<4-7> biss huma użati. <210> jidher minħabba li l-bits <012> huma //mappjati bħala EN,RW,RS u għandna bżonn nerġgħu norganizzawhom għal kull ordni attwali fuq il-hardware, 3 huwa mmappjat //għal-backlight. <4-7> jidhru f'dik l-ordni fuq il-backpack u fuq il-wiri.

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

Użat biex tiddefinixxi u tikkonfigura l-backpack I2C li jsuq il-wiri LCD 1602 (mhux obbligatorju), dan huwa softconfigurable u hemm diversi backpacks disponibbli li l-konfigurazzjonijiet tal-brilli tagħhom ivarjaw.
#endif

Pass 7. Ikkumpila u ittella fuq il-bord.

Issa kkonfigurajt il-bord combo li biħsiebek tuża, tista 'tikkompila l-proġett. Jekk m'għandekx il-ħsieb li tuża t-tastiera tal-matriċi 4×4, u l-LCD, l-ebda problema, ħalli fid-definizzjonijiet tagħhom kif is-softwer jistenna li jikkonfigurahom. Is-sistema taħdem tajjeb fuq WiFi mingħajrhom.
Fuq l-IDE, is-simbolu tal-qurdien (verifika) huwa fil-fatt "Ikkumpila". Ikklikkja dan u tara diversi messaġġi jidhru (sakemm ippermettiet il-kumpilazzjoni Verbose) peress li s-sistema tiġbor id-diversi libreriji u tgħaqqadha kollha flimkien. Jekk kollox jaħdem tajjeb, u għandu jekk segwejt il-passi kollha ta 'hawn fuq eżattament, allura għandek tara jidher messaġġ ta' suċċess. Issa lest li tolqot il-buttuna tal-vleġġa tal-lemin (upload), iżda qabel ma tagħmel dan, iċċekkja li għażilt il-port COM korrett għall-bord taħt il-menu Għodda.
Wara upload b'suċċess (uża kejbil USB ta 'kwalità tajba) jeħtieġ ukoll li tinvoka l- Tagħbija ESP8266 Sketch Data menu għażla taħt Għodod. Dan ipoġġi l-kontenut tal-folder tad-dejta fuq l-apparat (il-paġni HTML kollha).
Inti lest. Iftaħ il-monitor tas-serje, ikklikkja l-buttuna reset u għandek tara l-boot tat-tagħmir u skennja għal apparati I2C. Issa tista 'tqabbad magħha permezz tal-Wifi, u hija lesta biex twaħħal mal-bord tal-enerġija tagħha (ilqugħ tal-mutur).

Dokumenti / Riżorsi

ARDUINO IDE Set Up għall-Kontrollur DCC [pdf] Istruzzjonijiet
IDE Set Up għall-Kontrollur DCC, IDE Set Up, Set Up għal DCC Controller, DCC Controller IDE Set Up, DCC Controller

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *