ARDUINO IDE Поставување за DCC контролер
Поставување Arduino IDE за DCC контролер
Чекор 1. Поставување на околината IDE. Вчитајте ги ESP таблите.
Кога првпат ќе го инсталирате Arduino IDE, тој поддржува само табли базирани на ARM. Треба да додадеме поддршка за табли базирани на ESP. Одете до File… Преференци
Внесете ја оваа линија подолу во Менаџерот за дополнителни одбори URLS кутија. Забележете дека во него има долни црти, нема празни места. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Исто така, штиклирајте го полето што вели Show Verbose за време на компилацијата. Ова ни дава повеќе информации ако нешто не успее за време на компилацијата.
Забележете дека линијата погоре додава поддршка и за уредите esp8266 и за поновите esp32. Двете json низа се одделени со запирка.
Сега изберете табла верзија 2.7.4 од управител на одбори
Инсталирајте ја верзијата 2.7.4. Ова функционира. Верзијата 3.0.0 и повисока не работи за овој проект. Сега, назад во менито Алатки, изберете ја таблата што ќе ја користите. За овој проект ќе биде или nodeMCU 1.0 или WeMos D1R1
Овде го избираме WeMos D1R1. (променувајќи го ова од Нано)
Чекор 2. Поставување на околината IDE. Вчитај ESP8266 Sketch Data Upload додатокот.
Треба да го вчитаме овој додаток за да ни овозможи да објавуваме (ставиме) HTML страници и други files на уредот ESP. Тие живеат во папката со податоци во вашата проектна папка https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Одете на URL погоре и преземете го ESP8266FS-0.5.0.zip.
Направете папка Tools во вашата папка Arduino. Отпакувајте ја содржината на патентот file во оваа папка Алатки. Треба да завршите со ова;
И нова опција од менито ќе се појави под Алатки…
Ако ја повикате таа опција од менито, IDE ќе ја постави содржината на папката со податоци на таблата. Во ред, така што тоа е околината IDE поставена за општа употреба ESP8266, сега треба да додадеме неколку библиотеки во папката Arduino/Libraries за овој специфичен проект.
Чекор 3. Преземете библиотеки и рачно инсталирајте.
Треба да ги преземеме овие библиотеки од Github; https://github.com/me-no-dev/ESPAsyncTCP
Кликнете на кодот, а потоа преземете zip. Ќе оди во вашата папка за преземања. Одете во преземања, пронајдете го zip, отворете го и повлечете ја папката со содржина „ESPAsyncTCP“ во Arduino/библиотеки.
Ако името на папката завршува со „-master“, тогаш преименувајте ја за да го отстраните „-master“ од крајот.
односно од преземања
Отворете го .zip за ESPAsyncTCP-master и повлечете ја папката ESPAsyncTCP-master од внатре до Arduino/Libraries
Забелешка: Arduino/библиотеките не можат да ја користат верзијата .zip, треба да ја отпакувате (влечете) саканата папка. Исто така ни треба https://github.com/fmalpartida/New-LiquidCrystal
Преземете го zip-от, потоа повлечете ја неговата содржина во Arduino/библиотеки и отстранете го -master ending.
И, конечно, ни треба ArduinoJson-5.13.5.zip од врската подолу https://www.arduinolibraries.info/libraries/arduino-json
преземете и потоа повлечете ја содржината на zip во Arduino/библиотеки
Чекор 4. Инсталирајте уште неколку библиотеки користејќи Arduino Library Manager.
Ни требаат уште две библиотеки, а тие доаѓаат од Arduino Library Manager кој има избор на вградени библиотеки. Одете во Алатки… Управувајте со библиотеки…
Користете ја верзијата 1.0.3 на Adafruit INA219. Ова функционира.
И исто така
Користете ја верзијата 2.1.0 од WebСокети од Markus Sattler, ова е тестирано и функционира. Не сум ги тестирал подоцнежните верзии.
Во ред, така што тоа се сите библиотеки (наречени референци) што на IDE му требаат за да го состави овој проект.
Чекор 5. Преземете го проектот ESP_DCC_Controller од GitHub и отворете го во IDE.
Одете на GitHub и преземете https://github.com/computski/ESP_DCC_controller
Кликнете на зеленото копче „Код“ и преземете го зип. Потоа отворете го патентот file и преместете ја неговата содржина во папката Arduino. Преименувајте ја папката за да го отстраните „-main“ што завршува на името на папката. Треба да завршите со папка ESP_ DCC_ контролер во вашата папка Arduino. Ќе содржи .INO file, различни .H и .CPP files и папка со податоци.
Двоен клик на .INO file за да го отворите проектот во Arduino IDE.
Пред да притиснете на компајлирање, треба да се конфигурираме според вашите барања…
Чекор 6. Поставете ги вашите барања во Глобал. ч
Овој проект може да го поддржи nodeMCU или D1R1 на WeMo и исто така може да поддржува голем број на различни опции за напојување на плочата (моторниот штит), плус може да поддржува уреди на I2C магистрала како што се тековниот монитор, LCD дисплеј и тастатура. И, конечно, може да поддржува и тркало (ротирачки енкодер). Најосновната конструкција што можете да ја направите е моторниот штит D1R1 и L298 на WeMo.
Забележете дека најлесниот начин за оневозможување на опцијата е да додадете мала буква n пред нејзиното име во изјавата #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#дефинирај WEMOS_D1R1_AND_L298_SHIELD
За прample, над NODEMCU_OPTION3 е оневозможено со n, истото за nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD е активната опција и тоа ќе предизвика компајлерот да ја користи конфигурацијата за ова како што е наведено подолу.
За да поминете низ оваа конфигурација:
#elif дефинирано (WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 наредени со L298 штит, имајте предвид дека D1-R2 е понов модел со различни пинови*/
/*Исечете ги џемперите на СОПИРАЊЕ на штитникот L298. Овие не се потребни и не сакаме да бидат управувани од пиновите на I2C бидејќи ќе го оштетат сигналот DCC.
Плочката има Arduino форма фактор, пиновите се како што следува
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 чукање на срцето и копче за џогирање (активно здраво)
Овозможи D3 GPIO5 DCC (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC сигнал (режија)
D6 GPIO12 DCC сигнал (режија)
Овозможи D7 GPIO13 DCC (pwm)
D8 GPIO0 SDA, со 12k повлекување
D9 GPIO2 SCL, со 12k повлекување
D10 GPIO15 Jog2
горенаведените белешки за луѓе, ви овозможуваат да знаете кои ESP GPIO кои функции ќе ги извршуваат. Забележете дека на Пресликувањата на Arduino D1-D10 во GPIO се разликуваат од мапирањата на јазолот MCU D1-D10 во GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //кога се користат A и B паралелно (2.36 за да одговараат на мултиметарскиот RMS)
Ќе го користиме AD на ESP, а не надворешен уред за следење на струјата I2C, како што е исклучувањето на INA219
ова со n USE_ ANALOG_ MEASUREMENT ако сакате да користите INA219
#define PIN_HEARTBEAT 16 //и копче за џогирање
#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 };
Дефинира кои пинови ќе ги придвижуваат DCC сигналите, имаме два канали, кои работат во фаза за да можеме да ги споиме заедно. А-каналот е dcc_ info [], а Б-каналот е dcc_ info A []. Овие се дефинирани како макроа, а обратната коса црта е маркер за продолжување на линијата.
#define PIN_SCL 2 //12k повлекување
#define PIN_SDA 0 //12k повлекување
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k повлекување
Дефинирајте ги пиновите (GPIO) што го придвижуваат I2C SCL/SDA, а потоа и влезовите 1 и 2 на тркалото за џвакање
#define KEYPAD_ADDRESS 0x21 //pcf8574
Се користи за изборната тастатура со матрица 4 x 4, која се скенира со помош на чип pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,задно осветлување, поларитет. го користиме ова како 4-битен уред //мојот приказ на екранот е rs,rw,e,d0-d7. се користат само d<4-7>. <210> се појавува затоа што битовите <012> се //мапирани како EN,RW,RS и треба да ги преуредиме по вистинската нарачка на хардверот, 3 е мапиран //на позадинското осветлување. <4-7> се појавуваат по тој редослед на ранецот и на екранот.
#define BOOTUP_LCD LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //YwRobot ранец
Се користи за дефинирање и конфигурирање на ранецот I2C што го придвижува 1602 LCD дисплејот (опционално), ова може да се конфигурира меко и има неколку достапни ранци чиишто конфигурации на пиновите се разликуваат.
#крај
Чекор 7. Компилирајте и поставете на таблата.
Сега ја конфигуриравте комбинацијата на таблата што имате намера да ја користите, можете да го компајлирате проектот. Ако немате намера да ја користите тастатурата со матрица 4×4 и LCD, нема проблем, оставете ги нивните дефиниции како што софтверот очекува да ги конфигурира. Системот ќе работи добро преку WiFi без нив.
На IDE, симболот за штиклирање (потврди) е всушност „Состави“. Кликнете на ова и ќе видите како се појавуваат различни пораки (под услов да ја овозможите компилацијата Verbose) додека системот ги компајлира различните библиотеки и ги поврзува сите заедно. Ако се работи добро, и треба ако точно ги следевте сите чекори погоре, тогаш треба да видите дека се појавува порака за успех. Сега сте подготвени да го притиснете копчето со стрелка со десното копче (подигни), но пред да го направите ова, проверете дали сте ја избрале точната COM порта за таблата во менито Алатки.
По успешното поставување (користете USB кабел со добар квалитет) исто така треба да го повикате Вчитајте го менито ESP8266 Sketch Data опција под Алатки. Ова ќе ја стави содржината на папката со податоци на уредот (сите HTML страници).
Завршивте. Отворете го серискиот монитор, кликнете на копчето за ресетирање и треба да го видите подигањето на уредот и да скенирате уреди за I2C. Сега можете да се поврзете со него преку Wi-Fi, и тој е подготвен да се поврзе со неговата плочка за напојување (моторна заштита).
Документи / ресурси
![]() |
ARDUINO IDE Поставување за DCC контролер [pdf] Инструкции Поставување IDE за DCC контролер, Поставување IDE, Поставување за DCC контролер, DCC контролер Поставување IDE, DCC контролер |