DCC 컨트롤러용 ARDUINO IDE 설정 

아두이노 IDE 로고

DCC 컨트롤러용 Arduino IDE 설정

Step 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 보드 관리자로부터

DCC 컨트롤러용 Arduino IDE 설정

버전 2.7.4를 설치합니다. 이것은 작동합니다. 버전 3.0.0 이상은 이 프로젝트에서 작동하지 않습니다. 이제 도구 메뉴로 돌아가서 사용할 보드를 선택하세요. 이 프로젝트에서는 nodeMCU 1.0 또는 WeMos D1R1이 될 것입니다.

DCC 컨트롤러용 Arduino IDE 설정

여기서는 WeMos D1R1을 선택합니다. (나노에서 이것을 변경)

Step 2. IDE 환경 설정. ESP8266 스케치 데이터 업로드 추가 기능을 로드합니다.

HTML 페이지 및 기타 항목을 게시(넣기)하려면 이 추가 기능을 로드해야 합니다. fileESP 장치에 있습니다. 이는 프로젝트 폴더 내의 데이터 폴더에 있습니다. https://github.com/esp8266/arduino-esp8266fs-plugin/releases
로 이동 URL 위와 같이 ESP8266FS-0.5.0.zip을 다운로드합니다.
Arduino 폴더 안에 Tools 폴더를 만듭니다. zip의 내용을 압축 해제하세요. file 이 도구 폴더에. 당신은 이것으로 끝나야 합니다;

DCC 컨트롤러용 Arduino IDE 설정

도구 아래에 새 메뉴 옵션이 나타납니다.

DCC 컨트롤러용 Arduino IDE 설정

해당 메뉴 옵션을 호출하면 IDE는 데이터 폴더의 내용을 보드에 업로드합니다. 자, 이것이 일반 ESP8266 사용을 위해 설정된 IDE 환경입니다. 이제 이 특정 프로젝트를 위해 Arduino/Libraries 폴더에 일부 라이브러리를 추가해야 합니다.

3단계. 라이브러리를 다운로드하고 수동으로 설치합니다.

Github에서 이 라이브러리를 다운로드해야 합니다. https://github.com/me-no-dev/ESPAsyncTCP

DCC 컨트롤러용 Arduino IDE 설정

코드를 클릭한 다음 zip을 다운로드하세요. 다운로드 폴더로 이동됩니다. 다운로드로 이동하여 zip을 찾아 열고 콘텐츠 폴더 "ESPAsyncTCP"를 Arduino/libraries로 드래그하세요.
폴더 이름이 "-master"로 끝나는 경우 이름을 변경하여 끝에서 "-master"를 제거합니다.
즉, 다운로드에서

DCC 컨트롤러용 Arduino IDE 설정

ESPAsyncTCP-master용 .zip을 열고 ESPAsyncTCP-master 폴더를 여기에서 Arduino/Libraries로 드래그하세요.

DCC 컨트롤러용 Arduino IDE 설정

메모: Arduino/라이브러리는 .zip 버전을 사용할 수 없으므로 원하는 폴더의 압축을 해제(드래그)해야 합니다. 우리는 또한 필요합니다 https://github.com/fmalpartida/New-LiquidCrystal
zip을 다운로드한 다음 콘텐츠를 Arduino/라이브러리로 드래그하고 -master 결말을 제거하세요.

마지막으로 아래 링크의 ArduinoJson-5.13.5.zip이 필요합니다. https://www.arduinolibraries.info/libraries/arduino-json

zip 콘텐츠를 다운로드한 다음 Arduino/라이브러리로 드래그하세요.

4단계. Arduino 라이브러리 관리자를 사용하여 라이브러리를 몇 개 더 설치합니다.

두 개의 라이브러리가 더 필요하며 이 라이브러리는 다양한 내장 라이브러리가 포함된 Arduino 라이브러리 관리자에서 제공됩니다. 도구… 라이브러리 관리…로 이동합니다.

DCC 컨트롤러용 Arduino IDE 설정
DCC 컨트롤러용 Arduino IDE 설정

Adafruit INA1.0.3 버전 219을 사용하세요. 이것은 작동합니다. 

그리고 또한

DCC 컨트롤러용 Arduino IDE 설정

버전 2.1.0을 사용하세요. WebMarkus Sattler의 소켓은 테스트되었으며 작동 중입니다. 이후 버전은 테스트하지 않았습니다.
좋습니다. 이것이 IDE가 이 프로젝트를 컴파일하는 데 필요한 모든 라이브러리(참조라고도 함)입니다.

5단계. GitHub에서 ESP_DCC_Controller 프로젝트를 다운로드하고 IDE에서 엽니다.

GitHub에 가서 다운로드하세요. https://github.com/computski/ESP_DCC_controller

녹색 “코드” 버튼을 클릭하고 zip을 다운로드하세요. 그럼 지퍼를 열어보세요 file 내용을 Arduino 폴더로 옮깁니다. 폴더 이름에서 끝나는 "-main"을 제거하려면 폴더 이름을 바꾸세요. Arduino 폴더에 ESP_DCC_ 컨트롤러 폴더가 있어야 합니다. .INO가 포함됩니다. file, 다양한 .H 및 .CPP files 및 데이터 폴더.

DCC 컨트롤러용 Arduino IDE 설정

.INO를 두 번 클릭합니다. file Arduino IDE에서 프로젝트를 엽니다.
컴파일을 시작하기 전에 요구 사항에 맞게 구성해야 합니다…

6단계. 글로벌에서 요구 사항을 설정합니다. 시간

이 프로젝트는 nodeMCU 또는 WeMo의 D1R1을 지원할 수 있으며 다양한 전원 보드(모터 쉴드) 옵션도 지원할 수 있으며 전류 모니터, LCD 디스플레이 및 키패드와 같은 I2C 버스의 장치도 지원할 수 있습니다. 그리고 마지막으로 조그휠(로터리 인코더)도 지원할 수 있습니다. 가장 기본적인 빌드는 WeMo의 D1R1 및 L298 모터 쉴드입니다.
옵션을 비활성화하는 가장 쉬운 방법은 #define 문에서 해당 이름 앞에 소문자 n을 추가하는 것입니다.
#nNODEMCU_OPTION3 정의
#nBOARD_ESP12_SHIELD 정의
#정의하다 WEMOS_D1R1_AND_L298_SHIELD
예를 들어amp파일, 위의 NODEMCU_OPTION3은 nBOARD_ESP12_SHIELD와 마찬가지로 n으로 비활성화되었습니다. WEMOS_D1R1_AND_L298_SHIELD는 활성 옵션이며 이로 인해 컴파일러는 아래에 나열된 대로 이에 대한 구성을 사용하게 됩니다.

이 구성을 살펴보려면 다음 안내를 따르세요. 

#elif 정의(WEMOS_D1R1_AND_L298_SHIELD)

/*L1 실드로 쌓인 Wemos D1-R298, D1-R2는 핀 배치가 다른 최신 모델입니다*/
/*L298 쉴드의 BRAKE 점퍼를 자릅니다. 이는 필수 사항이 아니며 DCC 신호를 손상시킬 수 있으므로 I2C 핀에 의해 구동되는 것을 원하지 않습니다.

보드에는 Arduino 폼 팩터가 있으며 핀은 다음과 같습니다.
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 하트비트 및 조그휠 푸시버튼(active hi)
D3 GPIO5 DCC 활성화(pwm)
D4 GPIO4 조그1
D5 GPIO14 DCC 신호(dir)
D6 GPIO12 DCC 신호(dir)
D7 GPIO13 DCC 활성화(pwm)
D8 GPIO0 SDA, 12k 풀업 포함
D9 GPIO2 SCL(12k 풀업 포함)
D10 GPIO15 조그2
위의 내용은 인간을 위한 참고 사항이므로 어떤 ESP GPIO가 어떤 기능을 수행하는지 알 수 있습니다. 참고 Arduino D1-D10에서 GPIO로의 매핑은 노드 MCU D1-D10에서 GPIO로의 매핑과 다릅니다. */

#USE_ANALOG_MEASUREMENT 정의
#define ANALOG_SCALING 3.9 //A와 B를 병렬로 사용하는 경우(멀티미터 RMS와 일치하려면 2.36)
INA2 비활성화와 같은 외부 I219C 전류 모니터링 장치가 아닌 ESP에서 AD를 사용합니다.
INA219를 사용하려면 n USE_ ANALOG_ MEASUREMENT를 사용하세요.

#define PIN_HEARTBEAT 16 //및 조그휠 푸시버튼
#DCC_PINS 정의 \
uint32 dcc_info[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12, 12 , 0 }; \
uint32 활성화_정보[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO5, 5 , 0 }; \
uint32 dcc_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO14, 14 , 0 }; \
uint32 활성화_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO13,13 , 0 };
어떤 핀이 DCC 신호를 구동할지 정의합니다. 두 개의 채널이 있으며 동위상으로 실행되므로 함께 공통으로 사용할 수 있습니다. A채널은 dcc_info[]이고, B채널은 dcc_infoA[]입니다. 이는 매크로로 정의되며 백슬래시는 줄 연속 표시입니다.

#define PIN_SCL 2 //12k 풀업
#define PIN_SDA 0 //12k 풀업
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k 풀다운

I2C SCL/SDA를 구동하는 핀(GPIO)과 조그휠 입력 1 및 2를 정의합니다.

#define KEYPAD_ADDRESS 0x21 //pcf8574

pcf4 칩을 사용하여 스캔되는 옵션 4 x 8574 매트릭스 키패드에 사용됩니다.

//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 배낭

2 LCD 디스플레이(옵션)를 구동하는 I1602C 백팩을 정의하고 구성하는 데 사용되며 이는 소프트 구성이 가능하며 핀 구성이 다양한 여러 백팩을 사용할 수 있습니다.
#끝

7단계. 컴파일하여 보드에 업로드합니다.

이제 사용하려는 보드 콤보를 구성했으므로 프로젝트를 컴파일할 수 있습니다. 4×4 매트릭스 키패드와 LCD를 사용하지 않으려면 문제 없습니다. 소프트웨어가 구성할 것으로 예상하는 대로 정의를 그대로 두십시오. 시스템은 WiFi 없이도 잘 작동합니다.
IDE에서 체크 기호(확인)는 실제로 "컴파일"입니다. 이것을 클릭하면 시스템이 다양한 라이브러리를 컴파일하고 모두 함께 링크할 때 다양한 메시지가 나타나는 것을 볼 수 있습니다(상세 컴파일을 활성화한 경우). 모든 것이 잘 작동하고 위의 모든 단계를 정확하게 수행했다면 성공 메시지가 표시되어야 합니다. 이제 오른쪽 화살표(업로드) 버튼을 누를 준비가 되었습니다. 하지만 이 작업을 수행하기 전에 도구 메뉴에서 보드에 대한 올바른 COM 포트를 선택했는지 확인하십시오.
업로드가 성공적으로 완료되면(좋은 품질의 USB 케이블 사용) 다음을 호출해야 합니다. ESP8266 스케치 데이터 로드 메뉴 도구 아래의 옵션. 이렇게 하면 데이터 폴더의 내용이 장치(모든 HTML 페이지)에 저장됩니다.
이제 끝났습니다. 직렬 모니터를 열고 재설정 버튼을 클릭하면 장치가 부팅되고 I2C 장치를 검색하는 것을 볼 수 있습니다. 이제 Wi-Fi를 통해 연결할 수 있으며 전원 보드(모터 쉴드)에 연결할 준비가 되었습니다.

문서 / 리소스

DCC 컨트롤러용 ARDUINO IDE 설정 [PDF 파일] 지침
DCC 컨트롤러용 IDE 설정, IDE 설정, DCC 컨트롤러용 설정, DCC 컨트롤러 IDE 설정, DCC 컨트롤러

참고문헌

댓글을 남겨주세요

이메일 주소는 공개되지 않습니다. 필수 항목은 표시되어 있습니다. *