Sediakan IDE ARDUINO untuk Pengawal DCC
Persediaan IDE Arduino untuk pengawal DCC
Langkah 1. Persediaan persekitaran IDE. Muatkan papan ESP.
Apabila anda mula-mula memasang Arduino IDE, ia hanya menyokong papan berasaskan ARM. Kami perlu menambah sokongan untuk papan berasaskan ESP. Navigasi ke File… Keutamaan
Taipkan baris ini di bawah ke dalam Pengurus Papan Tambahan URLS kotak. Perhatikan terdapat garis bawah di dalamnya, tiada ruang. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Tandai juga kotak yang mengatakan Tunjukkan Verbose semasa penyusunan. Ini memberi kami lebih banyak maklumat jika ada sesuatu yang gagal semasa penyusunan.
Ambil perhatian bahawa baris di atas menambah sokongan untuk kedua-dua peranti esp8266 dan esp32 yang lebih baharu. Dua rentetan json dipisahkan dengan koma.
Sekarang pilih papan versi 2.7.4 daripada pengurus lembaga
Pasang versi 2.7.4. Ini berfungsi. Versi 3.0.0 dan lebih tinggi tidak berfungsi untuk projek ini. Sekarang, kembali ke menu Alat, pilih papan yang akan anda gunakan. Untuk projek ini ia akan menjadi sama ada nodeMCU 1.0 atau WeMos D1R1
Di sini kami memilih WeMos D1R1. (menukar ini daripada Nano)
Langkah 2. Persediaan persekitaran IDE. Muatkan tambahan Muat Naik Data Lakaran ESP8266.
Kami perlu memuatkan tambahan ini untuk membolehkan kami menerbitkan (meletakkan) halaman HTML dan lain-lain files pada peranti ESP. Ini tinggal dalam folder data di dalam folder projek anda https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Pergi ke URL di atas dan muat turun ESP8266FS-0.5.0.zip.
Buat folder Alat di dalam folder Arduino anda. Buka zip kandungan zip file ke folder Alat ini. Anda sepatutnya berakhir dengan ini;
Dan pilihan menu baharu akan muncul di bawah Alat…
Jika anda menggunakan pilihan menu itu, IDE akan memuat naik kandungan folder data ke papan. Ok jadi itulah persekitaran IDE yang disediakan untuk kegunaan umum ESP8266, sekarang kita perlu menambah beberapa perpustakaan ke folder Arduino/Libraries untuk projek khusus ini.
Langkah 3. Muat turun perpustakaan dan pasang secara manual.
Kita perlu memuat turun perpustakaan ini daripada Github; https://github.com/me-no-dev/ESPAsyncTCP
Klik pada kod, dan kemudian muat turun zip. Ia akan pergi ke folder muat turun anda. Pergi ke muat turun, cari zip, buka dan seret folder kandungan "ESPAsyncTCP" ke Arduino/pustaka.
Jika nama folder berakhir dengan "-master", kemudian namakannya untuk mengalih keluar "-master" dari hujungnya.
iaitu daripada muat turun
Buka .zip untuk ESPAsyncTCP-master, dan seret folder ESPAsyncTCP-master dari dalam ini ke Arduino/Libraries
Nota: Arduino/pustaka tidak boleh menggunakan versi .zip, anda perlu nyahzip (seret) folder yang dikehendaki ke atas. Kami juga perlukan https://github.com/fmalpartida/New-LiquidCrystal
Muat turun zip kemudian seret kandungannya ke Arduino/pustaka dan alih keluar -master ending.
Dan akhirnya, kami memerlukan ArduinoJson-5.13.5.zip dari pautan di bawah https://www.arduinolibraries.info/libraries/arduino-json
muat turun dan kemudian seret kandungan zip ke Arduino/pustaka
Langkah 4. Pasang beberapa lagi perpustakaan menggunakan Pengurus Perpustakaan Arduino.
Kami memerlukan dua lagi perpustakaan, dan ini datang daripada Pengurus Perpustakaan Arduino yang memegang pilihan perpustakaan terbina dalam. Pergi ke Alat… Urus Perpustakaan…
Gunakan versi 1.0.3 Adafruit INA219. Ini berfungsi.
Dan juga
Gunakan versi 2.1.0 daripada WebSoket dari Markus Sattler, ini diuji dan berfungsi. Saya belum menguji versi kemudian.
OK jadi itu sahaja perpustakaan (aka rujukan) yang IDE perlukan untuk menyusun projek ini.
Langkah 5. Muat turun projek ESP_DCC_Controller daripada GitHub dan buka dalam IDE.
Pergi ke GitHub dan muat turun https://github.com/computski/ESP_DCC_controller
Klik pada butang "Kod" hijau, dan muat turun zip. Kemudian buka zip file dan alihkan kandungannya ke folder Arduino. Namakan semula folder untuk mengalih keluar "-main" yang berakhir pada nama folder. Anda sepatutnya mempunyai folder ESP_ DCC_ pengawal dalam folder Arduino anda. Ia akan mengandungi .INO file, pelbagai .H dan .CPP files dan folder data.
Klik dua kali pada .INO file untuk membuka projek dalam IDE Arduino.
Sebelum kami menekan compile, kami perlu mengkonfigurasi kepada keperluan anda…
Langkah 6. Tetapkan keperluan anda dalam Global. h
Projek ini boleh menyokong nodeMCU atau D1R1 WeMo dan ia juga boleh menyokong beberapa pilihan papan kuasa (perisai motor) yang berbeza, serta ia boleh menyokong peranti pada bas I2C seperti monitor semasa, paparan LCD dan pad kekunci. Dan akhirnya ia juga boleh menyokong jogwheel (pengekod berputar). Binaan paling asas yang boleh anda lakukan ialah perisai motor D1R1 dan L298 WeMo.
Perhatikan cara paling mudah untuk melumpuhkan pilihan ialah menambah huruf kecil n di hadapan namanya dalam pernyataan #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#define WEMOS_D1R1_AND_L298_SHIELD
Untuk exampOleh itu, di atas NODEMCU_OPTION3 telah dilumpuhkan dengan n, yang sama untuk nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD ialah pilihan aktif, dan ini akan menyebabkan pengkompil menggunakan konfigurasi untuk ini seperti yang disenaraikan di bawah ke bawah.
Untuk berjalan melalui konfigurasi ini:
#elif ditakrifkan(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 disusun dengan perisai L298, ambil perhatian bahawa D1-R2 ialah model yang lebih baharu dengan pinout yang berbeza*/
/*Potong pelompat BRAKE pada perisai L298. Ini tidak diperlukan dan kami tidak mahu ia didorong oleh pin I2C kerana ia akan merosakkan isyarat DCC.
Papan mempunyai faktor bentuk Arduino, pin adalah seperti berikut
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 degupan jantung dan butang tekan jogwheel (aktif hi)
D3 GPIO5 DCC dayakan (pwm)
D4 GPIO4 Jog1
Isyarat D5 GPIO14 DCC (dir)
Isyarat D6 GPIO12 DCC (dir)
D7 GPIO13 DCC dayakan (pwm)
D8 GPIO0 SDA, dengan penarikan 12k
D9 GPIO2 SCL, dengan penarikan 12k
D10 GPIO15 Jog2
di atas adalah nota untuk manusia, membolehkan anda mengetahui ESP GPIO yang akan melaksanakan fungsi yang mana. Perhatikan bahawa Pemetaan Arduino D1-D10 ke GPIO berbeza dengan nod MCU D1-D10 ke pemetaan GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //apabila menggunakan A dan B secara selari (2.36 untuk memadankan multimeter RMS)
Kami akan menggunakan AD pada ESP dan bukan peranti pemantauan semasa I2C luaran seperti nyahdayakan INA219
ini dengan n USE_ ANALOG_ MEASUREMENT jika anda ingin menggunakan INA219
#define PIN_HEARTBEAT 16 //dan butang tekan jogwheel
#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 };
Mentakrifkan pin yang akan memacu isyarat DCC, kami mempunyai dua saluran, berjalan dalam fasa supaya kami boleh menggabungkannya bersama-sama. A-channel ialah dcc_ info [] dan B-channel ialah dcc_ info A []. Ini ditakrifkan sebagai makro dan garis miring ke belakang ialah penanda kesinambungan baris.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown
Tentukan pin (GPIO) yang memacu I2C SCL/SDA dan kemudian juga input jogwheel 1 dan 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Digunakan untuk papan kekunci matriks 4 x 4 pilihan, yang diimbas menggunakan cip pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,lampu latar, kekutuban. kami menggunakan ini sebagai peranti 4 bit //pinout paparan saya ialah rs,rw,e,d0-d7. hanya d<4-7> digunakan. <210> muncul kerana bit <012> //dipetakan sebagai EN,RW,RS dan kita perlu menyusunnya semula mengikut susunan sebenar pada perkakasan, 3 dipetakan //ke lampu latar. <4-7> muncul dalam susunan itu pada beg galas dan pada paparan.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIF); //Beg galas YwRobot
Digunakan untuk mentakrif dan mengkonfigurasi beg galas I2C yang memacu paparan LCD 1602 (pilihan), ini boleh dikonfigurasikan lembut dan terdapat beberapa beg galas tersedia yang konfigurasi pinnya berbeza-beza.
#endif
Langkah 7. Susun dan muat naik ke papan.
Sekarang anda telah mengkonfigurasi kombo papan yang anda ingin gunakan, anda boleh menyusun projek itu. Jika anda tidak berhasrat untuk menggunakan pad kekunci matriks 4×4 dan LCD, tiada masalah, biarkan dalam definisinya kerana perisian menjangkakan untuk mengkonfigurasinya. Sistem ini akan berfungsi dengan baik melalui WiFi tanpanya.
Pada IDE, simbol semak (sahkan) sebenarnya "Kompilasi". Klik ini dan anda akan melihat pelbagai mesej muncul (dengan syarat anda mendayakan kompilasi Verbose) semasa sistem menyusun pelbagai perpustakaan dan memautkannya bersama-sama. Jika semuanya berfungsi dengan baik, dan sepatutnya jika anda mengikuti semua langkah di atas dengan tepat, maka anda akan melihat mesej kejayaan muncul. Anda kini bersedia untuk menekan butang anak panah kanan (muat naik), tetapi sebelum anda melakukan ini, pastikan anda telah memilih port COM yang betul untuk papan di bawah menu Alat.
Selepas muat naik yang berjaya (gunakan kabel USB berkualiti baik) anda juga perlu menggunakan Muatkan menu Data Lakaran ESP8266 pilihan di bawah Alat. Ini akan meletakkan kandungan folder data pada peranti (semua halaman HTML).
Anda sudah selesai. Buka monitor bersiri, klik butang set semula dan anda akan melihat but peranti dan imbas untuk peranti I2C. Anda kini boleh menyambung kepadanya melalui Wifi, dan ia bersedia untuk menyambung ke papan kuasanya (perisai motor).
Dokumen / Sumber
![]() |
Sediakan IDE ARDUINO untuk Pengawal DCC [pdf] Arahan Sediakan IDE untuk Pengawal DCC, Sediakan IDE, Sediakan untuk Pengawal DCC, Sediakan IDE Pengawal DCC, Pengawal DCC |