Налаштування ARDUINO IDE для контролера DCC 

Логотип ARDUINO IDE

Налаштування Arduino IDE для контролера DCC

Крок 1. Налаштування середовища IDE. Завантажте плати ESP.

Коли ви вперше встановлюєте Arduino IDE, вона підтримує лише плати на основі ARM. Нам потрібно додати підтримку плат на основі ESP. Перейдіть до File… Уподобання

Налаштування середовища IDE. Завантажте плати ESP
Налаштування середовища IDE. Завантажте плати ESP

Введіть цей рядок нижче в диспетчер додаткових дощок URLкоробка S. Зверніть увагу, що в ньому є підкреслення, без пробілів.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Також поставте прапорець «Показувати докладний текст під час компіляції». Це дає нам більше інформації, якщо щось не вийде під час компіляції.

Зверніть увагу, що рядок вище додає підтримку як для пристроїв esp8266, так і для новішого esp32. Два рядки json розділені комою.
Тепер виберіть дошку версія 2.7.4 від керівника правління

Налаштування Arduino IDE для контролера DCC

Встановити версію 2.7.4. Це працює. Версія 3.0.0 і вище не працюють для цього проекту. Тепер знову в меню «Інструменти» виберіть дошку, яку ви будете використовувати. Для цього проекту це буде або nodeMCU 1.0, або WeMos D1R1

Налаштування Arduino IDE для контролера DCC

Тут ми вибираємо 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 до цієї папки Інструменти. Ви повинні закінчити з цим;

Налаштування Arduino IDE для контролера DCC

У розділі «Інструменти» з’явиться новий пункт меню…

Налаштування Arduino IDE для контролера DCC

Якщо ви викличете цей параметр меню, IDE завантажить вміст папки даних на дошку. Отже, середовище IDE налаштовано для загального використання ESP8266, тепер нам потрібно додати деякі бібліотеки до папки Arduino/Libraries для цього конкретного проекту.

Крок 3. Завантажте бібліотеки та встановіть вручну.

Нам потрібно завантажити ці бібліотеки з Github; https://github.com/me-no-dev/ESPAsyncTCP

Налаштування Arduino IDE для контролера DCC

Натисніть на код, а потім завантажте zip. Він перейде до папки завантажень. Перейдіть до завантажень, знайдіть zip, відкрийте його та перетягніть папку вмісту «ESPAsyncTCP» до Arduino/libraries.
Якщо назва папки закінчується на «-master», перейменуйте її, щоб видалити «-master» з кінця.
тобто із завантажень

Налаштування Arduino IDE для контролера DCC

Відкрийте .zip для ESPAsyncTCP-master і перетягніть папку ESPAsyncTCP-master зсередини до Arduino/Libraries

Налаштування Arduino IDE для контролера DCC

Примітка: 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, який містить вибір вбудованих бібліотек. Перейдіть до Інструменти… Керуйте бібліотеками…

Налаштування Arduino IDE для контролера DCC
Налаштування Arduino IDE для контролера DCC

Використовуйте версію 1.0.3 Adafruit INA219. Це працює. 

А також

Налаштування Arduino IDE для контролера DCC

Використовуйте версію 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 і папку даних.

Налаштування Arduino IDE для контролера DCC

Двічі клацніть на .INO file щоб відкрити проект в Arduino IDE.
Перш ніж перейти до компіляції, нам потрібно налаштувати відповідно до ваших вимог…

Крок 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 (активний hi)
D3 GPIO5 DCC увімкнення (ШІМ)
D4 GPIO4 Jog1
D5 GPIO14 DCC сигнал (реж.)
D6 GPIO12 DCC сигнал (реж.)
D7 GPIO13 DCC увімкнення (ШІМ)
D8 GPIO0 SDA, з підтягуванням 12k
D9 GPIO2 SCL, з підтягуванням 12 Кб
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 disable
це з 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 lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, ПОЗИТИВНИЙ); //Рюкзак YwRobot

Використовується для визначення та налаштування рюкзака I2C, який керує РК-дисплеєм 1602 (додатково), його можна програмно конфігурувати, і є кілька доступних рюкзаків, конфігурації контактів яких відрізняються.
#endif

Крок 7. Скомпілюйте та завантажте на дошку.

Тепер ви налаштували комбіновану плату, яку збираєтеся використовувати, і можете скомпілювати проект. Якщо ви не збираєтеся використовувати матричну клавіатуру 4×4 і РК-дисплей, не біда, залиште їх визначення так, як програмне забезпечення очікує їх налаштувати. Без них система буде нормально працювати через WiFi.
У середовищі IDE символ галочки (перевірити) насправді означає «Компілювати». Клацніть це, і ви побачите різноманітні повідомлення (за умови, що ви ввімкнули Verbose компіляцію), коли система компілює різні бібліотеки та пов’язує їх разом. Якщо все працює добре, і це повинно бути, якщо ви точно виконали всі кроки вище, ви побачите повідомлення про успішне виконання. Тепер ви готові натиснути кнопку зі стрілкою вправо (завантажити), але перш ніж це зробити, переконайтеся, що ви вибрали правильний COM-порт для плати в меню «Інструменти».
Після успішного завантаження (використовуйте якісний кабель USB) вам також потрібно викликати Завантажте меню даних ескізу ESP8266 у розділі Інструменти. Це помістить вміст папки даних на пристрій (усі HTML-сторінки).
Ви готові. Відкрийте монітор послідовного порту, натисніть кнопку скидання, і ви побачите завантаження пристрою та пошук пристроїв I2C. Тепер ви можете підключитися до нього через Wi-Fi, і він готовий до підключення до плати живлення (щита двигуна).

Документи / Ресурси

Налаштування ARDUINO IDE для контролера DCC [pdfІнструкції
Налаштування IDE для контролера DCC, налаштування IDE, налаштування контролера DCC, контролер DCC Налаштування IDE, контролер DCC

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *