DCC नियन्त्रकको लागि ARDUINO IDE सेटअप
DCC नियन्त्रक लागि Arduino IDE सेट-अप
चरण 1. IDE वातावरण सेटअप। ESP बोर्डहरू लोड गर्नुहोस्।
जब तपाइँ पहिलो पटक Arduino IDE स्थापना गर्नुहुन्छ, यसले ARM आधारित बोर्डहरूलाई मात्र समर्थन गर्दछ। हामीले ESP आधारित बोर्डहरूको लागि समर्थन थप्न आवश्यक छ। मा नेभिगेट गर्नुहोस् File… प्राथमिकताहरू
अतिरिक्त बोर्ड प्रबन्धक मा तल यो लाइन टाइप गर्नुहोस् URLएस बक्स। नोट गर्नुहोस् यसमा अन्डरस्कोरहरू छन्, कुनै खाली ठाउँहरू छैनन्। http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
संकलनको क्रममा भर्बोज देखाउनुहोस् भन्ने बाकसलाई पनि जाँच गर्नुहोस्। यदि संकलनको क्रममा केहि असफल भयो भने यसले हामीलाई थप जानकारी दिन्छ।
नोट गर्नुहोस् कि माथिको रेखाले esp8266 यन्त्रहरू र नयाँ esp32 दुवैका लागि समर्थन थप्छ। दुई json स्ट्रिङहरू अल्पविरामद्वारा छुट्याइएका छन्।
अब बोर्ड चयन गर्नुहोस् संस्करण १.०.० बोर्ड प्रबन्धकबाट
संस्करण 2.7.4 स्थापना गर्नुहोस्। यो काम गर्छ। संस्करण ३.०.० र उच्चले यस परियोजनाको लागि काम गर्दैन। अब, उपकरण मेनुमा फिर्ता, तपाईंले प्रयोग गरिरहनु भएको बोर्ड चयन गर्नुहोस्। यस परियोजनाको लागि यो या त नोडएमसीयू 3.0.0 वा WeMos D1.0R1 हुनेछ
यहाँ हामी WeMos D1R1 चयन गर्छौं। (यसलाई नैनोबाट परिवर्तन गर्दै)
चरण 2. IDE वातावरण सेटअप। ESP8266 स्केच डेटा अपलोड एड-इन लोड गर्नुहोस्।
हामीलाई HTML पृष्ठहरू र अन्य प्रकाशित गर्न अनुमति दिन हामीले यो एड-इन लोड गर्न आवश्यक छ files ESP उपकरणमा। यी तपाईंको प्रोजेक्ट फोल्डर भित्र डाटा फोल्डरमा रहन्छन् https://github.com/esp8266/arduino-esp8266fs-plugin/releases
मा जानुहोस् URL माथि र ESP8266FS-0.5.0.zip डाउनलोड गर्नुहोस्।
आफ्नो Arduino फोल्डर भित्र एक उपकरण फोल्डर सिर्जना गर्नुहोस्। जिपको सामग्रीहरू अनजिप गर्नुहोस् file यो उपकरण फोल्डरमा। तपाईं यो संग समाप्त गर्नुपर्छ;
र नयाँ मेनु विकल्प उपकरण अन्तर्गत देखा पर्नेछ ...
यदि तपाईंले त्यो मेनु विकल्प प्रयोग गर्नुभयो भने, IDE ले डाटा फोल्डरका सामग्रीहरू बोर्डमा अपलोड गर्नेछ। ठीक छ त्यसोभए सामान्य ESP8266 प्रयोगको लागि IDE वातावरण सेट अप गरिएको छ, अब हामीले यस विशिष्ट परियोजनाको लागि Arduino/Libraries फोल्डरमा केही पुस्तकालयहरू थप्न आवश्यक छ।
चरण 3. पुस्तकालयहरू डाउनलोड गर्नुहोस् र म्यानुअल रूपमा स्थापना गर्नुहोस्।
हामीले Github बाट यी पुस्तकालयहरू डाउनलोड गर्न आवश्यक छ; https://github.com/me-no-dev/ESPAsyncTCP
कोडमा क्लिक गर्नुहोस्, र त्यसपछि zip डाउनलोड गर्नुहोस्। यो तपाईंको डाउनलोड फोल्डरमा जान्छ। डाउनलोडहरूमा जानुहोस्, जिप फेला पार्नुहोस्, यसलाई खोल्नुहोस् र सामग्री फोल्डर "ESPAsyncTCP" लाई Arduino/लाइब्रेरीहरूमा तान्नुहोस्।
यदि फोल्डरको नाम "-मास्टर" मा समाप्त हुन्छ भने, त्यसपछि यसलाई अन्त्यबाट "-मास्टर" हटाउन पुन: नामाकरण गर्नुहोस्।
अर्थात् डाउनलोडबाट
ESPAsyncTCP-master को लागि .zip खोल्नुहोस्, र ESPAsyncTCP-मास्टर फोल्डर भित्रबाट Arduino/Libraries मा तान्नुहोस्।
नोट: 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 लाइब्रेरी प्रबन्धक प्रयोग गरेर केही थप पुस्तकालयहरू स्थापना गर्नुहोस्।
हामीलाई थप दुई पुस्तकालयहरू चाहिन्छ, र यी अर्डुइनो लाइब्रेरी प्रबन्धकबाट आउँछन् जसले निर्मित पुस्तकालयहरूको चयन राख्छ। उपकरणहरूमा जानुहोस्... पुस्तकालयहरू प्रबन्ध गर्नुहोस्...
Adafruit INA1.0.3 को संस्करण 219 प्रयोग गर्नुहोस्। यो काम गर्छ।
र पनि
संस्करण 2.1.0 को प्रयोग गर्नुहोस् Webमार्कस सट्टलरबाट सकेटहरू, यो परीक्षण र काम गरिरहेको छ। मैले पछिका संस्करणहरू परीक्षण गरेको छैन।
ठीक छ त्यसैले यो सबै पुस्तकालयहरू (उर्फ सन्दर्भहरू) हो जुन IDE लाई यो परियोजना कम्पाइल गर्न आवश्यक छ।
चरण 5. GitHub बाट ESP_DCC_Controller परियोजना डाउनलोड गर्नुहोस् र IDE मा खोल्नुहोस्।
GitHub मा जानुहोस् र डाउनलोड गर्नुहोस् https://github.com/computski/ESP_DCC_controller
हरियो "कोड" बटनमा क्लिक गर्नुहोस्, र जिप डाउनलोड गर्नुहोस्। त्यसपछि जिप खोल्नुहोस् file र यसको सामग्रीहरू Arduino फोल्डरमा सार्नुहोस्। फोल्डरको नाममा अन्त्य हुने "-मुख्य" हटाउन फोल्डरको नाम बदल्नुहोस्। तपाईंले आफ्नो Arduino फोल्डरमा ESP_ DCC_ नियन्त्रक फोल्डरको साथ समाप्त गर्नुपर्छ। यसमा .INO समावेश हुनेछ file, विभिन्न .H र .CPP files र डाटा फोल्डर।
.INO मा डबल क्लिक गर्नुहोस् file Arduino IDE मा परियोजना खोल्न।
हामीले कम्पाइल हिट गर्नु अघि, हामीले तपाइँका आवश्यकताहरूमा कन्फिगर गर्न आवश्यक छ...
चरण 6. ग्लोबलमा आफ्नो आवश्यकताहरू सेट गर्नुहोस्। h
यो परियोजनाले nodeMCU वा WeMo को D1R1 लाई समर्थन गर्न सक्छ र यसले विभिन्न पावर बोर्ड (मोटर शिल्ड) विकल्पहरूको संख्यालाई समर्थन गर्न सक्छ, साथै यसले हालको मनिटर, LCD डिस्प्ले र कीप्याड जस्ता I2C बसमा यन्त्रहरूलाई समर्थन गर्न सक्छ। र अन्तमा यसले जोगव्हील (रोटरी एन्कोडर) लाई पनि समर्थन गर्न सक्छ। तपाईंले गर्न सक्ने सबैभन्दा आधारभूत निर्माण भनेको WeMo को D1R1 र L298 मोटर शिल्ड हो।
नोट गर्नुहोस् विकल्प असक्षम गर्ने सबैभन्दा सजिलो तरिका भनेको #define कथनमा यसको नामको अगाडि सानो अक्षर n थप्नु हो।
#nNODEMCU_OPTION3 परिभाषित गर्नुहोस्
#nBOARD_ESP12_SHIELD परिभाषित गर्नुहोस्
#परिभाषित गर्नुहोस् WEMOS_D1R1_AND_L298_SHIELD
पूर्वका लागिample, NODEMCU_OPTION3 माथि n को साथ असक्षम गरिएको छ, nBOARD_ESP12_SHIELD को लागि उस्तै। WEMOS_D1R1_AND_L298_SHIELD सक्रिय विकल्प हो, र यसले कम्पाइलरलाई निम्न तल सूचीबद्धको रूपमा यसको लागि कन्फिगरेसन प्रयोग गर्ने कारण दिन्छ।
यो कन्फिगरेसन मार्फत हिंड्न:
#elif परिभाषित (WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 L298 शील्डको साथ स्ट्याक गरिएको, D1-R2 फरक पिनआउटहरू भएको नयाँ मोडेल हो*/
/* L298 शील्डमा ब्रेक जम्परहरू काट्नुहोस्। यी आवश्यक पर्दैन र हामी तिनीहरूलाई I2C पिन द्वारा संचालित गर्न चाहँदैनौं किनकि यसले DCC सिग्नललाई भ्रष्ट पार्छ।
बोर्डमा Arduino फारम कारक छ, पिनहरू निम्नानुसार छन्
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 मुटुको धड्कन र जोगव्हील पुसबटन (सक्रिय हाइ)
D3 GPIO5 DCC सक्षम (pwm)
D4 GPIO4 Jog1
D5 GPIO14 DCC सिग्नल (dir)
D6 GPIO12 DCC सिग्नल (dir)
D7 GPIO13 DCC सक्षम (pwm)
D8 GPIO0 SDA, 12k पुलअपको साथ
D9 GPIO2 SCL, 12k पुलअपको साथ
D10 GPIO15 Jog2
माथिका नोटहरू मानवहरूका लागि हुन्, तपाईंलाई कुन ESP GPIO ले कुन कार्यहरू प्रदर्शन गर्नेछ भन्ने थाहा दिन्छ। नोट गर्नुहोस् कि द Arduino D1-D10 देखि GPIO म्यापिङहरू नोड MCU D1-D10 देखि GPIO म्यापिङहरूमा फरक छन्। */
#USE_ANALOG_MEASUREMENT परिभाषित गर्नुहोस्
#ANALOG_SCALING 3.9 परिभाषित गर्नुहोस् // समानान्तरमा A र B प्रयोग गर्दा (2.36 मल्टिमिटर RMS मिलाउन)
हामी ESP मा AD प्रयोग गर्नेछौं न कि बाह्य I2C हालको निगरानी उपकरण जस्तै INA219 असक्षम
यदि तपाईं INA219 प्रयोग गर्न चाहनुहुन्छ भने यो n USE_ ANALOG_ MEASUREMENT सँग
#PIN_HEARTBEAT 16 परिभाषित गर्नुहोस् // र jogwheel pushbutton
#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 संकेतहरू ड्राइभ गर्नेछ भनेर परिभाषित गर्दछ, हामीसँग दुईवटा च्यानलहरू छन्, चरणमा चलिरहेका छन् ताकि हामी तिनीहरूलाई एकसाथ साझा गर्न सकौं। A- च्यानल dcc_ info [] र B- च्यानल dcc_ info A [] हो। यी म्याक्रोको रूपमा परिभाषित छन् र ब्याकस्ल्याश लाइन-निरन्तर मार्कर हो।
#PIN_SCL 2 //12k पुलअप परिभाषित गर्नुहोस्
#परिभाषित PIN_SDA 0 //12k पुलअप
#PIN_JOG1 4 परिभाषित गर्नुहोस्
#PIN_JOG2 15 //12k पुलडाउन परिभाषित गर्नुहोस्
I2C SCL/SDA चलाउने पिनहरू (GPIOs) परिभाषित गर्नुहोस् र त्यसपछि jogwheel इनपुटहरू 1 र 2
# KEYPAD_ADDRESS 0x21 परिभाषित गर्नुहोस् //pcf8574
वैकल्पिक 4 x 4 म्याट्रिक्स कीप्याडको लागि प्रयोग गरिन्छ, जुन pcf8574 चिप प्रयोग गरेर स्क्यान गरिन्छ।
//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarity। हामी यसलाई 4 बिट उपकरणको रूपमा प्रयोग गर्दैछौं // मेरो डिस्प्ले पिनआउट rs,rw,e,d0-d7 हो। केवल d <4-7> प्रयोग गरिन्छ। <210> देखा पर्दछ किनभने बिटहरू <012> // EN,RW, RS को रूपमा म्याप गरिएको छ र हामीले तिनीहरूलाई हार्डवेयरमा वास्तविक अर्डरमा पुन: क्रमबद्ध गर्न आवश्यक छ, 3 म्याप गरिएको छ // ब्याकलाइटमा। <4-7> ब्याकप्याक र डिस्प्लेमा त्यो क्रममा देखा पर्दछ।
# परिभाषित गर्नुहोस् BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, सकारात्मक); //YwRobot ब्याकप्याक
2 LCD डिस्प्ले (वैकल्पिक) चलाउने I1602C ब्याकप्याक परिभाषित र कन्फिगर गर्न प्रयोग गरिन्छ, यो सफ्ट कन्फिगर योग्य छ र त्यहाँ धेरै ब्याकप्याकहरू उपलब्ध छन् जसको पिन कन्फिगरेसनहरू भिन्न हुन्छन्।
#endif
चरण 7. कम्पाइल गर्नुहोस् र बोर्डमा अपलोड गर्नुहोस्।
अब तपाईंले प्रयोग गर्न चाहनुभएको बोर्ड कम्बो कन्फिगर गर्नुभयो, तपाईं परियोजना कम्पाइल गर्न सक्नुहुन्छ। यदि तपाइँ 4 × 4 म्याट्रिक्स कीप्याड, र LCD प्रयोग गर्न चाहनुहुन्न भने, कुनै समस्या छैन, सफ्टवेयरले तिनीहरूलाई कन्फिगर गर्ने अपेक्षा गरेको रूपमा तिनीहरूको परिभाषाहरूमा छोड्नुहोस्। प्रणाली तिनीहरू बिना WiFi मा राम्रो काम गर्नेछ।
IDE मा, टिक चिन्ह (प्रमाणित) वास्तवमा "कम्पाइल" हो। यसमा क्लिक गर्नुहोस् र तपाईले विभिन्न सन्देशहरू देखा पर्नुहुनेछ (तपाईले भर्बोज संकलन सक्षम गर्नुभयो) किनकि प्रणालीले विभिन्न पुस्तकालयहरूलाई कम्पाइल गर्दछ र सबैलाई एकसाथ जोड्दछ। यदि सबै राम्ररी काम गर्दछ भने, र यदि तपाईंले माथिका सबै चरणहरू ठ्याक्कै पछ्याउनुहुन्छ भने, त्यसपछि तपाईंले सफलता सन्देश देखा पर्नेछ। तपाईं अब दायाँ-तीर (अपलोड) बटन थिच्न तयार हुनुहुन्छ, तर तपाईंले यो गर्नु अघि, तपाईंले उपकरण मेनु अन्तर्गत बोर्डको लागि सही COM पोर्ट चयन गर्नुभएको छ भनी जाँच गर्नुहोस्।
एक सफल अपलोड पछि (राम्रो गुणस्तरको USB केबल प्रयोग गर्नुहोस्) तपाईंले पनि आह्वान गर्न आवश्यक छ ESP8266 स्केच डाटा मेनु लोड गर्नुहोस् उपकरण अन्तर्गत विकल्प। यसले डाटा फोल्डरको सामग्रीहरू उपकरणमा राख्नेछ (सबै HTML पृष्ठहरू)।
तपाईं सकियो। सिरियल मनिटर खोल्नुहोस्, रिसेट बटनमा क्लिक गर्नुहोस् र तपाईंले I2C उपकरणहरूको लागि यन्त्र बुट र स्क्यान हेर्नु पर्छ। अब तपाइँ यसलाई Wifi मार्फत जडान गर्न सक्नुहुन्छ, र यो यसको पावर बोर्ड (मोटर शिल्ड) मा तार गर्न तयार छ।
कागजातहरू / स्रोतहरू
![]() |
DCC नियन्त्रकको लागि ARDUINO IDE सेटअप [pdf] निर्देशनहरू DCC नियन्त्रकको लागि IDE सेटअप, IDE सेटअप, DCC नियन्त्रकको लागि सेटअप, DCC नियन्त्रक IDE सेटअप, DCC नियन्त्रक |