ARDUINO IDE seadistamine DCC-kontrolleri jaoks
Arduino IDE seadistamine DCC-kontrolleri jaoks
Samm 1. IDE keskkonna seadistamine. Laadige ESP-plaadid.
Arduino IDE esmakordsel installimisel toetab see ainult ARM-põhiseid tahvleid. Peame lisama toe ESP-põhistele tahvlitele. Navigeerige File… Eelistused
Sisestage see rida allolevasse lisatahvlite haldurisse URLS kast. Pange tähele, et sellel on allkriipsud, tühikuid pole. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Märkige ka ruut Näita kompileerimise ajal paljusõnalist. See annab meile rohkem teavet, kui midagi koostamise ajal ebaõnnestub.
Pange tähele, et ülaltoodud rida lisab tuge nii esp8266 seadmetele kui ka uuemale esp32-le. Kaks json-stringi eraldatakse komaga.
Nüüd vali tahvel versioon 2.7.4 juhatuse juhilt
Installige versioon 2.7.4. See toimib. Versioon 3.0.0 ja uuemad selle projekti jaoks ei tööta. Valige nüüd tagasi menüüst Tööriistad tahvel, mida kavatsete kasutada. Selle projekti jaoks on see kas nodeMCU 1.0 või WeMos D1R1
Siin valime WeMos D1R1. (muutes selle nanost)
2. samm. IDE keskkonna seadistamine. Laadi ESP8266 visandiandmete üleslaadimise lisandmoodul.
Peame selle lisandmooduli laadima, et saaksime avaldada (panna) HTML-lehti ja muud files ESP-seadmes. Need asuvad teie projekti kaustas olevas andmekaustas https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Mine lehele URL ülal ja laadige alla ESP8266FS-0.5.0.zip.
Looge oma Arduino kaustas kaust Tööriistad. Paki tõmbluku sisu lahti file sellesse kausta Tööriistad. Peaksite sellega lõppema;
Ja tööriistade alla ilmub uus menüüvalik ...
Kui käivitate selle menüüvaliku, laadib IDE andmekausta sisu tahvlile. Ok, see on IDE keskkond, mis on seadistatud üldiseks ESP8266 kasutamiseks, nüüd peame selle konkreetse projekti jaoks lisama mõned teegid kausta Arduino / Libraries.
3. samm. Laadige alla teegid ja installige käsitsi.
Peame need teegid alla laadima Githubist; https://github.com/me-no-dev/ESPAsyncTCP
Klõpsake koodil ja seejärel laadige ZIP-fail alla. See läheb teie allalaadimiste kausta. Avage allalaadimised, leidke ZIP-fail, avage see ja lohistage sisukaust "ESPAsyncTCP" Arduinosse / raamatukogudesse.
Kui kausta nimi lõpeb tähega "-master", nimetage see ümber, et eemaldada lõpust "-master".
st allalaadimistest
Avage .zip ESPAsyncTCP-masteri jaoks ja lohistage ESPAsyncTCP-master kaust sellest kausta Arduino/Libraries
Märkus. Arduino/teegid ei saa kasutada .zip-versiooni, peate soovitud kausta lahti pakkima (lohistama). Meil on ka vaja https://github.com/fmalpartida/New-LiquidCrystal
Laadige ZIP-fail alla, lohistage selle sisu kausta Arduino/teegid ja eemaldage lõpp -master.
Ja lõpuks vajame allolevalt lingilt ArduinoJson-5.13.5.zip https://www.arduinolibraries.info/libraries/arduino-json
laadige alla ja lohistage zip-i sisu Arduinosse / raamatukogudesse
4. samm. Installige Arduino raamatukoguhalduri abil veel paar teeki.
Vajame veel kahte teeki ja need pärinevad Arduino raamatukoguhaldurilt, mis sisaldab valikut sisseehitatud teeke. Minge jaotisse Tööriistad… Halda teeke…
Kasutage Adafruit INA1.0.3 versiooni 219. See toimib.
Ja ka
Kasutage versiooni 2.1.0 WebPistikupesad Markus Sattlerilt, see on testitud ja töötab. Hilisemaid versioone ma testinud ei ole.
OK, see on kõik teegid (teise nimega viited), mida IDE selle projekti kompileerimiseks vajab.
Samm 5. Laadige GitHubist alla projekt ESP_DCC_Controller ja avage IDE-s.
Minge GitHubi ja laadige alla https://github.com/computski/ESP_DCC_controller
Klõpsake rohelist nuppu "Kood" ja laadige ZIP-fail alla. Seejärel avage tõmblukk file ja teisaldage selle sisu Arduino kausta. Nimetage kaust ümber, et eemaldada kausta nimest lõpp "-main". Peaksite oma Arduino kaustas leidma kausta ESP_ DCC_ kontrolleri. See sisaldab .INO file, erinevad .H ja .CPP files ja andmekaust.
Topeltklõpsake .INO file projekti avamiseks Arduino IDE-s.
Enne kompileerimise alustamist peame konfigureerima vastavalt teie vajadustele ...
6. samm. Määrake oma nõuded globaalses. h
See projekt võib toetada nodeMCU või WeMo D1R1 ja see võib toetada ka mitmeid erinevaid toiteplaadi (mootori varjestuse) valikuid, lisaks võib see toetada I2C siini seadmeid, nagu praegune monitor, LCD-ekraan ja klahvistik. Ja lõpuks võib see toetada ka jooksuratast (pöördkooder). Kõige elementaarsem ehitus, mida saate teha, on WeMo D1R1 ja L298 mootorikaitse.
Pange tähele, et lihtsaim viis suvandi keelamiseks on lisada lauses #define selle nime ette väiketähe n.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#määratle WEMOS_D1R1_AND_L298_SHIELD
Näiteksample, ülalpool NODEMCU_OPTION3 on n-ga keelatud, sama ka nBOARD_ESP12_SHIELD puhul. WEMOS_D1R1_AND_L298_SHIELD on aktiivne valik ja see paneb kompilaatori kasutama selle jaoks allolevat konfiguratsiooni.
Selle konfiguratsiooni läbimiseks toimige järgmiselt.
#elif määratletud (WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1, mis on virnastatud L298 kilbiga, pange tähele, et D1-R2 on uuem mudel, millel on erinevad kontaktid*/
/*Lõika L298 kilbil BRAKE džemprid. Neid ei nõuta ja me ei taha, et neid juhiksid I2C kontaktid, kuna see rikub DCC signaali.
Plaadil on Arduino vormitegur, tihvtid on järgmised
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 südamelöögi ja jooksuratta surunupp (aktiivne hi)
D3 GPIO5 DCC lubamine (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signaal (direktor)
D6 GPIO12 DCC signaal (direktor)
D7 GPIO13 DCC lubamine (pwm)
D8 GPIO0 SDA, 12k pullup
D9 GPIO2 SCL, 12k pullup
D10 GPIO15 Jog2
ülaltoodud on märkused inimestele, mis annavad teile teada, millised ESP GPIO-d milliseid funktsioone täidavad. Pange tähele, et Arduino D1-D10 ja GPIO vastendused erinevad sõlme MCU D1-D10 ja GPIO vastendustest */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //kui A ja B kasutatakse paralleelselt (2.36, et sobitada multimeetri RMS)
Kasutame ESP-s AD-d, mitte välist I2C voolu jälgimisseadet, näiteks INA219 blokeeringut
seda n-ga USE_ ANALOG_ MEASUREMENT, kui soovite kasutada INA219
#define PIN_HEARTBEAT 16 //ja jooksuratta surunupp
#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 };
Määrab, millised kontaktid juhivad DCC signaale. Meil on kaks kanalit, mis töötavad samaaegselt, et saaksime need koos ühendada. A-kanal on dcc_ info [] ja B-kanal on dcc_ info A []. Need on defineeritud kui makrod ja kaldkriips on rea jätkamise marker.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k rippmenüü
Määrake tihvtid (GPIO-d), mis juhivad I2C SCL/SDA-d ja seejärel ka jooksuratta sisendid 1 ja 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Kasutatakse valikulise 4 x 4 maatriksklahvistiku jaoks, mida skannitakse pcf8574 kiibi abil
//addr, en,rw,rs,d4,d5,d6,d7,taustvalgustus, polaarsus. me kasutame seda 4-bitise seadmena //minu ekraani väljund on rs,rw,e,d0-d7. kasutatakse ainult d4-7. <210> ilmub, kuna bitid <012> on //vastandatud kui EN, RW, RS ja me peame need riistvara tegeliku järjekorra alusel ümber järjestama, 3 vastendatakse //taustvalgustusega. <4-7> kuvatakse seljakotile ja ekraanile selles järjekorras.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIIVNE); //YwRobot seljakott
Kasutatakse 2 LCD-ekraani (valikuline) käitava I1602C-seljakoti määratlemiseks ja konfigureerimiseks, see on pehmelt konfigureeritav ja saadaval on mitu seljakotti, mille tihvtide konfiguratsioonid on erinevad.
#endif
Samm 7. Kompileerige ja laadige tahvlile.
Nüüd olete konfigureerinud tahvlikombo, mida kavatsete kasutada, saate projekti koostada. Kui te ei kavatse kasutada 4 × 4 maatriksklahvistikku ja LCD-ekraani, pole probleemi, jätke nende määratlused nii, nagu tarkvara eeldab nende konfigureerimist. Süsteem töötab WiFi kaudu hästi ka ilma nendeta.
IDE-s on linnukese sümbol (verify) tegelikult “Komple”. Klõpsake seda ja näete erinevaid teateid (eeldusel, et lubasite üksikasjaliku kompileerimise), kuna süsteem kompileerib erinevad teegid ja lingib need kõik kokku. Kui kõik töötab hästi ja see peaks toimima, kui järgisite täpselt kõiki ülaltoodud samme, peaksite nägema eduteadet. Nüüd olete valmis vajutama paremnoole (üleslaadimise) nuppu, kuid enne selle tegemist kontrollige, kas olete menüüst Tööriistad valinud plaadi jaoks õige COM-pordi.
Pärast edukat üleslaadimist (kasutage hea kvaliteediga USB-kaablit) peate käivitama ka Laadige ESP8266 Sketch Data menüü valikut Tööriistad. See asetab andmekausta sisu seadmesse (kõik HTML-lehed).
Sa oled valmis. Avage jadamonitor, klõpsake lähtestamisnuppu ja peaksite nägema seadme alglaadimist ja I2C-seadmete otsimist. Nüüd saate sellega ühenduse luua WiFi kaudu ja see on valmis ühendamiseks toiteplaadiga (mootori kilp).
Dokumendid / Ressursid
![]() |
ARDUINO IDE seadistamine DCC-kontrolleri jaoks [pdfJuhised IDE seadistamine DCC kontrolleri jaoks, IDE seadistamine, DCC kontrolleri seadistamine, DCC kontrolleri IDE seadistamine, DCC kontroller |