ARDUINO IDE Set Up kanggo DCC Controller
Arduino IDE set-up kanggo DCC controller
Langkah 1. IDE lingkungan set-up. Muat papan ESP.
Nalika sampeyan nginstal IDE Arduino, mung ndhukung papan adhedhasar ARM. We kudu nambah support kanggo Papan adhedhasar ESP. Navigasi menyang File… Preferensi
Ketik baris iki ing ngisor iki menyang Manajer Papan Tambahan URLS kothak. Elinga yen ana garis ngisor, ora ana spasi. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Uga priksa kothak sing ujar Tampilake Verbose sajrone kompilasi. Iki menehi informasi luwih lengkap yen ana sing gagal sajrone kompilasi.
Elinga yen baris ing ndhuwur nambah dhukungan kanggo piranti esp8266 lan esp32 sing luwih anyar. Loro string json dipisahake karo koma.
Saiki pilih papan versi 2.7.4 saka manajer papan
Instal versi 2.7.4. Iki bisa. Versi 3.0.0 lan luwih dhuwur ora bisa digunakake kanggo proyek iki. Saiki, bali menyang menu Alat, pilih papan sing bakal digunakake. Kanggo proyek iki bakal dadi salah siji nodeMCU 1.0 utawa WeMos D1R1
Ing kene kita milih WeMos D1R1. (Ngganti iki saka Nano)
Langkah 2. IDE lingkungan set-up. Muat ESP8266 Sketsa Data Upload add-in.
Kita kudu mbukak add-in iki kanggo ngidini kita nerbitake (sijine) kaca HTML lan liya-liyane files ing piranti ESP. Iki manggon ing folder data ing folder proyek sampeyan https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Pindhah menyang URL ndhuwur lan download ESP8266FS-0.5.0.zip.
Gawe folder Alat ing folder Arduino sampeyan. Unzip isi zip file menyang folder Tools iki. Sampeyan kudu mungkasi munggah karo iki;
Lan pilihan menu anyar bakal katon ing Tools ...
Yen sampeyan njaluk pilihan menu kasebut, IDE bakal ngunggah isi folder data menyang papan. Ok supaya lingkungan IDE nyiyapake kanggo umum ESP8266 nggunakake, saiki kita kudu nambah sawetara perpustakaan kanggo Arduino / folder Pustaka kanggo proyek tartamtu iki.
Langkah 3. Ngundhuh perpustakaan lan instal kanthi manual.
Kita kudu ngundhuh perpustakaan kasebut saka Github; https://github.com/me-no-dev/ESPAsyncTCP
Klik ing kode, banjur download zip. Bakal pindhah menyang folder download sampeyan. Bukak download, temokake zip, bukak banjur seret folder konten "ESPAsyncTCP" menyang Arduino / perpustakaan.
Yen jeneng folder rampung karo "-master", banjur ganti jeneng kanggo mbusak "-master" saka mburi.
ie saka downloads
Bukak .zip kanggo ESPAsyncTCP-master, lan seret folder ESPAsyncTCP-master saka njero iki kanggo Arduino/Libraries
Cathetan: Arduino / perpustakaan ora bisa nggunakake versi .zip, sampeyan kudu unzip (seret) folder sing dipengini liwat. Kita uga butuh https://github.com/fmalpartida/New-LiquidCrystal
Download zip banjur seret isi menyang Arduino / perpustakaan lan mbusak -master pungkasan.
Lan pungkasanipun, kita kudu ArduinoJson-5.13.5.zip saka link ing ngisor iki https://www.arduinolibraries.info/libraries/arduino-json
download banjur seret isi zip menyang Arduino / perpustakaan
Langkah 4. Instal saperangan perpustakaan liyane nggunakake Arduino Library Manager.
We kudu loro perpustakaan liyane, lan iki teka saka Arduino Library Manager kang ngemu pilihan saka perpustakaan dibangun ing. Pindhah menyang Alat… Atur Pustaka…
Gunakake versi 1.0.3 saka Adafruit INA219. Iki bisa.
Lan uga
Gunakake versi 2.1.0 saka WebSockets saka Markus Sattler, iki dites lan bisa digunakake. Aku durung nyoba versi mengko.
OK dadi kabeh perpustakaan (alias referensi) sing IDE perlu kanggo ngumpulake proyek iki.
Langkah 5. Download proyek ESP_DCC_Controller saka GitHub lan mbukak ing IDE.
Pindhah menyang GitHub lan download https://github.com/computski/ESP_DCC_controller
Klik ing tombol ijo "Kode", lan download zip. Banjur mbukak zip file lan mindhah isi menyang folder Arduino. Ganti jeneng folder kanggo mbusak "-utama" pungkasan ing jeneng folder. Sampeyan kudu mungkasi karo folder ESP_ DCC_ controller ing folder Arduino. Iku bakal ngemot .INO file, macem-macem .H lan .CPP files lan folder data.
Klik kaping pindho ing .INO file kanggo mbukak proyek ing Arduino IDE.
Sadurunge ngetung kompilasi, kita kudu ngatur kanggo syarat sampeyan ...
Langkah 6. Setel syarat ing Global. h
Proyek iki bisa ndhukung nodeMCU utawa WeMo's D1R1 lan uga bisa ndhukung sawetara opsi papan daya (perisai motor) sing beda-beda, uga bisa ndhukung piranti ing bis I2C kayata monitor saiki, tampilan LCD lan keypad. Lan pungkasane uga bisa ndhukung jogwheel (rotary encoder). Bangunan paling dhasar sing bisa ditindakake yaiku tameng motor WeMo D1R1 lan L298.
Wigati cara paling gampang kanggo mateni pilihan yaiku nambah huruf cilik n ing ngarepe jenenge ing statement #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#netepake WEMOS_D1R1_AND_L298_SHIELD
Kanggo example, ndhuwur NODEMCU_OPTION3 wis dipatèni karo n, padha kanggo nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD pilihan aktif, lan iki bakal nimbulaké compiler nggunakake konfigurasi iki minangka kadhaptar ngisor mudhun.
Kanggo mlaku liwat konfigurasi iki:
#elif ditetepake(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 ditumpuk nganggo tameng L298, catheten yen D1-R2 minangka model anyar kanthi pinout sing beda-beda*/
/ * Cut jumper BRAKE ing tameng L298. Iki ora dibutuhake lan kita ora pengin didorong dening pin I2C amarga bakal ngrusak sinyal DCC.
Papan kasebut nduweni faktor wangun Arduino, pin kaya ing ngisor iki
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 detak jantung lan tombol tekan jogwheel (aktif hi)
D3 GPIO5 DCC ngaktifake (pwm)
D4 GPIO4 Jog1
Sinyal D5 GPIO14 DCC (dir)
Sinyal D6 GPIO12 DCC (dir)
D7 GPIO13 DCC ngaktifake (pwm)
D8 GPIO0 SDA, karo 12k pullup
D9 GPIO2 SCL, karo 12k pullup
D10 GPIO15 Jog2
ndhuwur iku cathetan kanggo manungsa, ngijini sampeyan ngerti kang ESP GPIOs bakal nindakake kang fungsi. Elinga yen ing Arduino D1-D10 kanggo pemetaan GPIO beda karo simpul MCU D1-D10 kanggo pemetaan GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //nalika nggunakake A lan B ing podo karo (2.36 kanggo cocog multimeter RMS)
Kita bakal nggunakake AD ing ESP lan dudu piranti ngawasi saiki I2C eksternal kayata mateni INA219
iki nganggo n USE_ ANALOG_ MEASUREMENT yen sampeyan pengin nggunakake INA219
#define PIN_HEARTBEAT 16 //lan 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};
Nemtokake pin sing bakal nyopir sinyal DCC, kita duwe rong saluran, mlaku ing fase supaya bisa umum bebarengan. A-channel punika dcc_ info [] lan B-channel punika dcc_ info A []. Iki ditetepake minangka makro lan garis miring minangka panandha kelanjutan garis.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#netepake PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown
Netepake pin (GPIO) sing nyopir I2C SCL/SDA lan uga input jogwheel 1 lan 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Digunakake kanggo keypad matriks 4 x 4 opsional, sing dipindai nggunakake chip pcf8574
// addr, en, rw, rs, d4, d5, d6, d7, lampu latar, polaritas. kita nggunakake iki minangka piranti 4 bit // tampilan pinout sandi punika rs, rw, e, d0-d7. mung d<4-7> digunakake. <210> katon amarga bit <012> // dipetakan minangka EN, RW, RS lan kita kudu ngatur maneh saben urutan nyata ing hardware, 3 dipetakan // menyang lampu latar. <4-7> katon ing urutan kasebut ing tas ransel lan ing tampilan.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIF); //Ransel YwRobot
Digunakake kanggo netepake lan ngatur tas ransel I2C sing drive 1602 tampilan LCD (opsional), iki softconfigurable lan ana sawetara tas ransel kasedhiya kang konfigurasi pin beda-beda.
#endif
Langkah 7. Compile lan upload menyang Papan.
Saiki sampeyan wis ngatur combo Papan sing arep digunakake, sampeyan bisa ngumpulake project. Yen sampeyan ora arep nggunakake 4 × 4 keypad matriks, lan LCD, ora masalah, ninggalake ing definisi minangka lunak ngarepake kanggo ngatur. Sistem bakal bisa digunakake kanthi apik liwat WiFi tanpa kasebut.
Ing IDE, simbol obah (verifikasi) bener "Kompilasi". Klik iki lan sampeyan bakal weruh macem-macem pesen katon (yen sampeyan ngaktifake kompilasi Verbose) nalika sistem nglumpukake macem-macem perpustakaan lan nyambungake kabeh. Yen kabeh bisa digunakake, lan yen sampeyan ngetutake kabeh langkah ing ndhuwur kanthi bener, sampeyan bakal weruh pesen sukses katon. Sampeyan saiki wis siyap mencet tombol panah tengen (upload), nanging sadurunge nindakake iki, priksa manawa sampeyan wis milih port COM sing bener kanggo papan ing menu Alat.
Sawise upload sukses (nggunakake kabel USB kualitas apik) sampeyan uga kudu nimbali Muat menu Data Sketsa ESP8266 pilihan ing Tools. Iki bakal nyelehake isi folder data menyang piranti (kabeh kaca HTML).
Sampeyan wis rampung. Bukak monitor serial, klik tombol reset lan sampeyan kudu ndeleng boot piranti lan mindhai piranti I2C. Sampeyan saiki bisa nyambung liwat Wifi, lan siap kanggo kabel nganti papan daya (motor tameng).
Dokumen / Sumber Daya
![]() |
ARDUINO IDE Set Up kanggo DCC Controller [pdf] Pandhuan IDE Set Up kanggo DCC Controller, IDE Set Up, Set Up kanggo DCC Controller, DCC Controller IDE Set Up, DCC Controller |