Konfigurimi i ARDUINO IDE për kontrolluesin DCC
Konfigurimi i Arduino IDE për kontrolluesin DCC
Hapi 1. Vendosja e mjedisit IDE. Ngarkoni bordet ESP.
Kur instaloni për herë të parë Arduino IDE, ai mbështet vetëm bordet e bazuara në ARM. Ne duhet të shtojmë mbështetje për bordet e bazuara në ESP. Navigoni te File… Preferencat
Shkruani këtë rresht më poshtë në Menaxherin e Bordeve Shtesë URLkuti S. Vini re se ka nënvizime në të, nuk ka hapësira. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Kontrolloni gjithashtu kutinë që thotë Show Verbose gjatë përpilimit. Kjo na jep më shumë informacion nëse diçka dështon gjatë përpilimit.
Vini re se linja e mësipërme shton mbështetje për të dyja pajisjet esp8266 dhe esp32 më të reja. Dy vargjet json ndahen me presje.
Tani zgjidhni tabelën versioni 2.7.4 nga menaxheri i bordeve
Instaloni versionin 2.7.4. Kjo funksionon. Versioni 3.0.0 dhe më i lartë nuk funksionon për këtë projekt. Tani, përsëri në menynë Tools, zgjidhni tabelën që do të përdorni. Për këtë projekt do të jetë ose një nyjeMCU 1.0 ose një WeMos D1R1
Këtu zgjedhim WeMos D1R1. (duke ndryshuar këtë nga Nano)
Hapi 2. Vendosja e mjedisit IDE. Ngarko shtesën e ngarkimit të të dhënave të skicës ESP8266.
Ne duhet të ngarkojmë këtë shtesë për të na lejuar të publikojmë (vendosim) faqe HTML dhe të tjera files në pajisjen ESP. Këto jetojnë në dosjen e të dhënave brenda dosjes së projektit tuaj https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Shkoni në URL lart dhe shkarkoni ESP8266FS-0.5.0.zip.
Krijoni një dosje Tools brenda dosjes tuaj Arduino. Zhbllokoni përmbajtjen e zip-it file në këtë dosje Mjete. Ju duhet të përfundoni me këtë;
Dhe një opsion i ri i menysë do të shfaqet nën Veglat…
Nëse thirrni atë opsion të menysë, IDE do të ngarkojë përmbajtjen e dosjes së të dhënave në tabelë. Ok kështu që është mjedisi IDE i konfiguruar për përdorim të përgjithshëm ESP8266, tani duhet të shtojmë disa biblioteka në dosjen Arduino/Libraries për këtë projekt specifik.
Hapi 3. Shkarkoni bibliotekat dhe instaloni manualisht.
Ne duhet t'i shkarkojmë këto biblioteka nga Github; https://github.com/me-no-dev/ESPAsyncTCP
Klikoni mbi kodin dhe më pas shkarkoni zip. Do të shkojë në dosjen tuaj të shkarkimeve. Shkoni te shkarkimet, gjeni zip-in, hapeni dhe tërhiqni dosjen e përmbajtjes "ESPAsyncTCP" te Arduino/bibliotekat.
Nëse emri i dosjes përfundon me "-master", atëherë riemërtojeni atë për të hequr "-master" nga fundi.
dmth nga shkarkimet
Hapni .zip për ESPAsyncTCP-master dhe tërhiqni dosjen ESPAsyncTCP-master nga brenda kësaj te Arduino/Libraries
Shënim: Arduino/bibliotekat nuk mund të përdorin versionin .zip, ju duhet të çzipni (zvarritni) dosjen e dëshiruar. Ne gjithashtu kemi nevojë https://github.com/fmalpartida/New-LiquidCrystal
Shkarkoni skedarin zip më pas tërhiqni përmbajtjen e tij në Arduino/bibliotekat dhe hiqni përfundimin -master.
Dhe së fundi, na duhet ArduinoJson-5.13.5.zip nga lidhja më poshtë https://www.arduinolibraries.info/libraries/arduino-json
shkarkoni dhe më pas tërhiqni përmbajtjen zip te Arduino/bibliotekat
Hapi 4. Instaloni disa biblioteka të tjera duke përdorur Arduino Library Manager.
Ne kemi nevojë për dy biblioteka të tjera, dhe këto vijnë nga Menaxheri i Bibliotekës Arduino, i cili mban një përzgjedhje bibliotekash të integruara. Shkoni te Veglat… Menaxho Bibliotekat…
Përdorni versionin 1.0.3 të Adafruit INA219. Kjo funksionon.
Dhe gjithashtu
Përdorni versionin 2.1.0 të WebPrizat nga Markus Sattler, kjo është e testuar dhe funksionon. Unë nuk i kam testuar versionet e mëvonshme.
OK kështu që janë të gjitha bibliotekat (aka referencat) që IDE ka nevojë për të përpiluar këtë projekt.
Hapi 5. Shkarkoni projektin ESP_DCC_Controller nga GitHub dhe hapeni në IDE.
Shkoni te GitHub dhe shkarkoni https://github.com/computski/ESP_DCC_controller
Klikoni në butonin e gjelbër "Code" dhe shkarkoni zip. Pastaj hapni zinxhirin file dhe zhvendosni përmbajtjen e tij në dosjen Arduino. Riemërtoni dosjen për të hequr mbarimin “-main” në emrin e dosjes. Duhet të përfundoni me një kontrollues të dosjes ESP_ DCC_ në dosjen tuaj Arduino. Ai do të përmbajë një .INO file, të ndryshme .H dhe .CPP files dhe një dosje të dhënash.
Klikoni dy herë në .INO file për të hapur projektin në Arduino IDE.
Përpara se të godasim përpilimin, duhet të konfigurohemi sipas kërkesave tuaja…
Hapi 6. Vendosni kërkesat tuaja në Global. h
Ky projekt mund të mbështesë nodeMCU ose D1R1 të WeMo dhe gjithashtu mund të mbështesë një numër opsionesh të ndryshme të panelit të energjisë (mburojë motorike), plus mund të mbështesë pajisje në një autobus I2C si monitori aktual, ekrani LCD dhe tastiera. Dhe së fundi mund të mbështesë edhe një rrotullues (koder rrotullues). Ndërtimi më themelor që mund të bëni është mburoja motorike D1R1 dhe L298 e WeMo.
Vini re se mënyra më e lehtë për të çaktivizuar një opsion është të shtoni një shkronja të vogla n përpara emrit të tij në deklaratën #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#përcakto WEMOS_D1R1_AND_L298_SHIELD
Për shembullample, mbi NODEMCU_OPTION3 është çaktivizuar me n, e njëjta gjë për nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD është opsioni aktiv dhe kjo do të bëjë që përpiluesi të përdorë konfigurimin për këtë siç është renditur më poshtë.
Për të ecur nëpër këtë konfigurim:
Përcaktohet #elif (WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 grumbulluar me mburojë L298, vini re se D1-R2 është një model më i ri me pika të ndryshme*/
/*Preni kërcyesit e BRAKES në mburojën L298. Këto nuk kërkohen dhe ne nuk duam që ato të drejtohen nga kunjat I2C pasi do të korruptojnë sinjalin DCC.
Pllaka ka një faktor të formës Arduino, kunjat janë si më poshtë
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 rrahjet e zemrës dhe butoni i shtytjes së rrotullës (aktive hi)
Aktivizimi i D3 GPIO5 DCC (pwm)
D4 GPIO4 Jog1
Sinjali D5 GPIO14 DCC (direkt)
Sinjali D6 GPIO12 DCC (direkt)
Aktivizimi i D7 GPIO13 DCC (pwm)
D8 GPIO0 SDA, me tërheqje 12k
D9 GPIO2 SCL, me tërheqje 12k
D10 GPIO15 Jog2
sa më sipër janë shënime për njerëzit, ju bëjnë të ditur se cilat GPIO ESP do të kryejnë cilat funksione. Vini re se Hartimet e Arduino D1-D10 në GPIO janë të ndryshme nga hartat e nyjës MCU D1-D10 në GPIO */
#define USE_ANALOG_MASUREMENT
#define ANALOG_SCALING 3.9 //kur përdorni A dhe B paralelisht (2.36 për t'u përshtatur me RMS me multimetër)
Ne do të përdorim AD në ESP dhe jo një pajisje të jashtme monitorimi të rrymës I2C, siç është çaktivizimi INA219
kjo me n USE_ ANALOG_ MEASUREMENT nëse dëshironi të përdorni një INA219
#define PIN_HEARTBEAT 16 //dhe butonin e shtytjes së rrotullës
#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 };
Përcakton se cilat kunja do të drejtojnë sinjalet DCC, ne kemi dy kanale, që funksionojnë në fazë, në mënyrë që t'i bashkojmë ato së bashku. Kanali A është dcc_ info [] dhe kanali B është dcc_ info A []. Këto përcaktohen si makro dhe vija e prapme është një shënues i vazhdimit të linjës.
#define PIN_SCL 2 //12k tërheqje
#define PIN_SDA 0 //12k tërheqje
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown
Përcaktoni kunjat (GPIO) që drejtojnë I2C SCL/SDA dhe më pas gjithashtu hyrjet e rrotullës 1 dhe 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Përdoret për tastierën opsionale me matricë 4 x 4, e cila skanohet duke përdorur një çip pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,drita e pasme, polariteti. ne po e përdorim këtë si një pajisje 4-bit //pinout tim të ekranit është rs,rw,e,d0-d7. përdoren vetëm d<4-7>. <210> shfaqet sepse bitet <012> janë //hartuar si EN, RW, RS dhe ne duhet t'i rirenditim ato sipas rendit aktual në harduer, 3 është hartuar //në dritën e prapme. <4-7> shfaqen në atë rend në çantën e shpinës dhe në ekran.
#define BOOTUP_LCD LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZITIVE); //Çantë shpine YwRobot
Përdoret për të përcaktuar dhe konfiguruar çantën e shpinës I2C që drejton ekranin LCD 1602 (opsionale), kjo është e konfigurueshme në mënyrë të butë dhe ka disa çanta shpine të disponueshme, konfigurimet e kunjave të të cilave ndryshojnë.
#përfundim
Hapi 7. Përpiloni dhe ngarkoni në tabelë.
Tani ju keni konfiguruar kombinimin e tabelës që synoni të përdorni, mund ta përpiloni projektin. Nëse nuk keni ndërmend të përdorni tastierën e matricës 4×4 dhe LCD-në, nuk ka problem, lini në përkufizimet e tyre siç pret softueri t'i konfigurojë ato. Sistemi do të funksionojë mirë me WiFi pa to.
Në IDE, simboli i shenjës (verifikoni) është në të vërtetë "Përpiloni". Klikoni këtë dhe do të shihni të shfaqen mesazhe të ndryshme (me kusht që të keni aktivizuar përpilimin Verbose) pasi sistemi përpilon bibliotekat e ndryshme dhe i lidh të gjitha së bashku. Nëse gjithçka funksionon mirë dhe duhet nëse i keni ndjekur saktësisht të gjitha hapat e mësipërm, atëherë duhet të shihni të shfaqet një mesazh suksesi. Tani jeni gati të shtypni butonin e shigjetës djathtas (ngarkoni), por përpara se ta bëni këtë, kontrolloni nëse keni zgjedhur portën e duhur COM për bordin nën menunë Tools.
Pas një ngarkimi të suksesshëm (përdorni një kabllo USB me cilësi të mirë) duhet të thirrni gjithashtu Ngarko menynë ESP8266 Sketch Data opsioni nën Veglat. Kjo do të vendosë përmbajtjen e dosjes së të dhënave në pajisje (të gjitha faqet HTML).
Ju keni mbaruar. Hapni monitorin serik, klikoni butonin e rivendosjes dhe duhet të shihni nisjen e pajisjes dhe të skanoni për pajisjet I2C. Tani mund të lidheni me të nëpërmjet Wi-Fi dhe është gati për t'u lidhur me bordin e tij të energjisë (mburojë motori).
Dokumentet / Burimet
![]() |
Konfigurimi i ARDUINO IDE për kontrolluesin DCC [pdfUdhëzime Konfigurimi IDE për kontrolluesin DCC, konfigurimi IDE, konfigurimi për kontrolluesin DCC, kontrolluesi DCC Konfigurimi IDE, kontrolluesi DCC |