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 بورڊ مينيجر کان
انسٽال ڪريو ورجن 2.7.4. هي ڪم ڪري ٿو. نسخو 3.0.0 ۽ اعلي هن منصوبي لاء ڪم نٿو ڪري. ھاڻي، ٽولز مينيو ۾ واپس، بورڊ چونڊيو جيڪو توھان استعمال ڪندا. هن پروجيڪٽ لاءِ اهو هوندو يا ته هڪ NodeMCU 1.0 يا هڪ WeMos D1R1
هتي اسان چونڊيو 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 ڊيٽا فولڊر جي مواد کي بورڊ تي اپ لوڊ ڪندو. ٺيڪ آهي ته اهو IDE ماحول آهي عام ESP8266 استعمال لاءِ، هاڻي اسان کي هن مخصوص پروجيڪٽ لاءِ Arduino/Libraries فولڊر ۾ ڪجهه لائبريريون شامل ڪرڻ گهرجن.
قدم 3. لائبرريون ڊائون لوڊ ڪريو ۽ دستي طور تي انسٽال ڪريو.
اسان کي اهي لائبريريون ڊائون لوڊ ڪرڻ گهرجن Github کان؛ https://github.com/me-no-dev/ESPAsyncTCP
ڪوڊ تي ڪلڪ ڪريو، ۽ پوء ڊائون لوڊ ڪريو زپ. اهو توهان جي ڊائون لوڊ فولڊر ڏانهن ويندي. ڊائون لوڊ ۾ وڃو، زپ ڳولھيو، ان کي کوليو ۽ مواد فولڊر "ESPAsyncTCP" کي Arduino/لائبريري ڏانھن ڇڪيو.
جيڪڏهن فولڊر جو نالو "-master" سان ختم ٿئي ٿو، پوء ان کي ختم ڪرڻ لاء "-master" کي ختم ڪرڻ جو نالو ڏيو.
يعني ڊائون لوڊ مان
ESPAsyncTCP-master لاءِ .zip کوليو، ۽ ESPAsyncTCP-master فولڊر کي ھن اندر کان Arduino/Libraries ڏانھن ڇڪيو
نوٽ: Arduino/libraries .zip ورجن استعمال نٿا ڪري سگهن، توهان کي گهربل فولڊر ان زپ (ڇڏيو) ڪرڻو پوندو. اسان کي به ضرورت آهي https://github.com/fmalpartida/New-LiquidCrystal
زپ کي ڊائون لوڊ ڪريو پوء ان جي مواد کي Arduino/لائبريري ڏانهن ڇڪيو ۽ هٽايو - ماسٽر ختم.
۽ نيٺ، اسان کي ھيٺ ڏنل لنڪ مان ArduinoJson-5.13.5.zip جي ضرورت آھي https://www.arduinolibraries.info/libraries/arduino-json
ڊائون لوڊ ڪريو ۽ پوءِ ڇڪيو زپ مواد کي Arduino/libraries ڏانهن
قدم 4. Arduino لائبريري مئنيجر استعمال ڪندي ڪجھ وڌيڪ لائبريريون انسٽال ڪريو.
اسان کي ٻه وڌيڪ لائبريرين جي ضرورت آهي، ۽ اهي Arduino لائبريري مئنيجر کان ايندا آهن، جنهن ۾ تعمير ٿيل لائبريرين جي چونڊ آهي. اوزار ڏانھن وڃو... لئبرريون منظم ڪريو...
Adafruit INA1.0.3 جو نسخو 219 استعمال ڪريو. هي ڪم ڪري ٿو.
۽ پڻ
ورجن 2.1.0 جو استعمال ڪريو Webمارڪس سيٽلر کان ساکٽ، هي آزمائشي ۽ ڪم ڪري رهيو آهي. مون بعد ۾ ورزن جي آزمائش نه ڪئي آهي.
ٺيڪ آهي ته اهي سڀئي لائبريريون آهن (اڪا حوالا) جيڪي IDE کي هن پروجيڪٽ کي گڏ ڪرڻ جي ضرورت آهي.
قدم 5. ڊائون لوڊ ڪريو ESP_DCC_Controller پروجيڪٽ GitHub مان ۽ کوليو IDE ۾.
GitHub ڏانھن وڃو ۽ ڊائون لوڊ ڪريو https://github.com/computski/ESP_DCC_controller
سائي "ڪوڊ" بٽڻ تي ڪلڪ ڪريو، ۽ زپ ڊائون لوڊ ڪريو. پوءِ زپ کوليو file ۽ ان جي مواد کي Arduino فولڊر ڏانھن منتقل ڪريو. فولڊر جي نالي تي ختم ٿيڻ واري "-main" کي ختم ڪرڻ لاء فولڊر جو نالو تبديل ڪريو. توھان کي ختم ڪرڻ گھرجي فولڊر ESP_ DCC_ سنڀاليندڙ پنھنجي Arduino فولڊر ۾. اهو هڪ .INO تي مشتمل هوندو file، مختلف .H ۽ .CPP files ۽ هڪ ڊيٽا فولڊر.
.INO تي ڊبل ڪلڪ ڪريو file Arduino IDE ۾ منصوبي کي کولڻ لاء.
ان کان اڳ جو اسان مرتب ڪيو، اسان کي توهان جي گهرجن کي ترتيب ڏيڻ جي ضرورت آهي ...
قدم 6. سيٽ ڪريو توهان جون گهرجون گلوبل ۾. ايڇ
هي پروجيڪٽ nodeMCU يا WeMo جي D1R1 کي سپورٽ ڪري سگهي ٿو ۽ اهو پڻ ڪيترن ئي مختلف پاور بورڊ (موٽر شيلڊ) اختيارن کي سپورٽ ڪري سگهي ٿو، ان سان گڏ اهو I2C بس تي ڊوائيسز کي سپورٽ ڪري سگهي ٿو جهڙوڪ موجوده مانيٽر، LCD ڊسپلي ۽ ڪي پيڊ. ۽ آخرڪار اهو پڻ هڪ جوگ ويل (روٽري انڪوڊر) کي سپورٽ ڪري سگهي ٿو. سڀ کان وڌيڪ بنيادي تعمير توهان ڪري سگهو ٿا هڪ 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 پنن ذريعي هلن جيئن اهو ڊي سي سي سگنل کي خراب ڪندو.
بورڊ ۾ هڪ Arduino فارم فيڪٽر آهي، پن هن ريت آهن
D0 GPIO3 RX
D1 GPIO1 TX
D2 GPIO16 دل جي ڌڙڪن ۽ جوگ ويل پش بٽن (فعال هاءِ)
D3 GPIO5 DCC فعال (pwm)
D4 GPIO4 جوگ1
D5 GPIO14 DCC سگنل (dir)
D6 GPIO12 DCC سگنل (dir)
D7 GPIO13 DCC فعال (pwm)
D8 GPIO0 SDA، 12k پل اپ سان
D9 GPIO2 SCL، 12k پل اپ سان
D10 GPIO15 جوگ2
مٿي انسانن لاءِ نوٽس آهن، توهان کي خبر پوي ٿي ته ڪهڙا ESP GPIOs ڪهڙا ڪم سرانجام ڏيندا. نوٽ ڪريو ته Arduino D1-D10 کان GPIO نقشا مختلف آھن نوڊ MCU D1-D10 کان GPIO نقشن تائين */
# استعمال_ANALOG_MEASUREMENT جي وضاحت ڪريو
# define ANALOG_SCALING 3.9 //جڏهن A ۽ B استعمال ڪريو متوازي ۾ (2.36 ملٽي ميٽر RMS سان ملائڻ لاءِ)
اسان اي ايس پي تي AD استعمال ڪنداسين ۽ نه هڪ ٻاهرين I2C موجوده مانيٽرنگ ڊيوائس جهڙوڪ INA219 غير فعال
هي n USE_ ANALOG_ MEASUREMENT سان جيڪڏهن توهان INA219 استعمال ڪرڻ چاهيو ٿا
# define PIN_HEARTBEAT 16 // ۽ جوگ ويل پش بٽن
#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 };
وضاحت ڪري ٿو ته ڪھڙا پن ڊي سي سي سگنلن کي ڊرائيو ڪندا، اسان وٽ ٻه چينل آھن، جيڪي مرحلي ۾ ھلندا آھن تنھنڪري اسين انھن کي گڏ ڪري سگھون ٿا. A- چينل آهي dcc_ info [] ۽ B- چينل dcc_ info A [] آهي. اهي macros جي طور تي بيان ڪيا ويا آهن ۽ backslash هڪ قطار-تسلسل مارڪر آهي.
# define PIN_SCL 2 //12k پل اپ
# define PIN_SDA 0 //12k پل اپ
PIN_JOG1 4 جي وضاحت ڪريو
# define PIN_JOG2 15 //12k پل ڊائون
پنن جي وضاحت ڪريو (GPIOs) جيڪي I2C SCL/SDA کي هلائيندا آهن ۽ پوءِ پڻ جوگ وييل ان پٽ 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 آهي. صرف ڊي <4-7> استعمال ڪيا ويا آهن. <210> ظاهر ٿئي ٿو ڇاڪاڻ ته بٽس <012> // EN,RW,RS طور نقشا ڪيا ويا آهن ۽ اسان کي انهن کي ٻيهر ترتيب ڏيڻ جي ضرورت آهي في اصل آرڊر تي هارڊويئر تي، 3 ميپ ٿيل آهي // backlight ڏانهن. <4-7> انهي ترتيب ۾ بيڪ پيڪ ۽ ڊسپلي تي ظاهر ٿيو.
# define BOOTUP_LCD LiquidCrystal_I2C lcd (0x27، 2، 1، 0، 4، 5، 6، 7، 3، مثبت)؛ //YwRobot backpack
I2C بيڪ پيڪ کي بيان ڪرڻ ۽ ترتيب ڏيڻ لاءِ استعمال ڪيو ويو جيڪو 1602 LCD ڊسپلي (اختياري) کي هلائي ٿو، اهو نرم ترتيب ڏيڻ وارو آهي ۽ اتي ڪيترائي بيڪ پيڪ موجود آهن جن جي پن ترتيبن ۾ فرق آهي.
#endif
قدم 7. مرتب ڪريو ۽ بورڊ تي اپلوڊ ڪريو.
ھاڻي توھان ٺاھيو آھي بورڊ ڪمبو جيڪو توھان استعمال ڪرڻ جو ارادو ڪيو آھي، توھان پروجيڪٽ کي گڏ ڪري سگھو ٿا. جيڪڏهن توهان 4 × 4 ميٽرڪس ڪي پيڊ استعمال ڪرڻ جو ارادو نه ڪيو، ۽ LCD، ڪو مسئلو ناهي، انهن جي وضاحتن ۾ ڇڏي ڏيو جيئن سافٽ ويئر انهن کي ترتيب ڏيڻ جي اميد رکي ٿو. سسٽم ان کان سواء وائي فائي تي ٺيڪ ڪم ڪندو.
IDE تي، ٽڪ علامت (تصديق) اصل ۾ "مرتب" آهي. هن تي ڪلڪ ڪريو ۽ توهان ڏسندا ته مختلف پيغام ظاهر ٿيندا آهن (جيئن توهان Verbose گڏ ڪرڻ کي فعال ڪيو آهي) جيئن سسٽم مختلف لائبريرين کي گڏ ڪري ٿو ۽ انهن سڀني کي گڏ ڪري ٿو. جيڪڏھن سڀ ڪم چڱيءَ طرح آھي، ۽ اھو گھرجي ته جيڪڏھن توھان مٿي ڏنل سڀني قدمن تي عمل ڪيو، ته پوءِ توھان کي ڏسڻ گھرجي ڪاميابيءَ جو پيغام. توھان ھاڻي تيار آھيو ساڄي-تير (اپلوڊ) بٽڻ کي مارڻ لاءِ، پر توھان کان اڳ ھي ڪريو، چيڪ ڪريو توھان چونڊيو آھي صحيح COM پورٽ بورڊ لاءِ اوزار مينيو ھيٺ.
هڪ ڪامياب اپلوڊ کان پوء (هڪ سٺي معيار جي USB ڪيبل استعمال ڪريو) توهان کي پڻ سڏڻ جي ضرورت آهي لوڊ ڪريو ESP8266 اسڪيچ ڊيٽا مينيو اوزار تحت اختيار. هي ڊيٽا فولڊر جي مواد کي ڊوائيس تي رکندو (سڀني HTML صفحا).
توهان ڪيو آهي. سيريل مانيٽر کوليو، ري سيٽ بٽڻ تي ڪلڪ ڪريو ۽ توھان کي ڏسڻ گھرجي ڊوائيس بوٽ ۽ I2C ڊوائيسز لاء اسڪين. توھان ھاڻي ان کي وائي فائي ذريعي ڳنڍي سگھو ٿا، ۽ اھو تيار آھي پنھنجي پاور بورڊ (موٽر شيلڊ) تائين وائر ڪرڻ لاءِ.
دستاويز / وسيلا
![]() |
ARDUINO IDE DCC ڪنٽرولر لاءِ سيٽ اپ [pdf] هدايتون ڊي سي سي ڪنٽرولر لاءِ IDE سيٽ اپ، IDE سيٽ اپ، ڊي سي سي ڪنٽرولر لاءِ سيٽ اپ، ڊي سي سي ڪنٽرولر IDE سيٽ اپ، ڊي سي سي ڪنٽرولر |