ARDUINO IDE Agordita por DCC-Regilo 

ARDUINO IDE Logo

Arduino IDE-aranĝo por DCC-regilo

Paŝo 1. IDE medio aranĝo. Ŝarĝu la ESP-tabulojn.

Kiam vi unue instalas la Arduino-IDE, ĝi nur subtenas ARM-bazitajn tabulojn. Ni devas aldoni subtenon por ESP bazitaj tabuloj. Navigu al File… Preferoj

Agordo de IDE-medio. Ŝarĝu la ESP-tabulojn
Agordo de IDE-medio. Ŝarĝu la ESP-tabulojn

Tajpu ĉi tiun linion sube en la Administranton de Aldonaj Tabuloj URLS-skatolo. Notu, ke estas substrekoj en ĝi, neniuj spacoj.  http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Ankaŭ marku la skatolon kiu diras Montri Vortan dum kompilo. Ĉi tio donas al ni pli da informoj se io malsukcesas dum la kompilo.

Notu, ke la supra linio aldonas subtenon por kaj esp8266-aparatoj kaj la pli nova esp32. La du json-ĉenoj estas apartigitaj per komo.
Nun elektu tabulon versio 2.7.4 de estrardirektoro

Arduino IDE-aranĝo por DCC-regilo

Instalu version 2.7.4. Ĉi tio funkcias. Versio 3.0.0 kaj pli alta ne funkcias por ĉi tiu projekto. Nun, reen en la menuo Iloj, elektu la tabulon, kiun vi uzos. Por ĉi tiu projekto ĝi estos aŭ nodeMCU 1.0 aŭ WeMos D1R1

Arduino IDE-aranĝo por DCC-regilo

Ĉi tie ni elektas la WeMos D1R1. (ŝanĝante ĉi tion de la Nano)

Paŝo 2. IDE medio aranĝo. Ŝargi ESP8266 Sketch Data Alŝuto aldonaĵo.

Ni devas ŝargi ĉi tiun aldonaĵon por permesi al ni publikigi (meti) HTML-paĝojn kaj aliajn files sur la ESP-aparato. Ĉi tiuj loĝas en la datumdosierujo ene de via projekta dosierujo https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Iru al la URL supre kaj elŝutu ESP8266FS-0.5.0.zip.
Kreu Dosierujon de Iloj en via Arduino-dosierujo. Malfermu la enhavon de la zipo file al ĉi tiu Dosierujo de Iloj. Vi devus fini kun ĉi tio;

Arduino IDE-aranĝo por DCC-regilo

Kaj nova menuopcio aperos sub Iloj...

Arduino IDE-aranĝo por DCC-regilo

Se vi alvokas tiun menuopcion, la IDE alŝutos la enhavon de la datumdosierujo al la tabulo. Ok do tio estas la IDE-medio agordita por ĝenerala uzo de ESP8266, nun ni devas aldoni kelkajn bibliotekojn al la dosierujo Arduino/Bibliotekoj por ĉi tiu specifa projekto.

Paŝo 3. Elŝutu bibliotekojn kaj permane instali.

Ni devas elŝuti ĉi tiujn bibliotekojn de Github; https://github.com/me-no-dev/ESPAsyncTCP

Arduino IDE-aranĝo por DCC-regilo

Alklaku kodon, kaj poste elŝutu zip. Ĝi iros al via elŝuta dosierujo. Iru en elŝutojn, trovu la zipon, malfermu ĝin kaj trenu la enhavan dosierujon "ESPAsyncTCP" al Arduino/bibliotekoj.
Se la dosierujo-nomo finiĝas per "-master", tiam renomu ĝin por forigi "-master" de la fino.
te de elŝutoj

Arduino IDE-aranĝo por DCC-regilo

Malfermu la .zip por ESPAsyncTCP-master, kaj trenu ESPAsyncTCP-master-dosierujon de ene de ĉi tiu al Arduino/Bibliotekoj

Arduino IDE-aranĝo por DCC-regilo

Notu: Arduino/bibliotekoj ne povas uzi la .zip-version, vi devas malzipi (treni) la deziratan dosierujon. Ni ankaŭ bezonas https://github.com/fmalpartida/New-LiquidCrystal
Elŝutu la zipon kaj trenu ĝian enhavon al Arduino/bibliotekoj kaj forigu -master-finaĵon.

Kaj finfine, ni bezonas ArduinoJson-5.13.5.zip de la suba ligilo https://www.arduinolibraries.info/libraries/arduino-json

elŝutu kaj tiam trenu la zip-enhavon al Arduino/bibliotekoj

Paŝo 4. Instalu kelkajn pliajn bibliotekojn uzante Arduino Library Manager.

Ni bezonas du pliajn bibliotekojn, kaj ĉi tiuj venas de la Biblioteko-Manaĝero de Arduino, kiu enhavas elekton de enkonstruitaj bibliotekoj. Iru al Iloj... Administri Bibliotekojn...

Arduino IDE-aranĝo por DCC-regilo
Arduino IDE-aranĝo por DCC-regilo

Uzu version 1.0.3 de Adafruit INA219. Ĉi tio funkcias. 

Kaj ankaŭ

Arduino IDE-aranĝo por DCC-regilo

Uzu version 2.1.0 de WebIngoj de Markus Sattler, ĉi tio estas provita kaj funkcianta. Mi ne testis postajn versiojn.
Bone do tio estas ĉiuj bibliotekoj (alinome referencoj) kiujn la IDE bezonas por kompili ĉi tiun projekton.

Paŝo 5. Elŝutu la projekton ESP_DCC_Controller de GitHub kaj malfermu en IDE.

Iru al GitHub kaj elŝutu https://github.com/computski/ESP_DCC_controller

Alklaku la verdan butonon "Kodo", kaj elŝutu la zipon. Poste malfermu la zipon file kaj movu ĝian enhavon al la dosierujo Arduino. Alinomi la dosierujon por forigi la "-main" finaĵon sur la dosierujo nomo. Vi devus fini kun dosierujo ESP_DCC_-regilo en via Arduino-dosierujo. Ĝi enhavos .INO file, diversaj .H kaj .CPP files kaj datumdosierujo.

Arduino IDE-aranĝo por DCC-regilo

Duoble alklaku la .INO file malfermi la projekton en la Arduino IDE.
Antaŭ ol ni trafos kompili, ni devas agordi laŭ viaj postuloj...

Paŝo 6. Agordu viajn postulojn en Tutmonda. h

Ĉi tiu projekto povas subteni la nodeMCU aŭ la D1R1 de WeMo kaj ĝi ankaŭ povas subteni kelkajn malsamajn opciojn de elektra tabulo (motora ŝildo), krome ĝi povas subteni aparatojn sur I2C-buso kiel aktuala ekrano, LCD-ekrano kaj klavaro. Kaj fine ĝi ankaŭ povas subteni ŝovuradon (rotacianta kodilo). La plej baza konstruo, kiun vi povas fari, estas la motora ŝildo D1R1 kaj L298 de WeMo.
Notu, ke la plej facila maniero malŝalti opcion estas aldoni minusklan n antaŭ ĝia nomo en la #define deklaro.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#difini WEMOS_D1R1_AND_L298_SHIELD
Por ekzample, super NODEMCU_OPTION3 estis malŝaltita kun n, la sama por nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD estas la aktiva opcio, kaj ĉi tio igos la kompililon uzi la agordon por ĉi tio kiel listigita malsupre.

Por trairi ĉi tiun agordon: 

#elif difinita(WEMOS_D1R1_AND_L298_SHIELD)

/*Wemos D1-R1 stakigita kun L298-ŝildo, notu, ke la D1-R2 estas pli nova modelo kun malsamaj pinouts*/
/*Tranĉu la BRAKE-saltaĵojn sur la L298-ŝildo. Ĉi tiuj ne estas postulataj kaj ni ne volas ilin pelataj de la I2C-pingloj, ĉar ĝi koruptos la DCC-signalon.

La tabulo havas Arduino-formfaktoron, la pingloj estas kiel sekvas
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 korbata kaj ŝovara prembutono (aktiva hi)
D3 GPIO5 DCC-aktivigo (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC-signalo (dir)
D6 GPIO12 DCC-signalo (dir)
D7 GPIO13 DCC-aktivigo (pwm)
D8 GPIO0 SDA, kun 12k pullup
D9 GPIO2 SCL, kun 12k pullup
D10 GPIO15 Jog2
ĉi-supraj estas notoj por homoj, sciigas al vi, kiuj ESP GPIO-oj plenumos kiujn funkciojn. Notu ke la Mapadoj de Arduino D1-D10 al GPIO diferencas al la mapadoj de nodo MCU D1-D10 al GPIO */

#difini USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //kiam oni uzas A kaj B paralele (2.36 por kongrui multimetron RMS)
Ni uzos la AD sur la ESP kaj ne eksteran I2C-kurenta monitora aparato kiel la INA219-malŝalto
ĉi tio kun n USE_ ANALOG_ MEASUREMENT se vi ja volas uzi INA219

#define PIN_HEARTBEAT 16 //kaj prembutono de jogwheel
#difini 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 };
Difinas, kiuj pingloj kondukos la DCC-signalojn, ni havas du kanalojn, kurantajn en fazo, por ke ni povu komuna ilin kune. A-kanalo estas dcc_ info [] kaj B-kanalo estas dcc_ info A []. Tiuj estas difinitaj kiel makrooj kaj la malantaŭa oblikvo estas linio-daŭriga signo.

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

Difinu la pinglojn (GPIO) kiuj kondukas la I2C SCL/SDA kaj tiam ankaŭ la jogwheel-enigaĵojn 1 kaj 2

#difini KEYPAD_ADDRESS 0x21 //pcf8574

Uzite por la laŭvola 4 x 4 matrica klavaro, kiu estas skanita per pcf8574-peceto

//addr, en,rw,rs,d4,d5,d6,d7,backlight, polusity. ni uzas ĉi tion kiel 4-bitan aparaton //mia ekrana pinouto estas rs,rw,e,d0-d7. nur d<4-7> estas uzataj. <210> aperas ĉar bitoj <012> estas //mapitaj kiel EN,RW, RS kaj ni devas reordigi ilin laŭ fakta ordo sur la aparataro, 3 estas mapita //al la kontraŭlumo. <4-7> aperas en tiu ordo sur la dorsosako kaj sur la ekrano.

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

Uzita por difini kaj agordi la I2C-tornistro, kiu veturas la 1602 LCD-ekranon (laŭvola), ĉi tio estas mola agordebla kaj ekzistas pluraj dorsosakoj disponeblaj, kies pinglaj agordoj varias.
#endif

Paŝo 7. Kompilu kaj alŝutu al la tabulo.

Nun vi agordis la tabulkombion, kiun vi intencas uzi, vi povas kompili la projekton. Se vi ne intencas uzi la 4×4 matrican klavaron, kaj LCD, neniu problemo, lasu en iliaj difinoj ĉar la programaro atendas agordi ilin. La sistemo funkcios bone per WiFi sen ili.
Sur la IDE, la tick-simbolo (kontrolu) estas fakte "Kompili". Alklaku ĉi tion kaj vi vidos diversajn mesaĝojn aperos (kondiĉe ke vi ebligis Vortan kompilon) dum la sistemo kompilas la diversajn bibliotekojn kaj ligas ĝin ĉiujn kune. Se ĉio funkcias bone, kaj ĝi devus se vi sekvis ĉiujn suprajn paŝojn ĝuste, tiam vi devus vidi sukcesan mesaĝon aperi. Vi nun pretas bati la dekstran sagon (alŝuti) butonon, sed antaŭ ol fari tion, kontrolu, ke vi elektis la ĝustan COM-havenon por la tabulo sub la menuo Iloj.
Post sukcesa alŝuto (uzu bonkvalitan USB-kablon) vi ankaŭ devas alvoki la Ŝarĝu la menuon de Sketch Data de ESP8266 opcio sub Iloj. Ĉi tio metos la enhavon de la datumdosierujo sur la aparaton (ĉiuj HTML-paĝoj).
Vi estas finita. Malfermu la serian monitoron, alklaku la restarigi butonon kaj vi devus vidi la aparaton ekfunkciigi kaj skani por I2C-aparatoj. Vi nun povas konektiĝi al ĝi per Wifi, kaj ĝi estas preta por kabligi ĝis ĝia elektra tabulo (motora ŝildo).

Dokumentoj/Rimedoj

ARDUINO IDE Agordita por DCC-Regilo [pdf] Instrukcioj
IDE Agordu por DCC-Regilo, IDE-Agordu, Agordu por DCC-Regilo, DCC-Regilo IDE-Agordu, DCC-Regilo

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *