Configurare ARDUINO IDE pentru controlerul DCC 

ARDUINO IDE Logo

Configurare Arduino IDE pentru controlerul DCC

Pasul 1. Configurarea mediului IDE. Încărcați plăcile ESP.

Când instalați pentru prima dată Arduino IDE, acesta acceptă doar plăci bazate pe ARM. Trebuie să adăugăm suport pentru plăcile bazate pe ESP. Navigheaza catre File… Preferințe

Configurarea mediului IDE. Încărcați plăcile ESP
Configurarea mediului IDE. Încărcați plăcile ESP

Introduceți această linie de mai jos în Managerul de panouri suplimentare URLcutie S. Rețineți că există liniuțe de subliniere în el, fără spații.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
De asemenea, bifați caseta care spune Afișare versată în timpul compilării. Acest lucru ne oferă mai multe informații dacă ceva nu reușește în timpul compilării.

Rețineți că linia de mai sus adaugă suport atât pentru dispozitivele esp8266, cât și pentru noul esp32. Cele două șiruri json sunt separate prin virgulă.
Acum selectați tabla versiunea 2.7.4 de la managerul consiliilor

Configurare Arduino IDE pentru controlerul DCC

Instalați versiunea 2.7.4. Acest lucru funcționează. Versiunea 3.0.0 și o versiune ulterioară nu funcționează pentru acest proiect. Acum, înapoi în meniul Instrumente, selectați placa pe care o veți folosi. Pentru acest proiect va fi fie un nodeMCU 1.0, fie un WeMos D1R1

Configurare Arduino IDE pentru controlerul DCC

Aici selectăm WeMos D1R1. (schimbând asta din Nano)

Pasul 2. Configurarea mediului IDE. Încărcați programul de completare pentru încărcarea datelor Sketch ESP8266.

Trebuie să încărcăm acest program de completare pentru a ne permite să publicăm (punem) pagini HTML și altele files pe dispozitivul ESP. Acestea se află în folderul de date din dosarul proiectului https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Du-te la URL de mai sus și descărcați ESP8266FS-0.5.0.zip.
Creați un folder Instrumente în dosarul dvs. Arduino. Dezarhivați conținutul zipului file în acest dosar Instrumente. Ar trebui să ajungi cu asta;

Configurare Arduino IDE pentru controlerul DCC

Și o nouă opțiune de meniu va apărea sub Instrumente...

Configurare Arduino IDE pentru controlerul DCC

Dacă invocați acea opțiune de meniu, IDE-ul va încărca conținutul folderului de date pe placă. Ok, deci acesta este mediul IDE configurat pentru utilizarea generală a ESP8266, acum trebuie să adăugăm câteva biblioteci în folderul Arduino/Libraries pentru acest proiect specific.

Pasul 3. Descărcați biblioteci și instalați manual.

Trebuie să descarcăm aceste biblioteci din Github; https://github.com/me-no-dev/ESPAsyncTCP

Configurare Arduino IDE pentru controlerul DCC

Faceți clic pe cod, apoi descărcați zip. Acesta va merge în folderul de descărcări. Accesați descărcări, găsiți fișierul zip, deschideți-l și trageți folderul de conținut „ESPAsyncTCP” în Arduino/biblioteci.
Dacă numele folderului se termină cu „-master”, atunci redenumiți-l pentru a elimina „-master” de la sfârșit.
adică din descărcări

Configurare Arduino IDE pentru controlerul DCC

Deschideți .zip pentru ESPAsyncTCP-master și trageți folderul ESPAsyncTCP-master din interiorul acestuia în Arduino/Libraries

Configurare Arduino IDE pentru controlerul DCC

Nota: Arduino/bibliotecile nu pot folosi versiunea .zip, trebuie să dezarhivați (glisați) folderul dorit peste. Avem nevoie și noi https://github.com/fmalpartida/New-LiquidCrystal
Descărcați zip-ul, apoi trageți conținutul său în Arduino/biblioteci și eliminați finalul -master.

Și, în sfârșit, avem nevoie de ArduinoJson-5.13.5.zip de la linkul de mai jos https://www.arduinolibraries.info/libraries/arduino-json

descărcați și apoi trageți conținutul zip în Arduino/biblioteci

Pasul 4. Instalați încă câteva biblioteci folosind Arduino Library Manager.

Avem nevoie de încă două biblioteci, iar acestea provin de la Arduino Library Manager, care deține o selecție de biblioteci încorporate. Accesați Instrumente... Gestionați bibliotecile...

Configurare Arduino IDE pentru controlerul DCC
Configurare Arduino IDE pentru controlerul DCC

Utilizați versiunea 1.0.3 a Adafruit INA219. Acest lucru funcționează. 

Și de asemenea

Configurare Arduino IDE pentru controlerul DCC

Utilizați versiunea 2.1.0 a WebPrize de la Markus Sattler, acestea sunt testate și funcționează. Nu am testat versiunile ulterioare.
OK, deci acestea sunt toate bibliotecile (aka referințe) de care IDE-ul are nevoie pentru a compila acest proiect.

Pasul 5. Descărcați proiectul ESP_DCC_Controller din GitHub și deschideți-l în IDE.

Accesați GitHub și descărcați https://github.com/computski/ESP_DCC_controller

Faceți clic pe butonul verde „Cod” și descărcați zip-ul. Apoi deschide fermoarul file și mutați conținutul acestuia în folderul Arduino. Redenumiți folderul pentru a elimina sfârșitul „-main” de pe numele folderului. Ar trebui să ajungeți cu un folder controler ESP_DCC_ în folderul Arduino. Va contine un .INO file, diverse .H și .CPP files și un folder de date.

Configurare Arduino IDE pentru controlerul DCC

Faceți dublu clic pe .INO file pentru a deschide proiectul în Arduino IDE.
Înainte de a porni pe compilare, trebuie să ne configuram conform cerințelor dvs....

Pasul 6. Setați cerințele dvs. în Global. h

Acest proiect poate suporta nodeMCU sau D1R1 de la WeMo și, de asemenea, poate suporta o serie de opțiuni diferite ale plăcii de alimentare (scut motor), plus poate suporta dispozitive pe o magistrală I2C, cum ar fi monitorul curent, afișajul LCD și tastatura. Și, în sfârșit, poate suporta și un jogwheel (encoder rotativ). Cea mai simplă construcție pe care o puteți face este scutul de motor D1R1 și L298 de la WeMo.
Rețineți că cel mai simplu mod de a dezactiva o opțiune este să adăugați un n minuscul în fața numelui acesteia în instrucțiunea #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#defini WEMOS_D1R1_AND_L298_SHIELD
De example, deasupra NODEMCU_OPTION3 a fost dezactivat cu n, același lucru pentru nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD este opțiunea activă, iar acest lucru va determina compilatorul să folosească configurația pentru aceasta așa cum este listată mai jos.

Pentru a parcurge această configurație: 

#elif definit(WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 stivuit cu scut L298, rețineți că D1-R2 este un model mai nou cu diferite pinouts*/
/*Tăiați jumperii BRAKE de pe scutul L298. Acestea nu sunt necesare și nu vrem ca acestea să fie conduse de pinii I2C, deoarece va corupe semnalul DCC.

Placa are un factor de formă Arduino, pinii sunt după cum urmează
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 buton pentru bătăi inimii și jogwheel (activ hi)
Activare D3 GPIO5 DCC (pwm)
D4 GPIO4 Jog1
Semnal D5 GPIO14 DCC (dir)
Semnal D6 GPIO12 DCC (dir)
Activare D7 GPIO13 DCC (pwm)
D8 GPIO0 SDA, cu pullup de 12k
D9 GPIO2 SCL, cu pullup de 12k
D10 GPIO15 Jog2
cele de mai sus sunt note pentru oameni, vă permite să știți care ESP GPIO-uri vor îndeplini ce funcții. Rețineți că Mapările Arduino D1-D10 la GPIO sunt diferite de mapările nodului MCU D1-D10 la GPIO */

#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //când folosiți A și B în paralel (2.36 pentru a se potrivi cu multimetrul RMS)
Vom folosi AD pe ESP și nu un dispozitiv extern de monitorizare a curentului I2C, cum ar fi dezactivarea INA219
aceasta cu n USE_ ANALOG_ MEASUREMENT dacă doriți să utilizați un INA219

#define PIN_HEARTBEAT 16 //și butonul 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 };
Definește ce pini vor conduce semnalele DCC, avem două canale, care rulează în fază, astfel încât să le putem comune împreună. Canalul A este dcc_info [] iar canalul B este dcc_info A []. Acestea sunt definite ca macrocomenzi, iar bara oblică inversă este un marcator de continuare a liniei.

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

Definiți pinii (GPIO) care conduc I2C SCL/SDA și apoi, de asemenea, intrările jogwheel 1 și 2

#define KEYPAD_ADDRESS 0x21 //pcf8574

Folosit pentru tastatura opțională cu matrice 4 x 4, care este scanată folosind un cip pcf8574

//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarity. îl folosim ca dispozitiv pe 4 biți // pinout-ul meu pentru afișaj este rs,rw,e,d0-d7. se folosesc numai d<4-7>. <210> apare deoarece biții <012> sunt //mapați ca EN,RW,RS și trebuie să-i reordonăm în funcție de comandă reală pe hardware, 3 este mapat //la lumina de fundal. <4-7> apar în această ordine pe rucsac și pe afișaj.

#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POZITIV); //Rucsac YwRobot

Folosit pentru a defini și configura rucsacul I2C care conduce afișajul LCD 1602 (opțional), acesta este configurabil soft și sunt disponibile mai multe rucsacuri ale căror configurații de pin variază.
#endif

Pasul 7. Compilați și încărcați pe placă.

Acum ați configurat combo-ul de plăci pe care intenționați să îl utilizați, puteți compila proiectul. Dacă nu intenționați să utilizați tastatura cu matrice 4×4 și LCD, nicio problemă, lăsați în definițiile lor așa cum software-ul se așteaptă să le configureze. Sistemul va funcționa bine prin WiFi fără ele.
Pe IDE, simbolul bifă (verificare) este de fapt „Compilare”. Faceți clic pe acesta și veți vedea că apar diverse mesaje (cu condiția să fi activat compilarea Verbose), pe măsură ce sistemul compilează diferitele biblioteci și le leagă pe toate împreună. Dacă totul funcționează bine și ar trebui dacă ați urmat cu exactitate toți pașii de mai sus, atunci ar trebui să vedeți un mesaj de succes. Acum sunteți gata să apăsați butonul săgeată dreapta (încărcare), dar înainte de a face acest lucru, verificați că ați selectat portul COM corect pentru placă din meniul Instrumente.
După o încărcare cu succes (utilizați un cablu USB de bună calitate) trebuie să invocați și Încărcați meniul de date schiță ESP8266 opțiunea din Instrumente. Acest lucru va pune conținutul folderului de date pe dispozitiv (toate paginile HTML).
Esti gata. Deschideți monitorul serial, faceți clic pe butonul de resetare și ar trebui să vedeți pornirea dispozitivului și să căutați dispozitive I2C. Acum vă puteți conecta la acesta prin Wi-Fi și este gata să fie conectat la placa sa de alimentare (scutul motorului).

Documente/Resurse

Configurare ARDUINO IDE pentru controlerul DCC [pdfInstrucțiuni
Configurare IDE pentru controlerul DCC, Configurare IDE, Configurare pentru controler DCC, Configurare IDE pentru controler DCC, controler DCC

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *