ARDUINO IDE Thiết lập cho Bộ điều khiển DCC 

Logo ARDUINO IDE

Thiết lập Arduino IDE cho bộ điều khiển DCC

Bước 1. Thiết lập môi trường IDE. Tải các bảng ESP.

Khi bạn cài đặt Arduino IDE lần đầu tiên, nó chỉ hỗ trợ các bo mạch dựa trên ARM. Chúng tôi cần thêm hỗ trợ cho các bảng dựa trên ESP. Hướng đến File… Sở thích

Thiết lập môi trường IDE. Tải các bảng ESP
Thiết lập môi trường IDE. Tải các bảng ESP

Nhập dòng này bên dưới vào Trình quản lý bảng bổ sung URLhộp chữ S. Lưu ý có dấu gạch dưới trong đó, không có dấu cách.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Ngoài ra, hãy chọn hộp có nội dung Hiển thị chi tiết trong quá trình biên dịch. Điều này cung cấp cho chúng tôi thêm thông tin nếu xảy ra lỗi trong quá trình biên dịch.

Lưu ý rằng dòng trên thêm hỗ trợ cho cả thiết bị esp8266 và esp32 mới hơn. Hai chuỗi json được phân tách bằng dấu phẩy.
Bây giờ chọn bảng phiên bản 2.7.4 từ ban quản lý

Thiết lập Arduino IDE cho bộ điều khiển DCC

Cài đặt phiên bản 2.7.4. Những công việc này. Phiên bản 3.0.0 trở lên không hoạt động cho dự án này. Bây giờ, quay lại menu Công cụ, chọn bảng bạn sẽ sử dụng. Đối với dự án này, nó sẽ là nodeMCU 1.0 hoặc WeMos D1R1

Thiết lập Arduino IDE cho bộ điều khiển DCC

Ở đây chúng tôi chọn WeMos D1R1. (thay đổi điều này từ Nano)

Bước 2. Thiết lập môi trường IDE. Tải phần bổ trợ Tải lên dữ liệu phác thảo ESP8266.

Chúng tôi cần tải bổ trợ này để cho phép chúng tôi xuất bản (đặt) các trang HTML và các trang khác files trên thiết bị ESP. Chúng sống trong thư mục dữ liệu bên trong thư mục dự án của bạn https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Đi đến URL ở trên và tải xuống ESP8266FS-0.5.0.zip.
Tạo một thư mục Công cụ bên trong thư mục Arduino của bạn. Giải nén nội dung của zip file vào thư mục Công cụ này. Bạn nên kết thúc với điều này;

Thiết lập Arduino IDE cho bộ điều khiển DCC

Và một tùy chọn menu mới sẽ xuất hiện bên dưới Công cụ…

Thiết lập Arduino IDE cho bộ điều khiển DCC

Nếu bạn gọi tùy chọn menu đó, IDE sẽ tải nội dung của thư mục dữ liệu lên bảng. Ok, đó là môi trường IDE được thiết lập để sử dụng chung cho ESP8266, bây giờ chúng ta cần thêm một số thư viện vào thư mục Arduino/Libraries cho dự án cụ thể này.

Bước 3. Tải xuống thư viện và cài đặt thủ công.

Chúng tôi cần tải xuống các thư viện này từ Github; https://github.com/me-no-dev/ESPAsyncTCP

Thiết lập Arduino IDE cho bộ điều khiển DCC

Nhấp vào mã, sau đó tải xuống zip. Nó sẽ chuyển đến thư mục tải xuống của bạn. Đi vào phần tải xuống, tìm zip, mở nó và kéo thư mục nội dung “ESPAsyncTCP” vào Arduino/libraries.
Nếu tên thư mục kết thúc bằng “-master”, hãy đổi tên nó để xóa “-master” ở cuối.
tức là từ lượt tải xuống

Thiết lập Arduino IDE cho bộ điều khiển DCC

Mở .zip cho ESPAsyncTCP-master và kéo thư mục ESPAsyncTCP-master từ bên trong này vào Arduino/Libraries

Thiết lập Arduino IDE cho bộ điều khiển DCC

Ghi chú: Arduino/thư viện không thể sử dụng phiên bản .zip, bạn cần giải nén (kéo) thư mục mong muốn qua. Chúng tôi cũng cần https://github.com/fmalpartida/New-LiquidCrystal
Tải xuống zip sau đó kéo nội dung của nó vào Arduino/thư viện và xóa phần cuối -master.

Và cuối cùng, chúng ta cần ArduinoJson-5.13.5.zip từ liên kết bên dưới https://www.arduinolibraries.info/libraries/arduino-json

tải xuống và sau đó kéo nội dung zip vào Arduino/thư viện

Bước 4. Cài đặt thêm một vài thư viện bằng Arduino Library Manager.

Chúng tôi cần thêm hai thư viện và những thư viện này đến từ Trình quản lý thư viện Arduino chứa tuyển chọn các thư viện tích hợp. Đi tới Công cụ… Quản lý Thư viện…

Thiết lập Arduino IDE cho bộ điều khiển DCC
Thiết lập Arduino IDE cho bộ điều khiển DCC

Sử dụng phiên bản 1.0.3 của Adaf nhung INA219. Những công việc này. 

Và cũng thế

Thiết lập Arduino IDE cho bộ điều khiển DCC

Sử dụng phiên bản 2.1.0 của WebỔ cắm từ Markus Sattler, cái này đã được thử nghiệm và hoạt động. Tôi đã không kiểm tra các phiên bản sau.
OK, vậy đó là tất cả các thư viện (còn gọi là tài liệu tham khảo) mà IDE cần để biên dịch dự án này.

Bước 5. Tải xuống dự án ESP_DCC_Controller từ GitHub và mở trong IDE.

Truy cập GitHub và tải xuống https://github.com/computski/ESP_DCC_controller

Nhấp vào nút "Mã" màu xanh lá cây và tải xuống mã zip. Sau đó mở zip file và di chuyển nội dung của nó vào thư mục Arduino. Đổi tên thư mục để loại bỏ đuôi “-main” trên tên thư mục. Bạn sẽ kết thúc với một thư mục Bộ điều khiển ESP_ DCC_ trong thư mục Arduino của mình. Nó sẽ chứa một .INO file, khác nhau .H và .CPP files và một thư mục dữ liệu.

Thiết lập Arduino IDE cho bộ điều khiển DCC

Nhấp đúp chuột vào .INO file để mở dự án trong Arduino IDE.
Trước khi nhấn biên dịch, chúng tôi cần định cấu hình theo yêu cầu của bạn…

Bước 6. Đặt yêu cầu của bạn trong Toàn cầu. h

Dự án này có thể hỗ trợ nodeMCU hoặc D1R1 của WeMo và nó cũng có thể hỗ trợ một số tùy chọn bảng nguồn (tấm chắn động cơ) khác nhau, ngoài ra, nó có thể hỗ trợ các thiết bị trên bus I2C như màn hình hiện tại, màn hình LCD và bàn phím. Và cuối cùng, nó cũng có thể hỗ trợ bánh xe chạy bộ (bộ mã hóa vòng quay). Bản dựng cơ bản nhất bạn có thể làm là tấm chắn động cơ D1R1 và L298 của WeMo.
Lưu ý cách dễ nhất để vô hiệu hóa một tùy chọn là thêm chữ n viết thường trước tên của tùy chọn đó trong câu lệnh #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#định nghĩa WEMOS_D1R1_AND_L298_SHIELD
Ví dụample, ở trên NODEMCU_OPTION3 đã bị vô hiệu hóa với n, tương tự đối với nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD là tùy chọn hoạt động và điều này sẽ khiến trình biên dịch sử dụng cấu hình cho điều này như được liệt kê bên dưới.

Để xem qua cấu hình này: 

#elif đã xác định(WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 xếp chồng lên nhau với tấm chắn L298, lưu ý rằng D1-R2 là mẫu mới hơn với các sơ đồ chân khác nhau*/
/*Cắt dây nhảy PHANH trên tấm chắn L298. Chúng không bắt buộc và chúng tôi không muốn chúng được điều khiển bởi các chân I2C vì nó sẽ làm hỏng tín hiệu DCC.

Bảng có hệ số dạng Arduino, các chân như sau
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 nhịp tim và nút bấm jogwheel (hoạt động hi)
Kích hoạt D3 GPIO5 DCC (pwm)
D4 GPIO4 Chạy bộ1
Tín hiệu DCC D5 GPIO14 (dir)
Tín hiệu DCC D6 GPIO12 (dir)
Kích hoạt D7 GPIO13 DCC (pwm)
D8 GPIO0 SDA, với lực kéo 12k
D9 GPIO2 SCL, với lực kéo 12k
D10 GPIO15 Chạy bộ2
trên đây là những lưu ý dành cho con người, giúp bạn biết được những GPIO ESP nào sẽ thực hiện những chức năng nào. Lưu ý rằng Ánh xạ Arduino D1-D10 sang GPIO khác với ánh xạ nút MCU D1-D10 sang GPIO */

#define SỬ DỤNG_ANALOG_ĐO LƯỜNG
#define ANALOG_SCALING 3.9 //khi sử dụng song song A và B (2.36 để khớp với RMS vạn năng)
Chúng tôi sẽ sử dụng AD trên ESP chứ không phải thiết bị giám sát dòng điện I2C bên ngoài, chẳng hạn như vô hiệu hóa INA219
điều này với n USE_ ANALOG_ MEASUREMENT nếu bạn muốn sử dụng INA219

#define PIN_HEARTBEAT 16 //và nút bấm bánh xe chạy
#xác định 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 };
Xác định chân nào sẽ điều khiển tín hiệu DCC, chúng tôi có hai kênh, chạy cùng pha để chúng tôi có thể dùng chung chúng với nhau. Kênh A là dcc_ info [] và kênh B là dcc_ info A []. Chúng được định nghĩa là macro và dấu gạch chéo ngược là điểm đánh dấu tiếp tục dòng.

#define PIN_SCL 2 // kéo lên 12k
#define PIN_SDA 0 // kéo lên 12k
#xác định mã PIN_JOG1 4
#define PIN_JOG2 15 //12k kéo xuống

Xác định các chân (GPIO) điều khiển I2C SCL/SDA và sau đó là các đầu vào bánh xe quay 1 và 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

Được sử dụng cho bàn phím ma trận 4 x 4 tùy chọn, được quét bằng chip pcf8574

//addr, en,rw,rs,d4,d5,d6,d7,đèn nền,cực. chúng tôi đang sử dụng thiết bị này như một thiết bị 4 bit // sơ đồ chân màn hình của tôi là rs, rw, e, d0-d7. chỉ d<4-7> được sử dụng. <210> xuất hiện vì các bit <012> được // ánh xạ dưới dạng EN, RW, RS và chúng ta cần sắp xếp lại chúng theo thứ tự thực tế trên phần cứng, 3 được ánh xạ // tới đèn nền. <4-7> xuất hiện theo thứ tự đó trên ba lô và trên màn hình.

#define BOOTUP_LCD LCD LiquidCstall_I2C(0x27, 2, 1, 0, 4, 5, 6, 7, 3, TÍCH CỰC); // YwRobot ba lô

Được sử dụng để xác định và định cấu hình ba lô I2C điều khiển màn hình LCD 1602 (tùy chọn), đây là cấu hình mềm và có sẵn một số ba lô có cấu hình chân khác nhau.
#kết thúc nếu

Bước 7. Biên dịch và tải lên bảng.

Bây giờ bạn đã định cấu hình tổ hợp bảng mà bạn định sử dụng, bạn có thể biên dịch dự án. Nếu bạn không có ý định sử dụng bàn phím ma trận 4×4 và LCD, không vấn đề gì, hãy để lại định nghĩa của chúng vì phần mềm sẽ định cấu hình chúng. Hệ thống sẽ hoạt động tốt qua WiFi mà không có chúng.
Trên IDE, biểu tượng đánh dấu (xác minh) thực sự là “Biên dịch”. Nhấp vào đây và bạn sẽ thấy các thông báo khác nhau xuất hiện (miễn là bạn đã bật tính năng biên dịch Verbose) khi hệ thống biên dịch các thư viện khác nhau và liên kết tất cả lại với nhau. Nếu tất cả đều hoạt động tốt và đúng như vậy nếu bạn làm theo chính xác tất cả các bước ở trên thì bạn sẽ thấy thông báo thành công xuất hiện. Bây giờ bạn đã sẵn sàng nhấn nút mũi tên phải (tải lên), nhưng trước khi thực hiện việc này, hãy kiểm tra xem bạn đã chọn đúng cổng COM cho bo mạch trong menu Công cụ chưa.
Sau khi tải lên thành công (sử dụng cáp USB chất lượng tốt), bạn cũng cần gọi Tải menu Dữ liệu Phác thảo ESP8266 tùy chọn trong Công cụ. Thao tác này sẽ đưa nội dung của thư mục dữ liệu vào thiết bị (tất cả các trang HTML).
Bạn xong việc rồi. Mở màn hình nối tiếp, nhấp vào nút đặt lại và bạn sẽ thấy thiết bị khởi động và quét các thiết bị I2C. Bây giờ bạn có thể kết nối với nó qua Wifi và nó sẵn sàng nối dây với bảng điện (tấm chắn động cơ).

Tài liệu / Tài nguyên

ARDUINO IDE Thiết lập cho Bộ điều khiển DCC [tập tin pdf] Hướng dẫn
Thiết lập IDE cho Bộ điều khiển DCC, Thiết lập IDE, Thiết lập cho Bộ điều khiển DCC, Thiết lập IDE cho Bộ điều khiển DCC, Bộ điều khiển DCC

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *