ARDUINO IDE sąranka DCC valdikliui
Arduino IDE sąranka DCC valdikliui
1 veiksmas. IDE aplinkos nustatymas. Įdėkite ESP plokštes.
Kai pirmą kartą įdiegiate Arduino IDE, jis palaiko tik ARM pagrįstas plokštes. Turime pridėti ESP pagrįstų plokščių palaikymą. Eikite į File… Nuostatos
Įveskite šią eilutę toliau į papildomų lentų tvarkyklę URLS dėžutė. Atkreipkite dėmesį, kad jame yra apatinių brūkšnių, nėra tarpų. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Taip pat pažymėkite langelį, kuriame rašoma Rodyti išsamią informaciją kompiliavimo metu. Tai suteikia mums daugiau informacijos, jei kompiliavimo metu kas nors nepavyksta.
Atminkite, kad aukščiau pateikta eilutė palaiko tiek esp8266 įrenginius, tiek naujesnį esp32. Dvi json eilutės yra atskirtos kableliu.
Dabar pasirinkite lentą 2.7.4 versija iš valdybos vadovo
Įdiekite 2.7.4 versiją. Tai veikia. 3.0.0 ir naujesnės versijos netinka šiam projektui. Dabar meniu Įrankiai pasirinkite plokštę, kurią naudosite. Šiam projektui tai bus arba nodeMCU 1.0, arba WeMos D1R1
Čia pasirenkame WeMos D1R1. (pakeitus tai iš Nano)
2 veiksmas. IDE aplinkos nustatymas. Įkelti ESP8266 eskizo duomenų įkėlimo priedą.
Turime įkelti šį priedą, kad galėtume skelbti (įdėti) HTML puslapius ir kt files ESP įrenginyje. Jie yra duomenų aplanke, esančiame jūsų projekto aplanke https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Eikite į URL aukščiau ir atsisiųskite ESP8266FS-0.5.0.zip.
Sukurkite aplanką Įrankiai savo Arduino aplanke. Išpakuokite užtrauktuko turinį file į šį įrankių aplanką. Turėtumėte tai baigti;
Skiltyje „Įrankiai“ pasirodys nauja meniu parinktis…
Jei iškviesite šią meniu parinktį, IDE įkels duomenų aplanko turinį į plokštę. Gerai, tai yra IDE aplinka, sukurta bendram ESP8266 naudojimui, dabar turime pridėti keletą bibliotekų į šio konkretaus projekto Arduino / Bibliotekos aplanką.
3 veiksmas. Atsisiųskite bibliotekas ir įdiekite rankiniu būdu.
Turime atsisiųsti šias bibliotekas iš Github; https://github.com/me-no-dev/ESPAsyncTCP
Spustelėkite kodą, tada atsisiųskite ZIP. Jis pateks į jūsų atsisiuntimų aplanką. Eikite į atsisiuntimus, suraskite ZIP failą, atidarykite jį ir vilkite turinio aplanką „ESPAsyncTCP“ į „Arduino“ / bibliotekos.
Jei aplanko pavadinimas baigiasi „-master“, pervardykite jį, kad pašalintumėte „-master“.
ty iš atsisiuntimų
Atidarykite .zip, skirtą ESPAsyncTCP-master, ir vilkite ESPAsyncTCP-master aplanką iš šio aplanko į Arduino/Libraries
Pastaba: Arduino/libraries negali naudoti .zip versijos, reikia išpakuoti (nuvilkti) norimą aplanką. Mums taip pat reikia https://github.com/fmalpartida/New-LiquidCrystal
Atsisiųskite ZIP failą, tada vilkite jo turinį į Arduino / bibliotekas ir pašalinkite pagrindinę galūnę.
Ir galiausiai mums reikia ArduinoJson-5.13.5.zip iš toliau pateiktos nuorodos https://www.arduinolibraries.info/libraries/arduino-json
atsisiųskite ir vilkite ZIP turinį į Arduino / bibliotekas
4 veiksmas. Įdiekite dar keletą bibliotekų naudodami „Arduino Library Manager“.
Mums reikia dar dviejų bibliotekų, kurios gaunamos iš „Arduino Library Manager“, kurioje yra integruotų bibliotekų pasirinkimas. Eikite į Įrankiai… Tvarkyti bibliotekas…
Naudokite 1.0.3 Adafruit INA219 versiją. Tai veikia.
Ir taip pat
Naudokite 2.1.0 versiją WebLizdai iš Markus Sattler, tai išbandyta ir veikia. Vėlesnių versijų neišbandžiau.
Gerai, tai yra visos bibliotekos (dar žinomos kaip nuorodos), kurių IDE reikia šiam projektui sudaryti.
5 veiksmas. Atsisiųskite ESP_DCC_Controller projektą iš GitHub ir atidarykite IDE.
Eikite į „GitHub“ ir atsisiųskite https://github.com/computski/ESP_DCC_controller
Spustelėkite žalią mygtuką „Kodas“ ir atsisiųskite ZIP. Tada atidarykite užtrauktuką file ir perkelkite jo turinį į Arduino aplanką. Pervardykite aplanką, kad pašalintumėte aplanko pavadinimo pabaigą „-main“. Arduino aplanke turėtumėte turėti aplanką ESP_ DCC_ valdiklis. Jame bus .INO file, įvairių .H ir .CPP files ir duomenų aplanką.
Dukart spustelėkite .INO file atidaryti projektą Arduino IDE.
Prieš pradėdami kompiliuoti, turime sukonfigūruoti pagal jūsų reikalavimus…
6 veiksmas. Nustatykite savo reikalavimus Global. h
Šis projektas gali palaikyti nodeMCU arba WeMo D1R1, taip pat gali palaikyti daugybę skirtingų maitinimo plokštės (variklio skydo) parinkčių, taip pat jis gali palaikyti įrenginius I2C magistralėje, pvz., dabartinį monitorių, LCD ekraną ir klaviatūrą. Ir galiausiai jis taip pat gali palaikyti bėgimo ratą (sukamąjį kodavimo įrenginį). Paprasčiausia konstrukcija, kurią galite padaryti, yra „WeMo“ D1R1 ir L298 variklio skydas.
Atminkite, kad paprasčiausias būdas išjungti parinktį yra pridėti mažąją n raidę prieš jos pavadinimą sakinyje #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#apibrėžti WEMOS_D1R1_AND_L298_SHIELD
Pavyzdžiui,ample, aukščiau NODEMCU_OPTION3 buvo išjungtas su n, tas pats nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD yra aktyvi parinktis, todėl kompiliatorius tam naudos konfigūraciją, kaip nurodyta žemiau.
Norėdami pereiti per šią konfigūraciją:
#elif apibrėžtas (WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 su L298 skydu, atkreipkite dėmesį, kad D1-R2 yra naujesnis modelis su skirtingais kaiščiais*/
/*Nukirpkite L298 skydo BRAKE trumpiklius. Jie nėra būtini ir nenorime, kad juos valdytų I2C kaiščiai, nes tai sugadins DCC signalą.
Plokštė turi Arduino formos koeficientą, kaiščiai yra tokie
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 širdies plakimo ir bėgimo rato mygtukas (aktyvus hi)
D3 GPIO5 DCC įgalinimas (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signalas (vad.)
D6 GPIO12 DCC signalas (vad.)
D7 GPIO13 DCC įgalinimas (pwm)
D8 GPIO0 SDA, su 12k ištraukimu
D9 GPIO2 SCL, su 12k patraukimu
D10 GPIO15 Jog2
Aukščiau pateiktos pastabos žmonėms, leidžiančios žinoti, kurios ESP GPIO atliks kokias funkcijas. Atkreipkite dėmesį, kad „Arduino D1-D10“ ir „GPIO“ susiejimas skiriasi nuo mazgo MCU D1–D10 su GPIO susiejimo */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //kai lygiagrečiai naudojami A ir B (2.36, kad atitiktų multimetro RMS)
ESP naudosime AD, o ne išorinį I2C srovės stebėjimo įrenginį, pvz., INA219 išjungimą
tai su n USE_ ANALOG_ MEASUREMENT, jei norite naudoti INA219
#define PIN_HEARTBEAT 16 //ir bėgimo rato mygtukas
#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 };
Apibrėžia, kurie kontaktai valdys DCC signalus. Turime du kanalus, veikiančius toje pačioje fazėje, kad galėtume juos sujungti. A kanalas yra dcc_ info [], o B kanalas yra dcc_ info A []. Tai apibrėžiama kaip makrokomandos, o pasvirasis brūkšnys yra eilutės tęsinio žymeklis.
#define PIN_SCL 2 //12k ištraukimas
#define PIN_SDA 0 //12k ištraukimas
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k išskleidžiamasis meniu
Apibrėžkite kaiščius (GPIO), kurie valdo I2C SCL / SDA, o tada taip pat bėgimo rato įėjimus 1 ir 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Naudojama pasirenkamai 4 x 4 matricos klaviatūrai, kuri nuskaitoma naudojant pcf8574 lustą
//addr, en,rw,rs,d4,d5,d6,d7,apšvietimas, poliškumas. mes naudojame tai kaip 4 bitų įrenginį //mano ekrano išvestis yra rs,rw,e,d0-d7. naudojami tik d<4-7>. Rodoma <210>, nes bitai <012> yra //priskirti kaip EN,RW,RS ir mes turime juos pertvarkyti pagal faktinį užsakymą aparatinėje įrangoje, 3 yra susietas //prie foninio apšvietimo. <4-7> tokia tvarka rodomi ant kuprinės ir ekrane.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, TEIGUS); //YwRobot kuprinė
Naudojama apibrėžti ir konfigūruoti I2C kuprinę, kuri valdo 1602 LCD ekraną (pasirenkama), ją galima lengvai konfigūruoti ir yra keletas kuprinių, kurių kaiščių konfigūracijos skiriasi.
#endif
7 veiksmas. Sukompiliuokite ir įkelkite į lentą.
Dabar sukonfigūravote plano derinį, kurį ketinate naudoti, galite sudaryti projektą. Jei neketinate naudoti 4 × 4 matricos klaviatūros ir LCD, jokių problemų, palikite jų apibrėžimus, nes programinė įranga tikisi juos sukonfigūruoti. Sistema puikiai veiks per „WiFi“ be jų.
IDE varnelės simbolis (patikrinti) iš tikrųjų yra „Compile“. Spustelėkite tai ir pamatysite įvairius pranešimus (jei įjungėte išsamų kompiliavimą), nes sistema kompiliuoja įvairias bibliotekas ir susieja jas visas. Jei viskas veikia gerai ir turėtų, jei tiksliai atlikote visus aukščiau nurodytus veiksmus, turėtumėte pamatyti sėkmės pranešimą. Dabar esate pasirengę paspausti rodyklės dešinėn (įkelti) mygtuką, bet prieš tai darydami patikrinkite, ar meniu Įrankiai pasirinkote tinkamą plokštės COM prievadą.
Po sėkmingo įkėlimo (naudokite geros kokybės USB kabelį) taip pat turite iškviesti Įkelkite ESP8266 eskizo duomenų meniu parinktis skiltyje Įrankiai. Duomenų aplanko turinys bus perkeltas į įrenginį (visi HTML puslapiai).
Su tavimi baigta. Atidarykite serijinį monitorių, spustelėkite nustatymo iš naujo mygtuką ir turėtumėte pamatyti įrenginio įkrovą ir nuskaityti I2C įrenginius. Dabar galite prisijungti prie jo per „Wi-Fi“ ir jis paruoštas prijungti prie maitinimo plokštės (variklio skydo).
Dokumentai / Ištekliai
![]() |
ARDUINO IDE sąranka DCC valdikliui [pdfInstrukcijos IDE sąranka DCC valdikliui, IDE sąranka, DCC valdiklio sąranka, DCC valdiklio IDE sąranka, DCC valdiklis |