ARDUINO IDE Set Up para sa DCC Controller 

ARDUINO IDE Logo

Arduino IDE set-up alang sa DCC controller

Lakang 1. IDE environment set-up. I-load ang mga ESP boards.

Sa una nimong pag-install sa Arduino IDE, gisuportahan lamang niini ang mga board nga nakabase sa ARM. Kinahanglan namon nga idugang ang suporta alang sa mga board nga nakabase sa ESP. Pag-navigate sa File… Mga Kagustuhan

IDE environment set-up. I-load ang mga ESP boards
IDE environment set-up. I-load ang mga ESP boards

Isulat kini nga linya sa ubos ngadto sa Dugang nga Boards Manager URLS kahon. Timan-i nga adunay mga underscore niini, walay mga luna.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Susiha usab ang kahon nga nag-ingon Ipakita ang Verbose sa panahon sa pag-compile. Naghatag kini kanamo dugang nga kasayuran kung adunay mapakyas sa panahon sa paghugpong.

Timan-i nga ang linya sa ibabaw nagdugang suporta alang sa parehas nga esp8266 nga mga aparato ug ang mas bag-ong esp32. Ang duha ka json string gibulag sa usa ka comma.
Karon pilia ang board bersyon 2.7.4 gikan sa board manager

Arduino IDE set-up alang sa DCC controller

I-install ang bersyon 2.7.4. Kini molihok. Ang Bersyon 3.0.0 ug mas taas wala magamit alang niini nga proyekto. Karon, balik sa Tools menu, pilia ang board nga imong gamiton. Alang sa kini nga proyekto mahimo kini usa ka nodeMCU 1.0 o usa ka WeMos D1R1

Arduino IDE set-up alang sa DCC controller

Dinhi among gipili ang WeMos D1R1. (pag-ilis niini gikan sa Nano)

Lakang 2. IDE environment set-up. I-load ang ESP8266 Sketch Data Upload add-in.

Kinahanglan namon nga i-load kini nga add-in aron tugutan kami sa pagmantala (pagbutang) mga panid sa HTML ug uban pa files sa ESP device. Kini nagpuyo sa data folder sulod sa imong project folder https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Adto sa URL sa ibabaw ug i-download ang ESP8266FS-0.5.0.zip.
Paghimo og folder sa Tools sulod sa imong Arduino folder. Unzip ang sulod sa zip file ngadto niining Tools folder. Kinahanglan nimong tapuson kini;

Arduino IDE set-up alang sa DCC controller

Ug usa ka bag-ong opsyon sa menu ang makita ubos sa Tools...

Arduino IDE set-up alang sa DCC controller

Kung imong gamiton kana nga opsyon sa menu, ang IDE mag-upload sa mga sulod sa data folder ngadto sa board. Ok mao kana ang IDE nga palibot nga gipahimutang alang sa kinatibuk-ang paggamit sa ESP8266, karon kinahanglan namong idugang ang pipila ka mga librarya sa Arduino/Libraries folder alang niining piho nga proyekto.

Lakang 3. Pag-download sa mga librarya ug mano-mano nga pag-install.

Kinahanglan namon nga i-download kini nga mga librarya gikan sa Github; https://github.com/me-no-dev/ESPAsyncTCP

Arduino IDE set-up alang sa DCC controller

I-klik ang code, ug dayon i-download ang zip. Moadto kini sa imong folder sa pag-download. Lakaw ngadto sa mga pag-download, pangitaa ang zip, ablihi kini ug i-drag ang content folder nga "ESPAsyncTCP" ngadto sa Arduino/library.
Kung ang ngalan sa folder natapos sa "-master", unya ilisan kini aron makuha ang "-master" gikan sa katapusan.
ie gikan sa mga pag-download

Arduino IDE set-up alang sa DCC controller

Ablihi ang .zip para sa ESPAsyncTCP-master, ug i-drag ang ESPAsyncTCP-master folder gikan sa sulod niini ngadto sa Arduino/Libraries

Arduino IDE set-up alang sa DCC controller

Mubo nga sulat: Ang Arduino/library dili makagamit sa .zip nga bersyon, kinahanglan nimo nga i-unzip (i-drag) ang gusto nga folder. Nagkinahanglan usab kami https://github.com/fmalpartida/New-LiquidCrystal
I-download ang zip dayon i-drag ang sulod niini ngadto sa Arduino/library ug kuhaa ang -master ending.

Ug sa katapusan, kinahanglan namon ang ArduinoJson-5.13.5.zip gikan sa link sa ubos https://www.arduinolibraries.info/libraries/arduino-json

i-download ug dayon i-drag ang mga sulod sa zip ngadto sa Arduino/library

Lakang 4. Pag-instalar og dugang nga mga librarya gamit ang Arduino Library Manager.

Nagkinahanglan kami og duha pa ka librarya, ug kini gikan sa Arduino Library Manager nga naghupot og pinili nga mga built-in nga librarya. Adto sa Tools... Manage Libraries...

Arduino IDE set-up alang sa DCC controller
Arduino IDE set-up alang sa DCC controller

Gamita ang bersyon 1.0.3 sa Adafruit INA219. Kini molihok. 

Ug usab

Arduino IDE set-up alang sa DCC controller

Gamita ang bersyon 2.1.0 sa WebMga socket gikan sa Markus Sattler, kini gisulayan ug nagtrabaho. Wala pa nako gisulayan ang ulahi nga mga bersyon.
OK mao kana ang tanan nga mga librarya (aka reference) nga gikinahanglan sa IDE sa pag-compile niini nga proyekto.

Lakang 5. I-download ang ESP_DCC_Controller nga proyekto gikan sa GitHub ug ablihi sa IDE.

Adto sa GitHub ug i-download https://github.com/computski/ESP_DCC_controller

Pag-klik sa berde nga "Code" nga buton, ug i-download ang zip. Unya ablihi ang zip file ug ibalhin ang mga sulod niini ngadto sa Arduino folder. Usba ang ngalan sa folder aron makuha ang "-main" nga nagtapos sa ngalan sa folder. Kinahanglan nimo nga adunay usa ka folder nga ESP_ DCC_ controller sa imong Arduino folder. Kini adunay sulod nga .INO file, lainlain nga .H ug .CPP files ug usa ka folder sa datos.

Arduino IDE set-up alang sa DCC controller

Doble nga pag-klik sa .INO file aron maablihan ang proyekto sa Arduino IDE.
Sa wala pa kami mag-compile, kinahanglan namon nga i-configure ang imong mga kinahanglanon…

Lakang 6. Ibutang ang imong mga kinahanglanon sa Global. h

Kini nga proyekto makasuporta sa nodeMCU o WeMo's D1R1 ug kini usab makasuporta sa daghang lain-laing mga opsyon sa power board (motor shield), ug kini makasuporta sa mga himan sa usa ka I2C bus sama sa kasamtangan nga monitor, LCD display ug keypad. Ug sa katapusan makasuporta usab kini og jogwheel (rotary encoder). Ang labing sukaranan nga pagtukod nga imong mahimo mao ang usa ka WeMo's D1R1 ug L298 nga taming sa motor.
Timan-i ang labing sayon ​​nga paagi sa pag-disable sa usa ka opsyon mao ang pagdugang og lowercase n atubangan sa ngalan niini sa #define nga pahayag.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#define WEMOS_D1R1_UG_L298_SHIELD
Kay example, labaw sa NODEMCU_OPTION3 na-disabled sa n, parehas ra sa nBOARD_ESP12_SHIELD. Ang WEMOS_D1R1_AND_L298_SHIELD mao ang aktibo nga kapilian, ug kini ang hinungdan sa compiler nga gamiton ang configuration alang niini ingon nga gilista sa ubos.

Sa paglakaw pinaagi niini nga config: 

#elif gipasabot(WEMOS_D1R1_UG_L298_SHIELD)

/*Wemos D1-R1 stacked uban sa L298 taming, timan-i nga ang D1-R2 mao ang usa ka bag-o nga modelo uban sa lain-laing mga pinouts*/
/*Guntinga ang BRAKE jumper sa L298 nga taming. Dili kini gikinahanglan ug dili namo gusto nga madala kini sa mga I2C nga mga pin tungod kay makadaot kini sa signal sa DCC.

Ang board adunay Arduino form factor, ang mga lagdok mao ang mosunod
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 heartbeat ug jogwheel pushbutton (aktibong hi)
D3 GPIO5 DCC makahimo (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC signal (dir)
D6 GPIO12 DCC signal (dir)
D7 GPIO13 DCC makahimo (pwm)
D8 GPIO0 SDA, nga adunay 12k pullup
D9 GPIO2 SCL, nga adunay 12k pullup
D10 GPIO15 Jog2
ang naa sa itaas mga nota para sa mga tawo, nagpahibalo kanimo kung unsang mga ESP GPIO ang magbuhat kung unsang mga gimbuhaton. Timan-i nga ang Ang Arduino D1-D10 ngadto sa GPIO mappings lahi sa node MCU D1-D10 ngadto sa GPIO mappings */

#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //kon gamiton ang A ug B nga magkaparehas (2.36 aron ipares ang multimeter RMS)
Gamiton namo ang AD sa ESP ug dili usa ka eksternal nga I2C nga kasamtangan nga monitoring device sama sa INA219 disable
kini uban sa n USE_ ANALOG_ MEASUREMENT kung gusto nimo mugamit ug INA219

#define PIN_HEARTBEAT 16 //ug jogwheel pushbutton
#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 };
Gihubit kung unsang mga pin ang magduso sa mga signal sa DCC, kami adunay duha ka mga channel, nga nagdagan sa yugto aron mahimo namon kini nga managsama. Ang A-channel mao ang dcc_ info [] ug ang B-channel mao ang dcc_ info A []. Gihubit kini nga mga macro ug ang backslash usa ka marka sa pagpadayon sa linya.

#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown

Ipasabut ang mga pin (GPIOs) nga nagmaneho sa I2C SCL/SDA ug dayon ang mga input sa jogwheel 1 ug 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

Gigamit alang sa opsyonal nga 4 x 4 matrix keypad, nga gi-scan gamit ang pcf8574 chip

//addr, en, rw,rs,d4,d5,d6,d7,backlight, polarity. gigamit namo kini isip 4 bit device // ang akong display pinout kay rs, rw, e, d0-d7. d<4-7> lang ang gigamit. Ang <210> makita tungod kay ang mga bit <012> //mapa isip EN,RW,RS ug kinahanglan namong i-order kini pag-usab kada aktuwal nga order sa hardware, ang 3 gimapa //sa backlight. <4-7> makita sa maong han-ay sa backpack ug sa display.

#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIBO); //YwRobot backpack

Gigamit sa paghubit ug pag-configure sa I2C backpack nga nagmaneho sa 1602 LCD display (opsyonal), kini humok nga ma-configure ug adunay daghang mga backpack nga magamit kansang mga pag-configure sa pin magkalainlain.
#endif

Lakang 7. Pagtipon ug pag-upload sa pisara.

Karon na-configure na nimo ang board combo nga gusto nimong gamiton, mahimo nimong i-compile ang proyekto. Kung dili nimo gusto nga gamiton ang 4 × 4 matrix keypad, ug LCD, walay problema, ibilin ang ilang mga kahulugan ingon nga gipaabut sa software nga ma-configure kini. Ang sistema molihok nga maayo sa WiFi kung wala sila.
Sa IDE, ang simbolo sa tsek (verify) sa tinuud "Pag-compile". I-klik kini ug makita nimo ang lain-laing mga mensahe nga makita (basta imong gipalihok ang Verbose compilation) samtang ang sistema nag-compile sa lain-laing mga librarya ug nagsumpay niini sa tanan. Kung maayo ang tanan, ug kung gisunod nimo ang tanan nga mga lakang sa ibabaw sa eksakto, kinahanglan nimo nga makita ang usa ka mensahe sa kalampusan nga makita. Andam ka na karon sa pag-igo sa right-arrow (upload) nga buton, apan sa dili pa nimo kini buhaton, susiha nga imong gipili ang husto nga COM port alang sa board ubos sa Tools menu.
Human sa usa ka malampuson nga pag-upload (gamit ang usa ka maayo nga kalidad nga USB cable) kinahanglan nimo usab nga gamiton ang I-load ang menu sa ESP8266 Sketch Data opsyon ubos sa Tools. Kini magbutang sa sulod sa data folder ngadto sa device (tanan nga HTML nga mga panid).
Nahuman ka. Ablihi ang serial monitor, i-klik ang reset button ug imong makita ang device boot ug scan alang sa I2C device. Mahimo ka na nga makonektar niini pinaagi sa Wifi, ug andam na kini nga mag-wire sa power board niini (panagang sa motor).

Mga Dokumento / Mga Kapanguhaan

ARDUINO IDE Set Up para sa DCC Controller [pdf] Mga instruksiyon
IDE Set Up para sa DCC Controller, IDE Set Up, Set Up para sa DCC Controller, DCC Controller IDE Set Up, DCC Controller

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *