DCC Denetleyicisi için ARDUINO IDE Kurulumu

DCC denetleyicisi için Arduino IDE kurulumu
Adım 1. IDE ortamı kurulumu. ESP kartlarını yükleyin.
Arduino IDE'yi ilk kurduğunuzda, yalnızca ARM tabanlı kartları destekler. ESP tabanlı kartlar için destek eklememiz gerekiyor. Şu yöne rotayı ayarla File… Tercihler


Aşağıdaki satırı Ek Panolar Yöneticisine yazın URLS kutusu. İçinde alt çizgi olduğuna dikkat edin, boşluk yok. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Ayrıca derleme sırasında Ayrıntılı Göster yazan kutuyu da işaretleyin. Derleme sırasında bir şey başarısız olursa bu bize daha fazla bilgi verir.
Yukarıdaki satırın hem esp8266 aygıtları hem de daha yeni esp32 için destek eklediğini unutmayın. İki json dizisi virgülle ayrılır.
Şimdi panoyu seçin sürüm 2.7.4 pano yöneticisinden

2.7.4 sürümünü yükleyin. Bu çalışıyor. Sürüm 3.0.0 ve üstü bu proje için çalışmıyor. Şimdi, Araçlar menüsüne geri dönün, kullanacağınız tahtayı seçin. Bu proje için nodeMCU 1.0 veya WeMos D1R1 olacaktır.

Burada WeMos D1R1'i seçiyoruz. (bunu Nano'dan değiştirerek)
Adım 2. IDE ortamı kurulumu. ESP8266 Sketch Data Upload eklentisini yükleyin.
HTML sayfalarını ve diğerlerini yayınlamamıza (koymamıza) izin vermek için bu eklentiyi yüklememiz gerekiyor. fileESP cihazında. Bunlar, proje klasörünüzün içindeki veri klasöründe bulunur. https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Git URL yukarıya gidin ve ESP8266FS-0.5.0.zip dosyasını indirin.
Arduino klasörünüzün içinde bir Araçlar klasörü oluşturun. Zip içeriğini açın file bu Araçlar klasörüne. Bununla bitirmelisin;

Ve Araçlar altında yeni bir menü seçeneği görünecektir…

Bu menü seçeneğini çağırırsanız, IDE veri klasörünün içeriğini panoya yükleyecektir. Tamam, bu genel ESP8266 kullanımı için ayarlanmış IDE ortamı, şimdi bu özel proje için Arduino/Libraries klasörüne bazı kütüphaneler eklememiz gerekiyor.
Adım 3. Kitaplıkları indirin ve manuel olarak kurun.
Bu kütüphaneleri Github'dan indirmemiz gerekiyor; https://github.com/me-no-dev/ESPAsyncTCP

Kodu tıklayın ve ardından zip'i indirin. İndirilenler klasörünüze gidecektir. İndirmelere gidin, zip dosyasını bulun, açın ve “ESPAsyncTCP” içerik klasörünü Arduino/libraries'e sürükleyin.
Klasör adı “-master” ile bitiyorsa, sondaki “-master”ı kaldırmak için yeniden adlandırın.
yani indirmelerden

ESPAsyncTCP-master için .zip dosyasını açın ve ESPAsyncTCP-master klasörünü bunun içinden Arduino/Libraries'e sürükleyin

Not: Arduino/kütüphaneler .zip sürümünü kullanamaz, istediğiniz klasörü açmanız (sürüklemeniz) gerekir. Ayrıca ihtiyacımız var https://github.com/fmalpartida/New-LiquidCrystal
Zip dosyasını indirin, ardından içeriğini Arduino/libraries'e sürükleyin ve -master sonunu kaldırın.
Ve son olarak aşağıdaki linkten ArduinoJson-5.13.5.zip dosyasına ihtiyacımız var. https://www.arduinolibraries.info/libraries/arduino-json
zip içeriğini indirin ve ardından Arduino/kütüphanelere sürükleyin
Adım 4. Arduino Library Manager'ı kullanarak birkaç kütüphane daha kurun.
İki kitaplığa daha ihtiyacımız var ve bunlar, çeşitli yerleşik kitaplıkların bulunduğu Arduino Library Manager'dan geliyor. Araçlar'a gidin... Kitaplıkları Yönetin...


Adafruit INA1.0.3'un 219 sürümünü kullanın. Bu çalışıyor.
Ve ayrıca

2.1.0 sürümünü kullanın WebMarkus Sattler'dan soketler, bu test edildi ve çalışıyor. Daha sonraki sürümleri test etmedim.
Tamam, IDE'nin bu projeyi derlemesi için ihtiyaç duyduğu tüm kitaplıklar (referanslar olarak da bilinir) bu kadar.
Adım 5. ESP_DCC_Controller projesini GitHub'dan indirin ve IDE'de açın.
GitHub'a gidin ve indirin https://github.com/computski/ESP_DCC_controller
Yeşil “Kod” düğmesine tıklayın ve zip dosyasını indirin. Sonra zip'i aç file ve içeriğini Arduino klasörüne taşıyın. Klasör adındaki “-main” sonunu kaldırmak için klasörü yeniden adlandırın. Arduino klasörünüzde bir klasör ESP_ DCC_ denetleyicisi ile sonuçlanmalısınız. Bir .INO içerecektir file, çeşitli .H ve .CPP files ve bir veri klasörü.

.INO'ya çift tıklayın file Arduino IDE'de projeyi açmak için.
Derlemeye başlamadan önce, gereksinimlerinize göre yapılandırmamız gerekiyor…
Adım 6. Gereksinimlerinizi Global'de belirleyin. H
Bu proje, nodeMCU'yu veya WeMo'nun D1R1'ini destekleyebilir ve ayrıca bir dizi farklı güç kartı (motor kalkanı) seçeneğini destekleyebilir, ayrıca akım monitörü, LCD ekran ve tuş takımı gibi bir I2C veri yolu üzerindeki cihazları destekleyebilir. Ve son olarak, bir jogwheel'i (döner kodlayıcı) da destekleyebilir. Yapabileceğiniz en temel yapı, bir WeMo'nun D1R1 ve L298 motor kalkanıdır.
Bir seçeneği devre dışı bırakmanın en kolay yolunun, #define ifadesinde adının önüne küçük harf n eklemek olduğunu unutmayın.
#nNODEMCU_OPTION3'ü tanımlayın
#nBOARD_ESP12_SHIELD'i tanımla
#tanımlamak WEMOS_D1R1_VE_L298_KALKANI
Örneğinample, yukarıdaki NODEMCU_OPTION3, nBOARD_ESP12_SHIELD için aynı olan n ile devre dışı bırakıldı. WEMOS_D1R1_AND_L298_SHIELD etkin seçenektir ve bu, derleyicinin aşağıda listelendiği gibi bunun için yapılandırmayı kullanmasına neden olur.
Bu yapılandırmada gezinmek için:
#elif tanımlı(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1, L298 shield ile birleştirilmiştir, D1-R2'nin farklı pin çıkışlarına sahip daha yeni bir model olduğunu unutmayın*/
/*L298 koruması üzerindeki BRAKE atlama tellerini kesin. Bunlar gerekli değildir ve DCC sinyalini bozacağı için bunların I2C pinleri tarafından sürülmesini istemiyoruz.
Kart bir Arduino form faktörüne sahiptir, pimler aşağıdaki gibidir
D0 GPIO3 Alıcı
D1 GPIO1 TX
D2 GPIO16 kalp atışı ve jogwheel basma düğmesi (aktif hi)
D3 GPIO5 DCC etkinleştirme (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC sinyali (yön)
D6 GPIO12 DCC sinyali (yön)
D7 GPIO13 DCC etkinleştirme (pwm)
D8 GPIO0 SDA, 12k çekme ile
D9 GPIO2 SCL, 12k çekmeli
D10 GPIO15 Jog2
Yukarıdakiler insanlar için notlardır, hangi ESP GPIO'larının hangi işlevleri yerine getireceğini bilmenizi sağlar. Not Arduino D1-D10 - GPIO eşlemeleri, MCU D1-D10 - GPIO eşlemeleri düğümünden farklıdır */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //A ve B'yi paralel olarak kullanırken (multimetre RMS ile eşleştirmek için 2.36)
AD'yi ESP'de kullanacağız ve INA2 devre dışı bırakma gibi harici bir I219C akım izleme cihazı kullanmayacağız
INA219 kullanmak istiyorsanız bunu n USE_ ANALOG_ MEASUREMENT ile yapın
#define PIN_HEARTBEAT 16 //ve jogwheel buton
#define DCC_PINS \
uint32 dcc_info[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12, 12, 0 }; \
uint32 etkinleştirme_bilgisi[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO5, 5 , 0 }; \
uint32 dcc_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO14, 14, 0 }; \
uint32 etkinleştirme_bilgiA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO13,13 , 0 };
Hangi pinlerin DCC sinyallerini süreceğini tanımlar, faz içi çalışan iki kanalımız var, böylece bunları birlikte ortak yapabiliriz. A-kanalı dcc_ info [] ve B-kanalı dcc_ info A []. Bunlar makro olarak tanımlanır ve ters eğik çizgi bir satır devam işaretidir.
#define PIN_SCL 2 //12k çekme
#define PIN_SDA 0 //12k çekme
#PIN_JOG1 4'ü tanımla
#define PIN_JOG2 15 //12k açılan
I2C SCL/SDA'yı ve ardından jogwheel girişleri 1 ve 2'yi çalıştıran pimleri (GPIO'lar) tanımlayın
#KEYPAD_ADDRESS 0x21 //pcf8574 tanımlayın
Bir pcf4 yongası kullanılarak taranan isteğe bağlı 4 x 8574 matris tuş takımı için kullanılır
//addr, en,rw,rs,d4,d5,d6,d7,arka ışık, polarite. bunu 4 bitlik bir cihaz olarak kullanıyoruz //ekran pinim rs,rw,e,d0-d7. sadece d<4-7> kullanılır. <210> görünür çünkü <012> bitleri EN,RW,RS olarak //eşlenir ve bunları donanımdaki gerçek sıraya göre yeniden sıralamamız gerekir, 3 arka ışıkla eşlenir //. Sırt çantasında ve ekranda sırasıyla <4-7> görünür.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZİTİF); //YwRobot sırt çantası
2 LCD ekranı (isteğe bağlı) çalıştıran I1602C sırt çantasını tanımlamak ve yapılandırmak için kullanılır, bu yazılımla yapılandırılabilir ve pim konfigürasyonları değişen birkaç sırt çantası mevcuttur.
#bitti
Adım 7. Derleyin ve panoya yükleyin.
Artık kullanmayı düşündüğünüz board combo'yu yapılandırdınız, projeyi derleyebilirsiniz. 4×4 matris tuş takımını ve LCD'yi kullanmayı düşünmüyorsanız, sorun değil, yazılımın yapılandırmayı beklediği gibi tanımlarını bırakın. Sistem onlarsız WiFi üzerinden iyi çalışacaktır.
IDE'de, onay simgesi (doğrulama) aslında "Derleme"dir. Buna tıklayın ve sistem çeşitli kitaplıkları derlerken ve hepsini birbirine bağlarken (Ayrıntılı derlemeyi etkinleştirmeniz koşuluyla) çeşitli mesajların göründüğünü göreceksiniz. Her şey yolunda giderse ve yukarıdaki tüm adımları tam olarak takip ettiyseniz olması gerekir, o zaman bir başarı mesajının göründüğünü görmelisiniz. Artık sağ ok (yükleme) düğmesine basmaya hazırsınız, ancak bunu yapmadan önce, Araçlar menüsü altında kart için doğru COM bağlantı noktasını seçtiğinizden emin olun.
Başarılı bir yüklemeden sonra (kaliteli bir USB kablosu kullanın) ESP8266 Çizim Verileri menüsünü yükle Araçlar altındaki seçenek. Bu, veri klasörünün içeriğini cihaza (tüm HTML sayfaları) koyacaktır.
Bitirdiniz. Seri monitörü açın, sıfırlama düğmesine tıklayın ve cihazın önyüklemesini ve I2C cihazlarını taramasını görmelisiniz. Artık ona Wifi üzerinden bağlanabilirsiniz ve güç kartına (motor kalkanı) bağlanmaya hazırdır.
Belgeler / Kaynaklar
![]() |
DCC Denetleyicisi için ARDUINO IDE Kurulumu [pdf] Talimatlar DCC Kontrol Cihazı için IDE Kurulumu, IDE Kurulumu, DCC Kontrol Cihazı Kurulumu, DCC Kontrol Cihazı IDE Kurulumu, DCC Kontrol Cihazı Kurulumu |




