ARDUINO IDE Gadzirira DCC Controller
Arduino IDE set-up yeDCC controller
Danho 1. IDE nharaunda set-up. Rodha mabhodhi eESP.
Paunotanga kuisa iyo Arduino IDE, inongotsigira ARM yakavakirwa mabhodhi. Isu tinofanirwa kuwedzera rutsigiro rweESP based board. Enda ku File… Zvaunofarira
Nyora iyi mutsara pazasi mune Yekuwedzera Boards Manager URLS bhokisi. Ziva kuti kune underscores mairi, hapana nzvimbo. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Tarisa zvakare bhokisi rinoti Ratidza Verbose panguva yekuunganidza. Izvi zvinotipa rumwe ruzivo kana chimwe chinhu chikatadza panguva yekuunganidza.
Ziva kuti mutsara uri pamusoro unowedzera rutsigiro kune ese esp8266 zvishandiso uye nyowani esp32. Tambo mbiri dzejson dzakapatsanurwa necomma.
Zvino sarudza bhodhi shanduro 2.7.4 kubva kumaneja webhodhi
Isa shanduro 2.7.4. Izvi zvinoshanda. Shanduro 3.0.0 zvichikwira haishande pachirongwa ichi. Zvino, kumashure muZvishandiso menyu, sarudza bhodhi rauchange uchishandisa. Kune iyi purojekiti ichave iri nodeMCU 1.0 kana WeMos D1R1
Pano tinosarudza WeMos D1R1. (kuchinja izvi kubva kuNano)
Danho 2. IDE nharaunda set-up. Rodha ESP8266 Sketch Data Upload add-in.
Isu tinofanirwa kurodha iyi yekuwedzera-mukati kutibvumira kuburitsa (kuisa) mapeji eHTML uye mamwe files pamudziyo weESP. Aya anogara mune data dhairekitori mukati meprojekiti folda yako https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Enda kune URL pamusoro uye dhawunirodha ESP8266FS-0.5.0.zip.
Gadzira folda yeZvishandiso mukati meArduino folda yako. Vhura zviri mukati mezip file kune iyi Tools folda. Unofanira kuguma neichi;
Uye itsva menyu sarudzo ichaonekwa pasi peZvishandiso…
Kana iwe ukakoka iyo menyu sarudzo, iyo IDE inoisa zviri mukati me data dhairekitori kubhodhi. Ok saka ndiyo IDE nharaunda yakagadzirirwa kushandiswa kweESP8266, ikozvino tinoda kuwedzera mamwe maraibhurari kuArduino/Libraries folda yeiyi purojekiti.
Nhanho 3. Dhawunirodha maraibhurari uye nemaoko instal.
Isu tinofanirwa kurodha mabhuku aya kubva kuGithub; https://github.com/me-no-dev/ESPAsyncTCP
Dzvanya pane kodhi, wobva wadhawunirodha zip. Ichaenda kune yako yekurodha folda. Enda mukurodha, tsvaga zip, ivhure uye dhonza iyo yemukati dhairekitori "ESPAsyncTCP" kuArduino / maraibhurari.
Kana iyo folda zita rinopera ne "-master", wozoitumidzazve kuti ubvise "-master" kubva kumagumo.
kureva kubva pakurodha pasi
Vhura iyo .zip ye ESPAsyncTCP-master, uye dhonza ESPAsyncTCP-master forodha kubva mukati meiyi kuArduino/Libraries.
Cherechedza: Arduino/libraries haigoni kushandisa .zip version, unoda kusunungura (kudhonza) iyo yaunoda forodha pamusoro. Tinodawo https://github.com/fmalpartida/New-LiquidCrystal
Dhawunirodha zip wobva wadhonza zvirimo kuArduino/maraibhurari uye bvisa -master kuguma.
Uye pakupedzisira, tinoda ArduinoJson-5.13.5.zip kubva pane iyi link iripazasi https://www.arduinolibraries.info/libraries/arduino-json
dhawunirodha uye wodhonza zip zviri mukati kuArduino/libraries
Danho 4. Isa mamwe maraibhurari akati wandei uchishandisa Arduino Library Manager.
Tinoda mamwe maraibhurari maviri, uye aya anobva kuArduino Library Manager iyo inobata sarudzo yemaraibhurari akavakirwa-mukati. Enda kuZvishandiso... Manage Libraries...
Shandisa shanduro 1.0.3 yeAdafruit INA219. Izvi zvinoshanda.
Uye zvakare
Shandisa shanduro 2.1.0 ye WebZvigadziko kubva kuna Markus Sattler, izvi zvinoedzwa uye zvinoshanda. Handina kuyedza shanduro dzakazotevera.
Zvakanaka saka ndiwo ese maraibhurari (aka mareferenzi) ayo IDE inoda kuunganidza chirongwa ichi.
Danho 5. Dhaunirodha chirongwa cheESP_DCC_Controller kubva kuGitHub wovhura muIDE.
Enda kuGitHub uye dhawunirodha https://github.com/computski/ESP_DCC_controller
Dzvanya bhatani regirini re "Code", uye dhawunirodha zip. Wovhura zipi file uye fambisa zvirimo kuArduino folda. Rename iyo folda kuti ubvise "-main" inopera pazita refolda. Iwe unofanirwa kupedzisira uine folda ESP_ DCC_ controller mune yako Arduino folda. Ichange ine .INO file, zvakasiyana-siyana .H uye .CPP files uye data dhairekitori.
Tinya kaviri pane .INO file kuvhura chirongwa muArduino IDE.
Tisati tarova kuunganidza, isu tinofanirwa kugadzirisa kune zvaunoda ...
Nhanho 6. Isa zvaunoda muGlobal. h
Iyi purojekiti inogona kutsigira nodeMCU kana WeMo's D1R1 uye zvakare inogona kutsigira akati wandei emagetsi bhodhi (motor shield) sarudzo, uye zvakare inogona kutsigira zvishandiso paI2C bhazi senge yazvino monitor, LCD kuratidza uye keypad. Uye pakupedzisira inogona kutsigira jogwheel (rotary encoder). Iyo inonyanya kukosha kuvaka iwe yaunogona kuita ndeye WeMo's D1R1 uye L298 mota nhoo.
Ziva nzira iri nyore yekudzima sarudzo kuwedzera kaseti kadiki n pamberi pezita rayo mu #define statement.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#define WEMOS_D1R1_AND_L298_SHIELD
For example, pamusoro NODEMCU_OPTION3 yakadzimwa nen, zvimwe chete zve nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD ndiyo inoshanda sarudzo, uye izvi zvichaita kuti mugadziri ashandise zvigadziriso zveizvi sezvakanyorwa pasi pasi.
Kuti ufambe kuburikidza neiyi config:
#elif defined(WEMOS_D1R1_AND_L298_SHIELD)
/* Wemos D1-R1 yakarongedzerwa neL298 nhoo, ziva kuti D1-R2 imhando nyowani ine mapiniti akasiyana */
/* Cheka maBRAKE jumpers paL298 nhoo. Izvi hazvidiwe uye hatidi kuti zvifambiswe nemapini eI2C sezvo zvichikanganisa chiratidzo cheDCC.
Bhodhi rine Arduino fomu chinhu, mapini ndeaya anotevera
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 kurova kwemoyo uye jogwheel pushbutton (inoshanda hi)
D3 GPIO5 DCC gonesa (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC chiratidzo (dir)
D6 GPIO12 DCC chiratidzo (dir)
D7 GPIO13 DCC gonesa (pwm)
D8 GPIO0 SDA, ine 12k kudhonza
D9 GPIO2 SCL, ine 12k kudhonza
D10 GPIO15 Jog2
zviri pamusoro apa zvinyorwa zvevanhu, zvinokuzivisa kuti ndeapi ESP GPIO achaita mabasa api. Cherechedza kuti Arduino D1-D10 kune GPIO mappings akasiyana kune node MCU D1-D10 kune GPIO mepu. */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 // paunenge uchishandisa A uye B zvakafanana (2.36 kuenzanisa multimeter RMS)
Isu tichashandisa iyo AD paESP uye kwete yekunze I2C yazvino yekutarisa mudziyo senge INA219 disable.
iyi ine n USE_ ANALOG_ MEASUREMENT kana uchida kushandisa INA219
#define PIN_HEARTBEAT 16 // uye 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};
Inotsanangura kuti ndeapi mapini achatyaira masiginecha eDCC, isu tine nzira mbiri, dzinomhanya mu-chikamu kuti tigone kusanganisa pamwe chete. A-chiteshi ndeye dcc_ info [] uye B-chiteshi dcc_ info A []. Izvi zvinotsanangurwa se macros uye backslash mutsetse-kuenderera mberi chiratidzo.
#tsanangura PIN_SCL 2 //12k kudhonza
#tsanangura PIN_SDA 0 //12k kudhonza
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k kudonha
Tsanangura mapini (GPIOs) anotyaira I2C SCL/SDA uyezve mapini ejogwheel 1 uye 2.
#define KEYPAD_ADDRESS 0x21 //pcf8574
Inoshandiswa pakusarudza 4 x 4 matrix keypad, inoongororwa uchishandisa pcf8574 chip.
//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarity. isu tiri kushandisa iyi se 4 bit mudziyo //my kuratidza pinout ndeye rs,rw,e,d0-d7. d <4-7> chete ndiyo inoshandiswa. <210> inooneka nekuti mabits <012> ari // akamepurwa se EN,RW,RS uye isu tinofanirwa kuarongedzera zvakare maererano nekurongeka chaiko pane Hardware, 3 inoiswa mepu //kumashure. <4-7> onekwa mune izvo kurongeka pabhegi uye pachiratidziro.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //YwRobot chikwama
Inoshandiswa kutsanangura nekugadzirisa iyo I2C bhegi inotyaira iyo 1602 LCD kuratidza (inosarudzika), iyi yakapfava uye kune akati wandei mabhegi anowanikwa ane pini masisitimu anosiyana.
#endif
Danho 7. Gadzira uye uise kubhodhi.
Iye zvino wagadzirisa bhodhi combo yauri kuda kushandisa, unogona kuunganidza purojekiti. Kana iwe usingade kushandisa 4 × 4 matrix keypad, uye LCD, hapana dambudziko, siya mune tsananguro yavo sezvo software inotarisira kuvagadzira. Iyo sisitimu ichashanda zvakanaka pamusoro peWiFi pasina ivo.
PaIDE, chiratidzo cheki (simbisa) chinonyatso "Gadzira". Dzvanya izvi uye iwe uchaona akasiyana mameseji achioneka (chero iwe wagonesa Verbose kuunganidzwa) sezvo sisitimu inounganidza akasiyana maraibhurari uye ichibatanidza zvese pamwechete. Kana zvese zvichishanda nemazvo, uye zvinofanirwa kana iwe ukatevera matanho ese ari pamusoro chaizvo, saka iwe unofanirwa kuona meseji yekubudirira ichioneka. Iwe wagadzirira kurova bhatani rekurudyi-museve (uploader), asi usati waita izvi, tarisa kuti wasarudza chaiyo COM port yebhodhi pasi peZvishandiso menyu.
Mushure mekubudirira kurodha (shandisa yakanaka mhando USB tambo) iwe zvakare unofanirwa kukumbira iyo Rodha ESP8266 Sketch Data menyu sarudzo pasi peZvishandiso. Izvi zvinoisa zviri mukati meiyo data folda pane mudziyo (ese mapeji eHTML).
Wapedza. Vhura serial yekutarisa, tinya bhatani reset uye iwe unofanirwa kuona bhutsu yemudziyo uye scan yeI2C zvishandiso. Iwe unogona ikozvino kubatana kwairi pamusoro peWifi, uye yakagadzirira waya kumusoro kune yayo magetsi board (motor shield).
Zvinyorwa / Zvishandiso
![]() |
ARDUINO IDE Gadzirira DCC Controller [pdf] Mirayiridzo IDE Set Up yeDCC Controller, IDE Set Up, Gadzira DCC Controller, DCC Controller IDE Set Up, DCC Controller. |