Налада 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
Таксама адзначце поле з надпісам "Паказваць падрабязную інфармацыю падчас кампіляцыі". Гэта дае нам больш інфармацыі, калі падчас кампіляцыі нешта не атрымаецца.
Звярніце ўвагу, што радок вышэй дадае падтрымку як для прылад esp8266, так і для навейшага esp32. Два радкі json падзяляюцца коскай.
Цяпер абярыце дошку версія 2.7.4 ад кіраўніка саветаў
Усталяваць версію 2.7.4. Гэта працуе. Версія 3.0.0 і вышэй не працуе для гэтага праекта. Цяпер, вярнуўшыся ў меню Інструменты, абярыце дошку, якую вы будзеце выкарыстоўваць. Для гэтага праекта гэта будзе альбо nodeMCU 1.0, альбо WeMos D1R1
Тут мы выбіраем WeMos D1R1. (змяненне гэтага з Nano)
Крок 2. Настройка асяроддзя IDE. Загрузіце надбудову ESP8266 Sketch Data Upload.
Нам трэба загрузіць гэтую надбудову, каб мы маглі публікаваць (змяшчаць) HTML-старонкі і іншае files на прыладзе ESP. Яны знаходзяцца ў тэчцы дадзеных у папцы вашага праекта https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Перайсці да URL вышэй і спампаваць ESP8266FS-0.5.0.zip.
Стварыце тэчку Інструменты ўнутры тэчкі Arduino. Распакуйце змесціва zip file у гэтую тэчку Інструменты. Вы павінны скончыць з гэтым;
У раздзеле «Інструменты» з'явіцца новы пункт меню…
Калі вы выклічаце гэты параметр меню, IDE загрузіць змесціва папкі дадзеных на дошку. Добра, асяроддзе IDE наладжана для агульнага выкарыстання ESP8266, цяпер нам трэба дадаць некаторыя бібліятэкі ў тэчку Arduino/Libraries для гэтага канкрэтнага праекта.
Крок 3. Спампуйце бібліятэкі і ўсталюйце ўручную.
Нам трэба спампаваць гэтыя бібліятэкі з Github; https://github.com/me-no-dev/ESPAsyncTCP
Націсніце на код, а затым спампаваць zip. Ён пяройдзе ў вашу тэчку загрузак. Перайдзіце ў загрузкі, знайдзіце паштовы архіў, адкрыйце яго і перацягніце тэчку змесціва «ESPAsyncTCP» у Arduino/бібліятэкі.
Калі назва папкі заканчваецца на «-master», перайменуйце яе, каб выдаліць «-master» з канца.
гэта значыць з загрузак
Адкрыйце .zip для ESPAsyncTCP-master і перацягніце папку ESPAsyncTCP-master адтуль у Arduino/Libraries
Заўвага: Arduino/бібліятэкі не могуць выкарыстоўваць версію .zip, вам трэба распакаваць (перацягнуць) патрэбную тэчку. Нам таксама трэба https://github.com/fmalpartida/New-LiquidCrystal
Спампуйце zip, затым перацягніце яго змесціва ў Arduino/бібліятэкі і выдаліце канчатак -master.
І, нарэшце, нам спатрэбіцца 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
Націсніце на зялёную кнопку «Код» і загрузіце zip. Затым адкрыйце zip file і перамясціце яго змесціва ў тэчку Arduino. Перайменуйце папку, каб выдаліць канчатак «-main» у назве папкі. Вы павінны атрымаць папку ESP_ DCC_ Controller у вашай тэчцы Arduino. Ён будзе ўтрымліваць .INO file, розныя .H і .CPP files і тэчку дадзеных.
Двойчы націсніце на .INO file каб адкрыць праект у IDE Arduino.
Перш чым перайсці да кампіляцыі, нам трэба наладзіць у адпаведнасці з вашымі патрабаваннямі...
Крок 6. Усталюйце свае патрабаванні ў Global. ч
Гэты праект можа падтрымліваць nodeMCU або D1R1 WeMo, а таксама можа падтрымліваць шэраг розных варыянтаў платы сілкавання (экран рухавіка), а таксама можа падтрымліваць прылады на шыне I2C, такія як бягучы манітор, ВК-дысплей і клавіятура. І, нарэшце, ён таксама можа падтрымліваць джогінг (паваротны кадавальнік). Самая базавая зборка, якую вы можаце зрабіць, - гэта экран рухавіка 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 з'яўляецца больш новай мадэллю з іншай распиновкой*/
/*Адрэжце перамычкі BRAKE на шчыце L298. Яны не патрабуюцца, і мы не хочам, каб яны кіраваліся кантактамі I2C, бо гэта сапсуе сігнал DCC.
Плата мае формаў-фактар Arduino, кантакты наступныя
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 сэрцабіцце і кнопка Jogwheel (актыўны прывітанне)
D3 GPIO5 DCC уключыць (ШІМ)
D4 GPIO4 Jog1
D5 GPIO14 сігнал DCC (рэж.)
D6 GPIO12 сігнал DCC (рэж.)
D7 GPIO13 DCC уключыць (ШІМ)
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 [], а B-канал - 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 ВК (0x27, 2, 1, 0, 4, 5, 6, 7, 3, СТАНОЎЧЫ); //Заплечнік YwRobot
Выкарыстоўваецца для вызначэння і канфігурацыі заплечніка I2C, які кіруе ВК-дысплеем 1602 (дадаткова), яго можна праграмна канфігураваць, і ёсць некалькі даступных заплечнікаў, канфігурацыя кантактаў якіх адрозніваецца.
#endif
Крок 7. Скампілюйце і загрузіце на дошку.
Цяпер вы сканфігуравалі камбінацыю плат, якую збіраецеся выкарыстоўваць, і можаце скампіляваць праект. Калі вы не збіраецеся выкарыстоўваць матрычную клавіятуру 4×4 і ВК, не праблема, пакіньце іх азначэнні, калі праграмнае забеспячэнне чакае іх канфігурацыі. Без іх сістэма будзе нармальна працаваць па Wi-Fi.
У IDE сімвал галачкі (праверка) на самай справе з'яўляецца «Скампіляваць». Націсніце гэта, і вы ўбачыце розныя паведамленні (пры ўмове, што вы ўключылі Verbose кампіляцыю), калі сістэма кампілюе розныя бібліятэкі і звязвае іх разам. Калі ўсё працуе добра, і гэта павінна быць, калі вы дакладна выканалі ўсе крокі вышэй, вы павінны ўбачыць паведамленне аб паспяховым выкананні. Цяпер вы гатовыя націснуць кнопку са стрэлкай управа (запампаваць), але перш чым зрабіць гэта, праверце, што вы выбралі правільны COM-порт для платы ў меню Інструменты.
Пасля паспяховай загрузкі (выкарыстоўвайце якасны USB-кабель) вам таксама трэба выклікаць Загрузіце меню даных эскіза ESP8266 опцыя ў раздзеле Інструменты. Гэта змясціць змесціва папкі дадзеных на прыладу (усе HTML-старонкі).
Вы зрабілі. Адкрыйце паслядоўны манітор, націсніце кнопку скіду, і вы павінны ўбачыць загрузку прылады і пошук прылад I2C. Цяпер вы можаце падключыцца да яго праз Wi-Fi, і ён гатовы да падключэння да яго платы сілкавання (экран рухавіка).
Дакументы / Рэсурсы
![]() |
Налада ARDUINO IDE для кантролера DCC [pdfІнструкцыі Налада IDE для кантролера DCC, налада IDE, налада кантролера DCC, кантролер DCC Налада IDE, кантролер DCC |