ARDUINO IDE DCC Controller üçün Quraşdırılır 

ARDUINO IDE Loqo

DCC nəzarətçi üçün Arduino IDE quraşdırma

Addım 1. IDE mühitinin qurulması. ESP lövhələrini yükləyin.

Arduino IDE-ni ilk dəfə quraşdırdığınız zaman o, yalnız ARM əsaslı lövhələri dəstəkləyir. ESP əsaslı lövhələr üçün dəstək əlavə etməliyik. -a keçin File… Üstünlüklər

IDE mühitinin qurulması. ESP lövhələrini yükləyin
IDE mühitinin qurulması. ESP lövhələrini yükləyin

Aşağıdakı bu sətri Əlavə Lövhələr Menecerinə daxil edin URLS qutusu. Qeyd edək ki, orada alt xətt var, boşluq yoxdur.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Kompilyasiya zamanı Verbose göstər deyən qutuyu da işarələyin. Bu, tərtib zamanı bir şey uğursuz olarsa, bizə daha çox məlumat verir.

Qeyd edək ki, yuxarıdakı xətt həm esp8266 cihazları, həm də daha yeni esp32 üçün dəstək əlavə edir. İki json sətri vergüllə ayrılır.
İndi lövhəni seçin versiya 2.7.4 şura menecerindən

DCC nəzarətçi üçün Arduino IDE quraşdırma

2.7.4 versiyasını quraşdırın. Bu işləyir. 3.0.0 və daha yüksək versiya bu layihə üçün işləmir. İndi Alətlər menyusuna qayıdın, istifadə edəcəyiniz lövhəni seçin. Bu layihə üçün ya nodeMCU 1.0, ya da WeMos D1R1 olacaq

DCC nəzarətçi üçün Arduino IDE quraşdırma

Burada WeMos D1R1 seçirik. (bunu Nanodan dəyişdirərək)

Addım 2. IDE mühitinin qurulması. ESP8266 Sketch Data Upload əlavəsini yükləyin.

HTML səhifələrini və digərlərini dərc etmək (yerləşdirmək) üçün bizə bu əlavəni yükləmək lazımdır files ESP cihazında. Bunlar layihə qovluğunuzdakı məlumat qovluğunda yaşayır https://github.com/esp8266/arduino-esp8266fs-plugin/releases
gedin URL yuxarıda və ESP8266FS-0.5.0.zip-i endirin.
Arduino qovluğunuzda Alətlər qovluğu yaradın. Zip məzmununu açın file bu Alətlər qovluğuna. Bununla sona çatmalısınız;

DCC nəzarətçi üçün Arduino IDE quraşdırma

Və Alətlər altında yeni menyu seçimi görünəcək...

DCC nəzarətçi üçün Arduino IDE quraşdırma

Həmin menyu seçimini işə salsanız, IDE məlumat qovluğunun məzmununu lövhəyə yükləyəcək. Yaxşı, ümumi ESP8266 istifadəsi üçün qurulmuş IDE mühitidir, indi bu xüsusi layihə üçün Arduino/Kitabxanalar qovluğuna bəzi kitabxanalar əlavə etməliyik.

Addım 3. Kitabxanaları yükləyin və əl ilə quraşdırın.

Bu kitabxanaları Github-dan endirməliyik; https://github.com/me-no-dev/ESPAsyncTCP

DCC nəzarətçi üçün Arduino IDE quraşdırma

Kodu klikləyin və sonra zip-i endirin. Yükləmələr qovluğuna gedəcək. Yükləmələrə daxil olun, zip-i tapın, açın və “ESPAsyncTCP” məzmun qovluğunu Arduino/kitabxanalara sürükləyin.
Qovluğun adı “-master” ilə bitirsə, “-master”i sondan silmək üçün adını dəyişdirin.
yəni yükləmələrdən

DCC nəzarətçi üçün Arduino IDE quraşdırma

ESPAsyncTCP-master üçün .zip-i açın və ESPAsyncTCP-master qovluğunu bunun içindən Arduino/Kitabxanalara dartın

DCC nəzarətçi üçün Arduino IDE quraşdırma

Qeyd: Arduino/kitabxanalar .zip versiyasından istifadə edə bilməz, siz istədiyiniz qovluğu açmaq (daşıyaraq) lazımdır. Bizə də lazımdır https://github.com/fmalpartida/New-LiquidCrystal
Zip-i yükləyin, sonra məzmununu Arduino/kitabxanalara sürükləyin və -master sonunu çıxarın.

Və nəhayət, bizə aşağıdakı linkdən ArduinoJson-5.13.5.zip lazımdır https://www.arduinolibraries.info/libraries/arduino-json

yükləyin və sonra zip məzmununu Arduino/kitabxanalara sürükləyin

Addım 4. Arduino Kitabxana Menecerindən istifadə edərək daha bir neçə kitabxana quraşdırın.

Bizə daha iki kitabxana lazımdır və bunlar daxili kitabxanaların seçimini saxlayan Arduino Kitabxana Menecerindən gəlir. Alətlərə keçin... Kitabxanaları idarə edin...

DCC nəzarətçi üçün Arduino IDE quraşdırma
DCC nəzarətçi üçün Arduino IDE quraşdırma

Adafruit INA1.0.3-un 219 versiyasından istifadə edin. Bu işləyir. 

Həm də

DCC nəzarətçi üçün Arduino IDE quraşdırma

2.1.0 versiyasını istifadə edin WebMarkus Sattler-dən rozetkalar, bu sınaqdan keçirilir və işləyir. Mən sonrakı versiyaları sınaqdan keçirməmişəm.
OK, belə ki, IDE-nin bu layihəni tərtib etməsi üçün lazım olan bütün kitabxanalar (aka istinadlar) bunlardır.

Addım 5. GitHub-dan ESP_DCC_Controller layihəsini yükləyin və IDE-də açın.

GitHub-a gedin və endirin https://github.com/computski/ESP_DCC_controller

Yaşıl "Kod" düyməsini basın və poçtu yükləyin. Sonra zipi açın file və məzmununu Arduino qovluğuna köçürün. Qovluq adındakı “-main” sonunu silmək üçün qovluğun adını dəyişin. Arduino qovluğunuzda ESP_ DCC_ nəzarətçi qovluğu ilə başa çatmalısınız. O, .INO ehtiva edəcək file, müxtəlif .H və .CPP files və məlumat qovluğu.

DCC nəzarətçi üçün Arduino IDE quraşdırma

.INO üzərinə iki dəfə klikləyin file layihəni Arduino IDE-də açmaq üçün.
Tərtib etməyə başlamazdan əvvəl tələblərinizə uyğun olaraq konfiqurasiya etməliyik...

Addım 6. Tələblərinizi Qlobal olaraq təyin edin. h

Bu layihə nodeMCU və ya WeMo-nun D1R1-ni dəstəkləyə bilər və o, həmçinin bir sıra müxtəlif elektrik lövhəsi (motor qalxanı) seçimlərini dəstəkləyə bilər, üstəlik, cari monitor, LCD displey və klaviatura kimi I2C avtobusunda cihazları dəstəkləyə bilər. Və nəhayət, bir qaçış çarxını da dəstəkləyə bilər (fırlanan kodlayıcı). Edə biləcəyiniz ən əsas quruluş WeMo-nun D1R1 və L298 motor qalxanıdır.
Qeyd edək ki, seçimi söndürməyin ən asan yolu #define ifadəsində onun adının qarşısına kiçik hərf n əlavə etməkdir.
#nNODEMCU_OPTION3-ü təyin edin
#nBOARD_ESP12_SHIELD-i müəyyən edin
#müəyyən edin WEMOS_D1R1_AND_L298_SHIELD
məsələnample, yuxarıdakı NODEMCU_OPTION3 n ilə deaktiv edilib, nBOARD_ESP12_SHIELD üçün də eyni. WEMOS_D1R1_AND_L298_SHIELD aktiv seçimdir və bu, kompilyatorun aşağıda sadalanan konfiqurasiyadan istifadə etməsinə səbəb olacaq.

Bu konfiqurasiyadan keçmək üçün: 

#elif təyin olundu(WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 L298 qalxanı ilə yığılmışdır, nəzərə alın ki, D1-R2 fərqli pinoutlara malik daha yeni modeldir*/
/*L298 qalxanında Əyləc keçidlərini kəsin. Bunlar tələb olunmur və biz onların I2C pinləri tərəfindən idarə olunmasını istəmirik, çünki bu, DCC siqnalını pozacaq.

Lövhədə Arduino forma faktoru var, sancaqlar aşağıdakı kimidir
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 ürək döyüntüsü və qaçış təkəri düyməsi (aktiv hi)
D3 GPIO5 DCC aktivləşdirin (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC siqnalı (dir.)
D6 GPIO12 DCC siqnalı (dir.)
D7 GPIO13 DCC aktivləşdirin (pwm)
D8 GPIO0 SDA, 12k çəkmə ilə
D9 GPIO2 SCL, 12k çəkmə ilə
D10 GPIO15 Jog2
yuxarıda göstərilənlər insanlar üçün qeydlərdir, hansı ESP GPIO-ların hansı funksiyaları yerinə yetirəcəyini bilmək imkanı verir. Qeyd edək ki, Arduino D1-D10 ilə GPIO xəritələri MCU D1-D10 qovşağından GPIO xəritələrinə fərqlidir */

#İSTİFADƏ_ANALOQ_ÖLÇÜMÜ müəyyən edin
#ANALOG_SALING 3.9-u təyin edin //A və B-dən paralel istifadə edərkən (multimetr RMS-ə uyğunlaşdırmaq üçün 2.36)
Biz ESP-də AD-dən istifadə edəcəyik, INA2-un söndürülməsi kimi xarici I219C cərəyan monitorinq cihazından deyil
INA219 istifadə etmək istəyirsinizsə, bunu n USE_ ANALOG_ MEASUREMENT ilə edin

#define PIN_HEARTBEAT 16 //və hərəkət təkəri düyməsi
#DCC_PINS-ləri təyin edin \
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};
Hansı pinlərin DCC siqnallarını idarə edəcəyini müəyyənləşdirir, fazada işləyən iki kanalımız var ki, onları birlikdə ümumiləşdirək. A kanalı dcc_ info [] və B kanalı dcc_ info A [] dir. Bunlar makrolar kimi müəyyən edilir və tərs xətt xəttin davamı işarəsidir.

#define PIN_SCL 2 //12k pullup
#PIN_SDA-nı təyin edin 0 //12k pullup
#PIN_JOG1 təyin et 4
#define PIN_JOG2 15 //12k açılan

I2C SCL/SDA-nı idarə edən pinləri (GPIO) və sonra 1 və 2-ci təkər girişlərini təyin edin

#KEYPAD_ADDRESS-i təyin edin 0x21 //pcf8574

pcf4 çipi ilə skan edilən isteğe bağlı 4 x 8574 matris klaviaturası üçün istifadə olunur.

//addr, en,rw,rs,d4,d5,d6,d7,arxa işıq, polarite. biz bunu 4 bitlik cihaz kimi istifadə edirik //mənim displeyim rs,rw,e,d0-d7-dir. yalnız d<4-7> istifadə olunur. <210> görünür, çünki <012> bitləri //EN,RW,RS kimi təsvir edilmişdir və biz onları aparatdakı faktiki sıraya görə yenidən sıralamalıyıq, 3 arxa işığa uyğunlaşdırılıb. <4-7> bel çantasında və displeydə həmin ardıcıllıqla görünür.

#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZİTİF); //YwRobot kürək çantası

2 LCD displeyini idarə edən I1602C bel çantasını təyin etmək və konfiqurasiya etmək üçün istifadə olunur (isteğe bağlı), bu, yumşaq konfiqurasiya edilə bilər və pin konfiqurasiyaları fərqli olan bir neçə kürək çantası mövcuddur.
#endif

Addım 7. Kompilyasiya edin və lövhəyə yükləyin.

İndi siz istifadə etmək istədiyiniz board kombinini konfiqurasiya etdiniz, layihəni tərtib edə bilərsiniz. Əgər siz 4×4 matris klaviaturasından və LCD-dən istifadə etmək fikrində deyilsinizsə, problem yoxdur, proqram təminatı onları konfiqurasiya etməyi gözlədiyi üçün onların təriflərini buraxın. Sistem onlar olmadan WiFi üzərindən yaxşı işləyəcək.
IDE-də işarə simvolu (yoxlayın) əslində “Tərtib et”dir. Bunun üzərinə klikləyin və sistem müxtəlif kitabxanaları tərtib edib hamısını bir-birinə bağlayan kimi müxtəlif mesajların görünəcəyini görəcəksiniz (Verbose kompilyasiyanı aktivləşdirmək şərti ilə). Hər şey yaxşı işləyirsə və yuxarıda göstərilən bütün addımları dəqiq şəkildə yerinə yetirmisinizsə, uğur mesajının göründüyünü görməlisiniz. İndi sağ ox (yüklə) düyməsini vurmağa hazırsınız, lakin bunu etməzdən əvvəl Alətlər menyusunda lövhə üçün düzgün COM portunu seçdiyinizi yoxlayın.
Uğurlu yükləmədən sonra (yaxşı keyfiyyətli USB kabeldən istifadə edin) siz də işə salmalısınız ESP8266 Sketch Data menyusunu yükləyin Alətlər altındakı seçim. Bu, məlumat qovluğunun məzmununu cihaza yerləşdirəcək (bütün HTML səhifələri).
Bitdin. Serial monitoru açın, sıfırlama düyməsini klikləyin və cihazın açılışını görməli və I2C cihazlarını skan etməlisiniz. İndi ona Wi-Fi vasitəsilə qoşula bilərsiniz və o, elektrik lövhəsinə (motor qalxanı) qoşulmağa hazırdır.

Sənədlər / Resurslar

ARDUINO IDE DCC Controller üçün Quraşdırılır [pdf] Təlimatlar
DCC Controller üçün IDE Setup, IDE Setup, DCC Controller üçün quraşdırma, DCC Controller IDE Setup, DCC Controller

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *