ARDUINO IDE DCC kontrolagailurako konfiguratuta 

ARDUINO IDE Logotipoa

Arduino IDE konfigurazioa DCC kontrolagailurako

1. urratsa. IDE ingurunea konfiguratzea. Kargatu ESP taulak.

Arduino IDE lehen aldiz instalatzen duzunean, ARM oinarritutako plakak soilik onartzen ditu. ESP oinarritutako plaketarako euskarria gehitu behar dugu. Nabigatu File… Hobespenak

IDE ingurunearen konfigurazioa. Kargatu ESP taulak
IDE ingurunearen konfigurazioa. Kargatu ESP taulak

Idatzi lerro hau beheko taula gehigarrien kudeatzailean URLS kutxa. Kontuan izan azpimarra dagoela, zuriunerik gabe.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Egiaztatu Erakutsi hitzezkoa dioen laukia ere konpilatzean. Honek informazio gehiago ematen digu konpilazioan zehar zerbait huts egiten badu.

Kontuan izan goiko lerroak esp8266 gailuetarako eta esp32 berrirako euskarria gehitzen duela. Bi json kateak komaz bereizten dira.
Orain hautatu taula 2.7.4 bertsioa kontseilu kudeatzailetik

Arduino IDE konfigurazioa DCC kontrolagailurako

Instalatu 2.7.4 bertsioa. Honek funtzionatzen du. 3.0.0 bertsioak eta berriagoak ez du funtzionatzen proiektu honetan. Orain, berriro Tresnak menuan, hautatu erabiliko duzun taula. Proiektu honetarako nodeMCU 1.0 edo WeMos D1R1 bat izango da

Arduino IDE konfigurazioa DCC kontrolagailurako

Hemen WeMos D1R1 hautatuko dugu. (Nanotik hau aldatuz)

2. urratsa. IDE ingurunea konfiguratzea. Kargatu ESP8266 Sketch Data Upload gehigarria.

Gehigarri hau kargatu behar dugu HTML orriak eta bestelakoak argitaratzeko (jarri) ahal izateko files ESP gailuan. Hauek zure proiektuaren karpetaren barruan dauden datuen karpetan bizi dira https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Joan zaitez URL goiko eta deskargatu ESP8266FS-0.5.0.zip.
Sortu Tresnak karpeta bat zure Arduino karpeta barruan. Deskonprimitu ziparen edukia file Tresnak karpeta honetara. Honekin amaitu beharko zenuke;

Arduino IDE konfigurazioa DCC kontrolagailurako

Eta menu-aukera berri bat agertuko da Tresnak atalean...

Arduino IDE konfigurazioa DCC kontrolagailurako

Menu-aukera hori deitzen baduzu, IDEak datuen karpetaren edukia igoko du arbelera. Ongi da, beraz, ESP8266 erabilera orokorrerako konfiguratutako IDE ingurunea da, orain liburutegi batzuk gehitu behar ditugu proiektu zehatz honetarako Arduino/Liburutegiak karpetara.

3. urratsa. Deskargatu liburutegiak eta eskuz instalatu.

Liburutegi hauek Github-etik deskargatu behar ditugu; https://github.com/me-no-dev/ESPAsyncTCP

Arduino IDE konfigurazioa DCC kontrolagailurako

Egin klik kodean, eta deskargatu zip. Zure deskarga karpetara joango da. Sartu deskargetara, aurkitu zip, ireki eta arrastatu edukien karpeta "ESPAsyncTCP" Arduino/liburutegietara.
Karpeta izena "-master"-rekin amaitzen bada, aldatu izena amaieratik "-master" kentzeko.
hau da, deskargetatik

Arduino IDE konfigurazioa DCC kontrolagailurako

Ireki .zip ESPAsyncTCP-masterrako, eta arrastatu ESPAsyncTCP-master karpeta honen barrutik Arduino/Liburutegietara

Arduino IDE konfigurazioa DCC kontrolagailurako

Oharra: Arduino/liburutegiek ezin dute .zip bertsioa erabili, nahi duzun karpeta deskonprimitu (arrastatu) behar duzu. Guk ere behar dugu https://github.com/fmalpartida/New-LiquidCrystal
Deskargatu zip, gero arrastatu bere edukia Arduino/liburutegietara eta kendu -master amaiera.

Eta azkenik, ArduinoJson-5.13.5.zip behar dugu beheko estekatik https://www.arduinolibraries.info/libraries/arduino-json

deskargatu eta gero arrastatu zip-edukia Arduino/liburutegietara

4. urratsa. Instalatu liburutegi pare bat gehiago Arduino Library Manager erabiliz.

Beste bi liburutegi behar ditugu, eta hauek liburutegi integratuen aukeraketa bat daukan Arduino Liburutegien Kudeatzailetik datoz. Joan Tresnak… Kudeatu liburutegiak…

Arduino IDE konfigurazioa DCC kontrolagailurako
Arduino IDE konfigurazioa DCC kontrolagailurako

Erabili Adafruit INA1.0.3-ren 219 bertsioa. Honek funtzionatzen du. 

Eta gainera

Arduino IDE konfigurazioa DCC kontrolagailurako

Erabili 2.1.0 bertsioa WebMarkus Sattler-en entxufeak, hau probatu eta funtzionatzen du. Ez ditut ondorengo bertsioak probatu.
Ados, IDEak proiektu hau konpilatzeko behar dituen liburutegi guztiak (aka erreferentziak) dira.

5. urratsa. Deskargatu ESP_DCC_Controller proiektua GitHub-etik eta ireki IDE-n.

Joan GitHub-era eta deskargatu https://github.com/computski/ESP_DCC_controller

Egin klik "Kodea" botoian berdean, eta deskargatu zip. Ondoren, ireki kremailera file eta eraman bere edukia Arduino karpetara. Aldatu karpetaren izena karpetaren izenean "-main" amaiera kentzeko. Zure Arduino karpetan ESP_ DCC_ kontrolagailu batekin amaitu beharko zenuke. .INO bat edukiko du file, hainbat .H eta .CPP files eta datu karpeta bat.

Arduino IDE konfigurazioa DCC kontrolagailurako

Egin klik bikoitza .INO file proiektua Arduino IDEan irekitzeko.
Konpilazioari ekin baino lehen, zure eskakizunetara konfiguratu behar dugu...

6. urratsa. Ezarri zure baldintzak Global-en. h

Proiektu honek nodeMCU edo WeMo-ren D1R1 onar ditzake eta elikatze-taula (motor-ezkutua) aukera ezberdin ugari ere onartzen ditu, eta I2C bus bateko gailuak onartzen ditu, hala nola, egungo monitorea, LCD pantaila eta teklatua. Eta, azkenik, jogwheel (kodetzaile birakaria) ere onartzen du. Egin dezakezun eraikuntzarik oinarrizkoena WeMo-ren D1R1 eta L298 motor-ezkutua da.
Kontuan izan aukera bat desgaitzeko modurik errazena #define adierazpenean n minuskula bat gehitzea dela bere izenaren aurrean.
#definitu nNODEMCU_OPTION3
#definitu nBOARD_ESP12_SHIELD
#definitu WEMOS_D1R1_AND_L298_SHIELD
Adibidezample, goiko NODEMCU_OPTION3 n-rekin desgaitu da, berdina nBOARD_ESP12_SHIELD-rekin. WEMOS_D1R1_AND_L298_SHIELD aukera aktiboa da, eta honek konpilatzaileak behean zerrendatutako moduan konfigurazioa erabiliko du.

Konfigurazio honetan zehar ibiltzeko: 

#elif definitu (WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 L298 ezkutuarekin pilatuta, kontuan izan D1-R2 eredu berriagoa dela pinout ezberdinekin*/
/*Moztu L298 ezkutuan BRAKE jauziak. Hauek ez dira beharrezkoak eta ez ditugu nahi I2C pinek bultzatuta, DCC seinalea hondatuko baita.

Plakak Arduino forma faktorea du, pinak hauek dira
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 taupadak eta jogwheel sakagailu (hi aktiboa)
D3 GPIO5 DCC gaitzea (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC seinalea (zuz.)
D6 GPIO12 DCC seinalea (zuz.)
D7 GPIO13 DCC gaitzea (pwm)
D8 GPIO0 SDA, 12k pullup batekin
D9 GPIO2 SCL, 12k pullup batekin
D10 GPIO15 Jog2
goikoak gizakientzako oharrak dira, zein ESP GPIOk zein funtzio beteko dituen jakin dezazun. Kontuan izan Arduino D1-D10-rako GPIO-ko mapak desberdinak dira MCU D1-D10-rako GPIO-ko nodoaren mapak */

#defini USE_ANALOG_MEASUREMENT
#defini ANALOG_SCALING 3.9 //A eta B paraleloan erabiltzen dituzunean (2.36 multimetro RMS bat etortzeko)
AD-a ESP-n erabiliko dugu eta ez kanpoko I2C korronte monitorizatzeko gailu bat, esate baterako, INA219 desgaitu
hau n USE_ ANALOG_ MEASUREMENT-rekin INA219 erabili nahi baduzu

#defini PIN_HEARTBEAT 16 //eta jogwheel sakagailua
#defini 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 seinaleak zein pin gidatuko dituen zehazten du, bi kanal ditugu, fasean martxan jarrita, elkarrekin komunak izan ditzagun. A kanala dcc_ info [] da eta B kanala dcc_ info A []. Hauek makro gisa definitzen dira eta atzera-barra lerro-jarraipen-markatzailea da.

#definitzen PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#defini PIN_JOG1 4
#define PIN_JOG2 15 //12k goitibeherako

Definitu I2C SCL/SDA gidatzen duten pinak (GPIOak) eta gero jogwheel 1 eta 2 sarrerak ere

#defini KEYPAD_ADDRESS 0x21 //pcf8574

Aukerako 4 x 4 matrize teklaturako erabiltzen da, pcf8574 txipa erabiliz eskaneatzen dena

//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarity. hau 4 biteko gailu gisa erabiltzen ari gara //nire pantailaren pinout-a rs,rw,e,d0-d7 da. d<4-7> bakarrik erabiltzen dira. <210> agertzen da <012> bitak //EN,RW,RS gisa mapatzen direlako eta hardwareko benetako ordenaren arabera berrantolatu behar ditugulako, 3 atzeko argiarekin mapatuta dagoelako. <4-7> ordena horretan agertzen dira motxilan eta pantailan.

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

2 LCD pantaila gidatzen duen I1602C motxila definitzeko eta konfiguratzeko erabiltzen da (aukerakoa), hau softkonfiguragarria da eta hainbat motxila daude eskuragarri, zeinen pin konfigurazioak aldatzen diren.
#endif

7. urratsa. Konpilatu eta kargatu arbelera.

Orain erabili nahi duzun taula konbinazioa konfiguratu duzu, proiektua konpila dezakezu. 4×4 matrizeko teklatua eta LCDa erabiltzeko asmorik ez baduzu, ez duzu arazorik, utzi haien definizioak softwareak konfiguratzea espero duen moduan. Sistemak ondo funtzionatuko du WiFi bidez haiek gabe.
IDEan, tick ikurra (egiaztatu) "Konpilatu" da. Egin klik honetan eta hainbat mezu agertuko dira (baldin eta hitzezko konpilazioa gaituta baduzu), sistemak liburutegi ezberdinak konpilatu eta guztiak elkarrekin lotzen dituen bitartean. Guztiak ondo funtzionatzen badu, eta goiko urrats guztiak zehatz-mehatz jarraituz gero, arrakasta-mezu bat agertuko zaizu. Eskuineko gezia (kargatu) botoia sakatzeko prest zaude orain, baina hori egin aurretik, egiaztatu taularako COM ataka zuzena hautatu duzula Tresnak menuan.
Kargatu ondo egin ondoren (erabili kalitate oneko USB kablea) dei egin behar duzu Kargatu ESP8266 Sketch Data menua Tresnak aukeran. Honek datu karpetaren edukia gailuan jarriko du (HTML orrialde guztiak).
Bukatu duzu. Ireki serieko monitorea, egin klik berrezarri botoian eta gailua abiarazi eta I2C gailuak bilatu behar dituzu. Wifi bidez konekta zaitezke orain, eta prest dago bere elikatze-plakara (motor-ezkutua) kableatzeko.

Dokumentuak / Baliabideak

ARDUINO IDE DCC kontrolagailurako konfiguratuta [pdfArgibideak
IDE konfigurazioa DCC kontrolagailurako, IDE konfigurazioa, DCC kontrolagailurako konfigurazioa, DCC kontrolagailurako IDE konfigurazioa, DCC kontrolagailurako

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *