ARDUINO IDE დაყენება DCC კონტროლერისთვის 

ARDUINO IDE ლოგო

Arduino IDE დაყენება DCC კონტროლერისთვის

ნაბიჯი 1. IDE გარემოს დაყენება. ჩატვირთეთ ESP დაფები.

როდესაც პირველად დააინსტალირებთ Arduino IDE-ს, ის მხარს უჭერს მხოლოდ ARM დაფებს. ჩვენ უნდა დავამატოთ მხარდაჭერა ESP-ზე დაფუძნებული დაფებისთვის. ნავიგაცია File… პრეფერენციები

IDE გარემოს დაყენება. ჩატვირთეთ ESP დაფები
IDE გარემოს დაყენება. ჩატვირთეთ ESP დაფები

ჩაწერეთ ეს ხაზი ქვემოთ დამატებითი დაფების მენეჯერში URLS ყუთი. გაითვალისწინეთ, რომ მასში ხაზგასმულია, არ არის სივრცეები.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
ასევე მონიშნეთ ველი, რომელშიც ნათქვამია, რომ შედგენისას აჩვენე ვერბოზა. ეს გვაძლევს მეტ ინფორმაციას, თუ რამე ვერ ხერხდება შედგენის დროს.

გაითვალისწინეთ, რომ ზემოთ მოცემული ხაზი ამატებს მხარდაჭერას როგორც esp8266 მოწყობილობებისთვის, ასევე უფრო ახალი esp32-ისთვის. ორი json სტრიქონი გამოყოფილია მძიმით.
ახლა აირჩიეთ დაფა ვერსია 2.7.4 საბჭოს მენეჯერისგან

Arduino IDE დაყენება DCC კონტროლერისთვის

დააინსტალირეთ ვერსია 2.7.4. ეს მუშაობს. ვერსია 3.0.0 და უფრო მაღალი არ მუშაობს ამ პროექტისთვის. ახლა ისევ ინსტრუმენტების მენიუში აირჩიეთ დაფა, რომელსაც გამოიყენებთ. ამ პროექტისთვის ეს იქნება ან nodeMCU 1.0 ან WeMos D1R1

Arduino IDE დაყენება DCC კონტროლერისთვის

აქ ვირჩევთ WeMos D1R1. (ამის შეცვლა ნანოდან)

ნაბიჯი 2. IDE გარემოს დაყენება. ESP8266 Sketch Data Upload დანამატის ჩატვირთვა.

ჩვენ უნდა ჩავტვირთოთ ეს დანამატი, რათა მოგვცეს გამოქვეყნების (დასმის) HTML გვერდები და სხვა files ESP მოწყობილობაზე. ისინი ცხოვრობენ მონაცემთა საქაღალდეში თქვენი პროექტის საქაღალდეში https://github.com/esp8266/arduino-esp8266fs-plugin/releases
გადადით URL ზემოთ და ჩამოტვირთეთ ESP8266FS-0.5.0.zip.
შექმენით Tools საქაღალდე თქვენს Arduino საქაღალდეში. გახსენით zip-ის შინაარსი file ამ Tools საქაღალდეში. თქვენ უნდა დაასრულოთ ამით;

Arduino IDE დაყენება DCC კონტროლერისთვის

და მენიუს ახალი ვარიანტი გამოჩნდება ინსტრუმენტების ქვეშ…

Arduino IDE დაყენება DCC კონტროლერისთვის

თუ თქვენ გამოიძახებთ მენიუს ამ პარამეტრს, IDE ატვირთავს მონაცემთა საქაღალდის შიგთავსს დაფაზე. კარგი, ასე რომ, ეს არის IDE გარემო დაყენებული ზოგადი ESP8266 გამოყენებისთვის, ახლა ჩვენ გვჭირდება რამდენიმე ბიბლიოთეკის დამატება Arduino/Libraries საქაღალდეში ამ კონკრეტული პროექტისთვის.

ნაბიჯი 3. ჩამოტვირთეთ ბიბლიოთეკები და ხელით დააინსტალირეთ.

ეს ბიბლიოთეკები უნდა გადმოვწეროთ Github-დან; https://github.com/me-no-dev/ESPAsyncTCP

Arduino IDE დაყენება DCC კონტროლერისთვის

დააწკაპუნეთ კოდზე და შემდეგ ჩამოტვირთეთ zip. ის გადავა თქვენს ჩამოტვირთვების საქაღალდეში. გადადით ჩამოტვირთვებში, იპოვეთ zip, გახსენით და გადაიტანეთ შინაარსის საქაღალდე „ESPAsyncTCP“ Arduino/libraries-ში.
თუ საქაღალდის სახელი მთავრდება „-master“-ით, მაშინ გადაარქვით სახელი, რათა ბოლოდან ამოიღოთ „-master“.
ანუ ჩამოტვირთვებიდან

Arduino IDE დაყენება DCC კონტროლერისთვის

გახსენით .zip ESPAsyncTCP-master-ისთვის და გადაიტანეთ ESPAsyncTCP-master საქაღალდე ამ შიგნიდან Arduino/Libraries-ში

Arduino IDE დაყენება DCC კონტროლერისთვის

შენიშვნა: Arduino/libraries ვერ გამოიყენებენ .zip ვერსიას, თქვენ უნდა გახსნათ (გადაათრიეთ) სასურველი საქაღალდე. ჩვენც გვჭირდება https://github.com/fmalpartida/New-LiquidCrystal
ჩამოტვირთეთ zip, შემდეგ გადაიტანეთ მისი შინაარსი Arduino/libraries-ში და წაშალეთ -master ending.

და ბოლოს, ჩვენ გვჭირდება ArduinoJson-5.13.5.zip ქვემოთ მოცემული ბმულიდან https://www.arduinolibraries.info/libraries/arduino-json

ჩამოტვირთეთ და შემდეგ გადაიტანეთ zip შიგთავსი Arduino/libraries-ში

ნაბიჯი 4. დააინსტალირეთ კიდევ რამდენიმე ბიბლიოთეკა Arduino Library Manager-ის გამოყენებით.

ჩვენ გვჭირდება კიდევ ორი ​​ბიბლიოთეკა და ეს მოდის Arduino ბიბლიოთეკის მენეჯერისგან, რომელიც შეიცავს ჩაშენებული ბიბლიოთეკების არჩევანს. გადადით ინსტრუმენტებზე… ბიბლიოთეკების მართვა…

Arduino IDE დაყენება DCC კონტროლერისთვის
Arduino IDE დაყენება DCC კონტროლერისთვის

გამოიყენეთ Adafruit INA1.0.3-ის 219 ვერსია. ეს მუშაობს. 

და ასევე

Arduino IDE დაყენება DCC კონტროლერისთვის

გამოიყენეთ ვერსია 2.1.0 Webსოკეტები მარკუს სატლერისგან, ეს არის გამოცდილი და მუშაობს. მე არ გამომიცდია შემდგომი ვერსიები.
კარგი, ასე რომ, ეს არის ყველა ბიბლიოთეკა (ანუ ცნობები), რომელიც IDE-ს სჭირდება ამ პროექტის შედგენისთვის.

ნაბიჯი 5. ჩამოტვირთეთ ESP_DCC_Controller პროექტი GitHub-დან და გახსენით IDE-ში.

გადადით GitHub-ზე და გადმოწერეთ https://github.com/computski/ESP_DCC_controller

დააჭირეთ მწვანე ღილაკს "კოდი" და ჩამოტვირთეთ zip. შემდეგ გახსენით zip file და გადაიტანეთ მისი შინაარსი Arduino საქაღალდეში. საქაღალდის სახელის გადარქმევა საქაღალდის სახელზე „-main“ დასასრულის მოსაშორებლად. თქვენ უნდა დაასრულოთ საქაღალდე ESP_ DCC_ კონტროლერი თქვენს Arduino საქაღალდეში. ის შეიცავს .INO-ს file, სხვადასხვა .H და .CPP files და მონაცემთა საქაღალდე.

Arduino IDE დაყენება DCC კონტროლერისთვის

ორჯერ დააწკაპუნეთ .INO-ზე file პროექტის გასახსნელად Arduino IDE-ში.
სანამ შევასრულებთ კომპილს, ჩვენ უნდა დავაკონფიგურიროთ თქვენი მოთხოვნები…

ნაბიჯი 6. დააყენეთ თქვენი მოთხოვნები გლობალურად. თ

ამ პროექტს შეუძლია მხარი დაუჭიროს nodeMCU-ს ან WeMo-ს D1R1-ს და მას ასევე შეუძლია სხვადასხვა დენის დაფის (ძრავის ფარი) პარამეტრების მხარდაჭერა, ასევე, მას შეუძლია მხარი დაუჭიროს I2C ავტობუსს მოწყობილობებს, როგორიცაა მიმდინარე მონიტორი, LCD დისპლეი და კლავიატურა. და ბოლოს, მას ასევე შეუძლია Jogwheel-ის (მბრუნავი ენკოდერის) მხარდაჭერა. ყველაზე ძირითადი კონსტრუქცია, რომლის გაკეთებაც შეგიძლიათ, არის WeMo-ს D1R1 და L298 ძრავის ფარი.
გაითვალისწინეთ, რომ ვარიანტის გამორთვის უმარტივესი გზაა #define განცხადებაში მისი სახელის წინ პატარა n-ის დამატება.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#განსაზღვრა WEMOS_D1R1_AND_L298_SHIELD
მაგample, ზემოთ NODEMCU_OPTION3 გათიშულია n-ით, იგივე nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD არის აქტიური ვარიანტი და ეს გამოიწვევს შემდგენელს გამოიყენებს კონფიგურაციას ქვემოთ ჩამოთვლილი ქვემოთ.

ამ კონფიგურაციის გასავლელად: 

#elif განსაზღვრულია (WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 დაწყობილია L298 ფარით, გაითვალისწინეთ, რომ D1-R2 უფრო ახალი მოდელია, სხვადასხვა ღეროებით*/
/*მოჭერით BRAKE მხტუნავები L298 ფარზე. ეს არ არის საჭირო და ჩვენ არ გვინდა, რომ ისინი ამოძრავებდეს I2C ქინძისთავებით, რადგან ეს გააფუჭებს DCC სიგნალს.

დაფას აქვს Arduino ფორმის ფაქტორი, ქინძისთავები შემდეგია
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 გულისცემა და სირბილის ბორბალის ღილაკი (აქტიური გამარჯობა)
D3 GPIO5 DCC ჩართვა (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC სიგნალი (რეჟ.)
D6 GPIO12 DCC სიგნალი (რეჟ.)
D7 GPIO13 DCC ჩართვა (pwm)
D8 GPIO0 SDA, 12k აწევით
D9 GPIO2 SCL, 12k აწევით
D10 GPIO15 Jog2
ზემოაღნიშნული არის შენიშვნები ადამიანებისთვის, გაცნობებთ, რომელი ESP GPIO რომელ ფუნქციებს შეასრულებს. გაითვალისწინეთ, რომ Arduino D1-D10-დან GPIO-ში განლაგება განსხვავდება MCU D1-D10-ის კვანძის GPIO-ს რუკებისგან. */

#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //A და B პარალელურად გამოყენებისას (2.36 მულტიმეტრის RMS-ის შესატყვისად)
ჩვენ გამოვიყენებთ AD-ს ESP-ზე და არა გარე I2C დენის მონიტორინგის მოწყობილობაზე, როგორიცაა INA219 გამორთვა
ეს n USE_ ANALOG_ MEASUREMENT-ით, თუ გსურთ გამოიყენოთ INA219

#define PIN_HEARTBEAT 16 //და სირბილის ბორბლის ღილაკი
#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 };
განსაზღვრავს რომელი პინები ამოძრავებს DCC სიგნალებს, ჩვენ გვაქვს ორი არხი, რომლებიც მუშაობს ფაზაში, ასე რომ ჩვენ შეგვიძლია გავაერთიანოთ ისინი. A-არხი არის dcc_ info [] და B-არხი არის dcc_ info A []. ისინი განისაზღვრება, როგორც მაკრო და უკანა ხაზი არის ხაზის გაგრძელების მარკერი.

#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k ამოღება
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k ჩამოსაშლელი

განსაზღვრეთ ქინძისთავები (GPIO), რომლებიც მართავენ I2C SCL/SDA-ს და შემდეგ ასევე რბენის ბორბალის შეყვანას 1 და 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

გამოიყენება არასავალდებულო 4 x 4 მატრიცული კლავიატურისთვის, რომელიც დასკანირებულია pcf8574 ჩიპის გამოყენებით

//addr, en,rw,rs,d4,d5,d6,d7,უკანა განათება, პოლარობა. ჩვენ ვიყენებთ ამას, როგორც 4 ბიტიან მოწყობილობას //ჩემი ეკრანის პინი არის rs,rw,e,d0-d7. გამოიყენება მხოლოდ d<4-7>. <210> ჩნდება იმიტომ, რომ <012> ბიტები //შესახულია როგორც EN, RW, RS და ჩვენ გვჭირდება მათი ხელახალი დალაგება აპარატურულზე რეალური შეკვეთის მიხედვით, 3 არის შედგენილი // უკანა განათებაზე. <4-7> ამ თანმიმდევრობით გამოჩნდება ზურგჩანთაზე და ეკრანზე.

#define BOOTUP_LCD LiquidCrystal_I2C LCD (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //YwRobot ზურგჩანთა

გამოიყენება I2C ზურგჩანთის განსაზღვრისა და კონფიგურაციისთვის, რომელიც მართავს 1602 LCD ეკრანს (სურვილისამებრ), ეს არის რბილი კონფიგურირებადი და ხელმისაწვდომია რამდენიმე ზურგჩანთა, რომელთა პინის კონფიგურაცია განსხვავდება.
#ბოლო

ნაბიჯი 7. შედგენა და ატვირთვა დაფაზე.

ახლა თქვენ დააკონფიგურირეთ დაფის კომბინაცია, რომლის გამოყენებასაც აპირებთ, შეგიძლიათ შეადგინოთ პროექტი. თუ არ აპირებთ 4×4 მატრიცის კლავიატურის და LCD-ის გამოყენებას, პრობლემა არ არის, დატოვეთ მათი განმარტებები, როგორც პროგრამული უზრუნველყოფა მოელის მათ კონფიგურაციას. სისტემა კარგად იმუშავებს WiFi-ით მათ გარეშე.
IDE-ზე, ტიკის სიმბოლო (დამოწმება) რეალურად არის „შედგენა“. დააწკაპუნეთ მასზე და დაინახავთ, რომ გამოჩნდება სხვადასხვა შეტყობინებები (იმ პირობით, რომ ჩართული გაქვთ Verbose კომპილაცია), რადგან სისტემა აგროვებს სხვადასხვა ბიბლიოთეკებს და აკავშირებს მათ. თუ ყველაფერი კარგად მუშაობს და ეს უნდა მოხდეს, თუ ზემოთ მოცემულ ყველა ნაბიჯს ზუსტად შეასრულებთ, მაშინ უნდა ნახოთ წარმატების შეტყობინება. ახლა თქვენ მზად ხართ დააჭიროთ მარჯვენა ისრის (ატვირთვის) ღილაკს, მაგრამ სანამ ამას გააკეთებთ, შეამოწმეთ, რომ არჩეული გაქვთ სწორი COM პორტი დაფისთვის Tools მენიუში.
წარმატებული ატვირთვის შემდეგ (გამოიყენეთ კარგი ხარისხის USB კაბელი) თქვენ ასევე უნდა გამოიძახოთ ჩატვირთეთ ESP8266 Sketch Data მენიუ ვარიანტი ინსტრუმენტების ქვეშ. ეს განათავსებს მონაცემთა საქაღალდის შიგთავსს მოწყობილობაზე (ყველა HTML გვერდი).
თქვენ დაასრულეთ. გახსენით სერიული მონიტორი, დააჭირეთ გადატვირთვის ღილაკს და უნდა ნახოთ მოწყობილობის ჩატვირთვა და სკანირება I2C მოწყობილობებისთვის. ახლა შეგიძლიათ დაუკავშირდეთ მას Wifi-ს საშუალებით და ის მზად არის მის დენის დაფაზე (ძრავის ფარი) დასაკავშირებლად.

დოკუმენტები / რესურსები

ARDUINO IDE დაყენება DCC კონტროლერისთვის [pdf] ინსტრუქციები
IDE დაყენება DCC კონტროლერისთვის, IDE დაყენება, დაყენება DCC კონტროლერისთვის, DCC კონტროლერი IDE დაყენება, DCC კონტროლერი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *