ARDUINO IDE DCC контроллери үчүн орнотуу

DCC контроллери үчүн Arduino IDE орнотуу
1-кадам. IDE чөйрөсүн орнотуу. ESP такталарын жүктөңүз.
Arduino IDE биринчи жолу орнотконуңузда, ал ARM негизиндеги такталарды гана колдойт. Биз ESP негизиндеги такталарды колдоону кошуубуз керек. Чабыттоо File… Preferences


Төмөндө бул сапты Кошумча такталар менеджерине териңиз URLS куту. Баса, анда астынкы сызыктар бар, боштук жок. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Ошондой эле, компиляция учурунда 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 Жүктөө кошумчасын жүктөө.
Бизге HTML баракчаларды жана башкаларды жарыялоого (коюуга) уруксат берүү үчүн бул кошумчаны жүктөшүбүз керек files ESP түзмөгүндө. Булар сиздин долбоордун папкасындагы маалымат папкасында жашайт https://github.com/esp8266/arduino-esp8266fs-plugin/releases
барыңыз URL жогоруда жана ESP8266FS-0.5.0.zip жүктөп алыңыз.
Arduino папкаңыздын ичинде Tools папкасын түзүңүз. Zipдин мазмунун ачыңыз file бул Куралдар папкасына. Сиз муну менен бүтүшү керек;

Жана жаңы меню опциясы Куралдар астында пайда болот…

Эгерде сиз ошол меню параметрин чакырсаңыз, IDE маалымат папкасынын мазмунун тактага жүктөйт. Макул, бул жалпы ESP8266 колдонуу үчүн орнотулган IDE чөйрөсү, эми биз бул конкреттүү долбоор үчүн Arduino/Libraries папкасына кээ бир китепканаларды кошушубуз керек.
3-кадам. Китепканаларды жүктөп алып, кол менен орнотуңуз.
Бул китепканаларды Githubдан жүктөп алышыбыз керек; https://github.com/me-no-dev/ESPAsyncTCP

Кодду чыкылдатып, анан zip жүктөп алыңыз. Ал жүктөлүп алынгандар папкаңызга өтөт. Жүктөлүп алынган файлдарга кирип, zipди таап, аны ачып, "ESPAsyncTCP" мазмундук папкасын Arduino/libraries'ке сүйрөңүз.
Папканын аты “-мастер” менен аяктаса, анын атын өзгөртүп, “-мастер” дегенди аягынан алып салыңыз.
башкача айтканда жүктөөлөрдөн

ESPAsyncTCP-мастер үчүн .zip файлын ачып, анын ичинен ESPAsyncTCP-мастер папкасын Arduino/Libraries'ке сүйрөңүз

Эскертүү: Arduino/libraries .zip версиясын колдоно албайт, сиз каалаган папканы ачып (сүйрөп) чыгышыңыз керек. Бизге да керек https://github.com/fmalpartida/New-LiquidCrystal
Zip файлын жүктөп алыңыз, андан кийин анын мазмунун Arduino/libraries'ке сүйрөп, -мастер аякташын алып салыңыз.
Акыр-аягы, бизге төмөнкү шилтемеден ArduinoJson-5.13.5.zip керек https://www.arduinolibraries.info/libraries/arduino-json
жүктөп алып, андан кийин zip мазмунун Arduino/libraries'ге сүйрөңүз
Кадам 4. Arduino Library Manager аркылуу дагы бир нече китепкананы орнотуңуз.
Бизге дагы эки китепкана керек, алар орнотулган китепканалардын тандоосун камтыган Arduino китепкана менеджеринен келет. Куралдарга өтүңүз… Китепканаларды башкаруу…


Adafruit INA1.0.3 219 версиясын колдонуңуз. Бул иштейт.
Жана ошондой эле

2.1.0 версиясын колдонуңуз WebМаркус Саттлердин розеткалары, бул сыналган жана иштеп жатат. Мен кийинки версияларды сынаган жокмун.
Макул, ошондуктан IDE бул долбоорду компиляциялоо үчүн керек болгон бардык китепканалар (ака шилтемелер).
5-кадам. GitHubдан ESP_DCC_Controller долбоорун жүктөп алып, IDEде ачыңыз.
GitHub'ка өтүп, жүктөп алыңыз https://github.com/computski/ESP_DCC_controller
Жашыл "Код" баскычын чыкылдатып, почтаны жүктөп алыңыз. Андан кийин zip ачыңыз file жана анын мазмунун Arduino папкасына жылдырыңыз. Папканын аталышындагы “-main” аягы жок кылуу үчүн папканын атын өзгөртүңүз. Сиз Arduino папкаңызда ESP_ DCC_ контроллери папкасына ээ болушуңуз керек. Ал .INO камтыйт file, ар кандай .H жана .CPP files жана маалымат папкасы.

.INOну эки жолу басыңыз file Arduino IDEде долбоорду ачуу.
Компиляцияны басаардан мурун, биз сиздин талаптарыңызга конфигурациялашыбыз керек…
6-кадам. Глобалдык талаптарыңызды коюңуз. ч
Бул долбоор nodeMCU же WeMo'нун D1R1ди колдой алат жана ошондой эле бир катар ар кандай электр тактасынын (мотор калкан) варианттарын колдой алат, ошондой эле учурдагы монитор, ЖК дисплей жана баскычтоп сыяктуу I2C автобусундагы түзмөктөрдү колдоого алат. Акыр-аягы, ал чуркоо дөңгөлөктөрүн (айлануучу коддорду) колдой алат. Сиз жасай ала турган эң негизги түзүлүш - бул WeMo'нун D1R1 жана L298 мотор калкандары.
Көңүл буруңуз, опцияны өчүрүүнүн эң оңой жолу - #define операторунда анын аталышынын алдына кичине n тамгасын кошуу.
#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 калканындагы BRAKE секиргичтерин кесип. Булар талап кылынбайт жана биз алардын 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, 12к тартуу менен
D9 GPIO2 SCL, 12к тартуу менен
D10 GPIO15 Jog2
жогоруда айтылгандар адамдар үчүн эскертүүлөр, кайсы ESP GPIO кайсы функцияларды аткарарын билүүгө мүмкүнчүлүк берет. Белгилей кетсек, Arduino D1-D10 менен GPIO карталары MCU D1-D10 түйүнүнөн GPIO карталарына айырмаланат */
#КОЛДОНУУ_АНАЛОГДУ_ӨЛЧӨӨНҮ аныктоо
#DEfine ANALOG_SCALING 3.9 //A жана B параллелдүү колдонулганда (2.36 мультиметр RMS дал келүү үчүн)
Биз INA2 өчүрүү сыяктуу тышкы I219C учурдагы мониторинг аппаратын эмес, ADти ESPде колдонобуз
муну n USE_ ANALOG_ MEASUREMENT менен, эгерде сиз INA219 колдонгуңуз келсе
#define PIN_HEARTBEAT 16 //жана чуркоо баскычы
#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 сигналдарын айдай турганын аныктайт, бизде эки канал бар, алар фазада иштейт, ошондуктан биз аларды чогуу жалпылай алабыз. A-каналы - dcc_ info [] жана B-каналы - dcc_ info A []. Булар макрос катары аныкталат жана арткы сызык сызыкты улантуучу белги болуп саналат.
#define PIN_SCL 2 //12k тартуу
#define PIN_SDA 0 //12k тартуу
#аныктоо PIN_JOG1 4
#define PIN_JOG2 15 //12k ачылуучу
I2C SCL/SDAны башкарган пиндерди (GPIOs), андан кийин 1 жана 2 чуркоо дөңгөлөктөрүнүн кириштерин аныктаңыз
#DEfine KEYPAD_ADDRESS 0x21 //pcf8574
pcf4 чипинин жардамы менен сканерленген кошумча 4 х 8574 матрицалык баскычтоп үчүн колдонулат
//addr, en,rw,rs,d4,d5,d6,d7,арткы жарык, полярдуулук. биз муну 4 биттик түзүлүш катары колдонуп жатабыз //менин дисплей pinout 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 рюкзак
2 LCD дисплейди башкарган I1602C рюкзактарын аныктоо жана конфигурациялоо үчүн колдонулат (милдеттүү эмес), бул жумшак конфигурациялануучу жана пин конфигурациялары ар кандай болгон бир нече рюкзактар бар.
#endif
7-кадам. Компиляция жана тактага жүктөө.
Эми сиз колдоно турган такта комбинациясын конфигурацияладыңыз, сиз долбоорду түзө аласыз. Эгерде сиз 4×4 матрицалык клавиатураны жана ЖКны колдонууну каалабасаңыз, анда көйгөй жок, программалык камсыздоо аларды конфигурациялоону күткөндүктөн, алардын аныктамаларында калтырыңыз. Система аларсыз WiFi аркылуу жакшы иштейт.
IDEде белги белгиси (текшерүү) чындыгында "Компиляция" болуп саналат. Муну чыкылдатсаңыз, ар кандай билдирүүлөр пайда болот (эгер сиз Verbose компиляцияны иштетсеңиз), система ар кандай китепканаларды чогултуп, баарын бириктирет. Эгер баары жакшы иштесе жана жогорудагы бардык кадамдарды так аткарган болсоңуз, анда ийгиликтүү билдирүү пайда болушу керек. Сиз азыр оң жебе (жүктөө) баскычын басууга даярсыз, бирок муну жасоодон мурун Куралдар менюсунан такта үчүн туура COM портун тандаганыңызды текшериңиз.
Ийгиликтүү жүктөөдөн кийин (жакшы сапаттагы USB кабелин колдонуңуз) сиз да чакырышыңыз керек ESP8266 Sketch Data менюсун жүктөө Куралдар астындагы параметр. Бул маалымат папкасынын мазмунун түзмөккө салат (бардык HTML баракчалары).
Сен бүттүң. Сериялык мониторду ачып, баштапкы абалга келтирүү баскычын чыкылдатыңыз жана сиз түзмөктүн жүктөлүшүн көрүп, I2C түзмөктөрүн издешиңиз керек. Эми ага Wifi аркылуу туташа аласыз жана ал электр тактасына (мотордук калкан) зым кошууга даяр.
Документтер / Ресурстар
![]() |
ARDUINO IDE DCC контроллери үчүн орнотуу [pdf] Instructions DCC контроллери үчүн IDE орнотуу, IDE орнотуу, DCC контроллери үчүн орнотуу, DCC контроллери IDE орнотуу, DCC контроллеру |




