ARDUINO IDE Configuration pour le contrôleur DCC 

Logo ARDUINO IDE

Configuration IDE Arduino pour le contrôleur DCC

Passu 1. Ambiente IDE set-up. Caricate e schede ESP.

Quandu avete prima installatu l'IDE Arduino, supporta solu schede basate ARM. Avemu bisognu di aghjunghje supportu per i schede basati ESP. Navigate à File… Preferenze

Configurazione di l'ambiente IDE. Caricate e schede ESP
Configurazione di l'ambiente IDE. Caricate e schede ESP

Scrivite sta linea quì sottu in u Manager Additional Boards URLS box. Nota chì ci sò underscores in questu, senza spazii.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Verificate ancu a casella chì dice Mostra Verbose durante a compilazione. Questu ci dà più infurmazione se qualcosa falla durante a compilazione.

Nota chì a linea sopra aghjunghje supportu per i dispositi esp8266 è l'esp32 più recenti. I dui strings json sò siparati da una virgola.
Avà selezziunate u bordu versione 2.7.4 da u direttore di bordu

Configuration IDE Arduino pour le contrôleur DCC

Installa a versione 2.7.4. Questu travaglia. A versione 3.0.0 è superiore ùn funziona micca per stu prughjettu. Avà, torna in u menù di Strumenti, selezziunate a tavula chì vi aduprà. Per questu prughjettu serà o un nodeMCU 1.0 o un WeMos D1R1

Configuration IDE Arduino pour le contrôleur DCC

Quì avemu sceltu u WeMos D1R1. (cambiendu questu da u Nano)

Step 2. Ambiente IDE set-up. Caricà ESP8266 Sketch Data Upload Add-in.

Avemu bisognu di carricà stu add-in per permette di publicà (mette) pagine HTML è altri files nantu à u dispusitivu ESP. Quessi campanu in u cartulare di dati in u cartulare di u vostru prughjettu https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Andà à u URL sopra è scaricate ESP8266FS-0.5.0.zip.
Crea un cartulare Tools in u vostru cartulare Arduino. Unzip u cuntenutu di u zip file à stu cartulare Strumenti. Avete da finisce cù questu;

Configuration IDE Arduino pour le contrôleur DCC

È una nova opzione di menu apparirà sottu Strumenti ...

Configuration IDE Arduino pour le contrôleur DCC

Sè vo invucate quella opzione di menu, l'IDE caricherà u cuntenutu di u cartulare di dati à u bordu. Ok, cusì hè l'ambiente IDE cunfiguratu per l'usu generale ESP8266, avà avemu bisognu di aghjunghje alcune biblioteche à u cartulare Arduino / Biblioteche per stu prughjettu specificu.

Step 3. Download biblioteche è stallà manually.

Avemu bisognu di scaricà queste biblioteche da Github; https://github.com/me-no-dev/ESPAsyncTCP

Configuration IDE Arduino pour le contrôleur DCC

Cliccate nant'à u codice, è dopu scaricà zip. Andarà à u vostru cartulare downloads. Andate in downloads, truvate u zip, apre è trascinate u cartulare di cuntenutu "ESPAsyncTCP" à Arduino / biblioteche.
Se u nome di u cartulare finisce cù "-master", allora rinominà per sguassà "-master" da a fine.
vale à dì da i download

Configuration IDE Arduino pour le contrôleur DCC

Aprite u .zip per ESPAsyncTCP-master, è trascinate u cartulare ESPAsyncTCP-master da quì à Arduino/Libraries.

Configuration IDE Arduino pour le contrôleur DCC

Nota: Arduino / biblioteche ùn ponu micca aduprà a versione .zip, avete bisognu di scumpressà (trascinate) u cartulare desideratu. Avemu ancu bisognu https://github.com/fmalpartida/New-LiquidCrystal
Scaricate u zip poi trascinate u so cuntenutu à Arduino / biblioteche è sguassà -master ending.

È infine, avemu bisognu di ArduinoJson-5.13.5.zip da u ligame sottu https://www.arduinolibraries.info/libraries/arduino-json

scaricate è poi trascinate u cuntenutu zip à Arduino / biblioteche

Passu 4. Installa un paru di più biblioteche cù Arduino Library Manager.

Avemu bisognu di duie biblioteche più, è queste venenu da u Arduino Library Manager chì cuntene una selezzione di biblioteche integrate. Vai à Strumenti ... Gestisce Biblioteche ...

Configuration IDE Arduino pour le contrôleur DCC
Configuration IDE Arduino pour le contrôleur DCC

Aduprate a versione 1.0.3 di Adafruit INA219. Questu travaglia. 

È ancu

Configuration IDE Arduino pour le contrôleur DCC

Aduprate a versione 2.1.0 di WebSockets da Markus Sattler, questu hè pruvatu è funziona. Ùn aghju micca pruvatu versioni più tardi.
OK, cusì sò tutte e biblioteche (aka referenze) chì l'IDE hà bisognu à cumpilà stu prughjettu.

Step 5. Scaricate u prughjettu ESP_DCC_Controller da GitHub è apre in IDE.

Andate à GitHub è scaricate https://github.com/computski/ESP_DCC_controller

Cliccate nant'à u buttone verde "Codice", è scaricà u zip. Allora apre u zip file è move u so cuntenutu in u cartulare Arduino. Rinominate u cartulare per caccià u "-main" chì finiscinu nantu à u nome di u cartulare. Duvete finisce cù un cartulare ESP_DCC_ controller in u vostru cartulare Arduino. Ci hà da cuntene un .INO file, varii .H è .CPP files è un cartulare di dati.

Configuration IDE Arduino pour le contrôleur DCC

Doppiu cliccà nant'à u .INO file per apre u prughjettu in l'IDE Arduino.
Prima di culpisce a compilazione, avemu bisognu di cunfigurà à i vostri bisogni ...

Step 6. Stabbilisce i vostri bisogni in Global. h

Stu prughjettu pò sustene u nodeMCU o u D1R1 di WeMo è pò ancu sustene una quantità di diverse opzioni di scheda di potenza (scudo di motore), in più pò sustene i dispositi nantu à un bus I2C cum'è u monitor attuale, u display LCD è u teclatu. È infine pò ancu sustene un jogwheel (codificatore rotativu). A custruzzione più basica chì pudete fà hè un scudo di motore D1R1 è L298 di WeMo.
Nota chì u modu più faciule per disattivà una opzione hè di aghjunghje una n minuscula davanti à u so nome in a dichjarazione #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#definisce WEMOS_D1R1_AND_L298_SHIELD
Per esample, sopra NODEMCU_OPTION3 hè stata disattivata cù n, u listessu per nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD hè l'opzione attiva, è questu pruvucarà u compilatore à utilizà a cunfigurazione per questu cum'è listatu più in basso.

Per passà per sta cunfigurazione: 

#elif definitu (WEMOS_D1R1_AND_L298_SHIELD)

/* Wemos D1-R1 stacked with L298 shield, nota chì u D1-R2 hè un mudellu più novu cù pinouts differenti */
/* Tagliate i ponti di BRAKE nantu à u scudo L298. Quessi ùn sò micca richiesti è ùn vulemu micca guidati da i pin I2C perchè corromperà u signale DCC.

A scheda hà un fattore di forma Arduino, i pin sò i seguenti
D0 GPIO3 RX
D1 GPIO1 TX
Pulsante D2 GPIO16 di battimentu cardiacu è jogwheel (hi attivu)
Abilitazione D3 GPIO5 DCC (pwm)
D4 GPIO4 Jog1
D5 GPIO14 signal DCC (dir)
D6 GPIO12 signal DCC (dir)
Abilitazione D7 GPIO13 DCC (pwm)
D8 GPIO0 SDA, cù pullup 12k
D9 GPIO2 SCL, cù pullup 12k
D10 GPIO15 Jog2
i sopra sò note per l'omu, vi permette di sapè quale ESP GPIOs eseguirà quale funzioni. Nota chì u Les mappages d'Arduino D1-D10 à GPIO sont différents des mappages du noeud MCU D1-D10 à GPIO */

#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //quandu si usa A è B in parallelu (2.36 per currisponde à u multimetru RMS)
Useremu l'AD nantu à l'ESP è micca un dispositivu di monitoraghju di corrente I2C esternu cum'è l'INA219 disattivatu.
questu cù n USE_ ANALOG_ MEASUREMENT se vulete usà un INA219

#define PIN_HEARTBEAT 16 //è u buttone jogwheel
#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 };
Definisce i pins chì guidanu i signali DCC, avemu dui canali, chì currenu in fase per pudemu cumunu inseme. U canali A hè dcc_ info [] è u canali B hè dcc_ info A []. Quessi sò definiti cum'è macros è u backslash hè un marcatore di cuntinuità di linea.

#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown

Definite i pins (GPIO) chì guidanu l'I2C SCL / SDA è poi ancu l'inputs jogwheel 1 è 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

Adupratu per u teclatu matrici opzionale 4 x 4, chì hè scansatu cù un chip pcf8574

//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarità. usemu questu cum'è un dispositivu di 4 bit // u mo pinout di visualizazione hè rs,rw,e,d0-d7. solu d<4-7> sò usati. <210> appare perchè i bits <012> sò //mappati cum'è EN,RW,RS è avemu bisognu di riordinà per l'ordine attuale nantu à u hardware, 3 hè mappatu //à a retroilluminazione. <4-7> appariscenu in questu ordine nantu à u saccu è nantu à u display.

#define BOOTUP_LCD LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Sac à dos YwRobot

Adupratu per definisce è cunfigurà u backpack I2C chì guida u display LCD 1602 (opcional), questu hè softconfigurable è ci sò parechji backpacks dispunibuli chì e cunfigurazioni di pin varienu.
#endif

Step 7. Cumpilà è carica à u bordu.

Avà avete cunfiguratu u combo di bordu chì intende aduprà, pudete cumpilà u prugettu. Se ùn avete micca intenzione di usà u teclatu di matrice 4 × 4, è LCD, senza prublema, lasciate in e so definizione cum'è u software aspetta di cunfigurà. U sistema hà da travaglià bè cù WiFi senza elli.
In l'IDE, u simbulu di tick (verificà) hè in realtà "Compile". Cliccate quì è vi vede parechji missaghji cumpariscenu (furnì chì avete attivatu a compilazione Verbose) cum'è u sistema compilate e diverse biblioteche è ligami tutti inseme. Sè tuttu u travagliu bè, è si deve s'è vo seguitate tutti i passi sopra esattamente, allura tu avissi a vede un missaghju successu cumparisce. Avà sò prontu à chjappà u buttone freccia diritta (upload), ma prima di fà questu, verificate chì avete sceltu u portu COM currettu per u bordu sottu u menù di Strumenti.
Dopu à un upload successu (utilizate un cable USB di bona qualità) vi tocca dinù à invucà u Caricate u menu di dati di schizzo ESP8266 opzione sottu Strumenti. Questu metterà u cuntenutu di u cartulare di dati nantu à u dispusitivu (tutte e pagine HTML).
Avete finitu. Aprite u monitor seriale, cliccate nantu à u buttone di resettore è duvete vede u boot di u dispositivu è scansà i dispositi I2C. Pudete avà cunnette cù u Wifi, è hè prontu à cablare finu à a so scheda di putenza (scudu di u mutore).

Documenti / Risorse

ARDUINO IDE Configuration pour le contrôleur DCC [pdf] Istruzzioni
Configurazione IDE per u Controller DCC, Configurazione IDE, Configurazione per u Controller DCC, Controller DCC Configurazione IDE, Controller DCC

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *