ARDUINO IDE DCC පාලකය සඳහා සකසන්න
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
compilation අතරේ Show Verbose කියන කොටුවත් සලකුණු කරන්න. සම්පාදනය කිරීමේදී යමක් අසමත් වුවහොත් මෙය අපට වැඩි විස්තර ලබා දෙයි.
ඉහත පේළිය esp8266 උපාංග සහ නව esp32 යන දෙකටම සහය එක් කරන බව සලකන්න. json නූල් දෙක කොමාවකින් වෙන් කර ඇත.
දැන් පුවරුව තෝරන්න අනුවාදය 2.7.4 මණ්ඩල කළමනාකරුගෙන්
2.7.4 අනුවාදය ස්ථාපනය කරන්න. මෙය ක්රියා කරයි. 3.0.0 සහ ඉහළ අනුවාදය මෙම ව්යාපෘතිය සඳහා ක්රියා නොකරයි. දැන්, නැවත මෙවලම් මෙනුව තුළ, ඔබ භාවිතා කරන පුවරුව තෝරන්න. මෙම ව්යාපෘතිය සඳහා එය nodeMCU 1.0 හෝ WeMos D1R1 වේ
මෙන්න අපි WeMos D1R1 තෝරන්න. (මෙය නැනෝ වලින් වෙනස් කිරීම)
පියවර 2. IDE පරිසරය සැකසීම. ESP8266 Sketch Data උඩුගත කරන්න add-in.
HTML පිටු සහ වෙනත් ඒවා ප්රකාශනය කිරීමට (දැමීමට) අපට මෙම ඇඩෝනය පූරණය කළ යුතුය fileESP උපාංගය මත s. මේවා ඔබේ ව්යාපෘති ෆෝල්ඩරය තුළ ඇති දත්ත ෆෝල්ඩරයේ ජීවත් වේ https://github.com/esp8266/arduino-esp8266fs-plugin/releases
වෙත යන්න URL ඉහත සහ ESP8266FS-0.5.0.zip බාගන්න.
ඔබගේ Arduino ෆෝල්ඩරය තුළ මෙවලම් ෆෝල්ඩරයක් සාදන්න. Zip එකේ අන්තර්ගතය Unzip කරන්න file මෙම මෙවලම් ෆෝල්ඩරයට. ඔබ මෙය අවසන් කළ යුතුය;
තවද මෙවලම් යටතේ නව මෙනු විකල්පයක් දිස්වනු ඇත...
ඔබ එම මෙනු විකල්පය ඉල්ලා සිටින්නේ නම්, IDE විසින් දත්ත ෆෝල්ඩරයේ අන්තර්ගතය පුවරුවට උඩුගත කරනු ඇත. හරි ඉතින් ඒක තමයි සාමාන්ය ESP8266 භාවිතය සඳහා පිහිටුවා ඇති IDE පරිසරය, දැන් අපි මෙම විශේෂිත ව්යාපෘතිය සඳහා Arduino/Libraries ෆෝල්ඩරයට පුස්තකාල කිහිපයක් එක් කළ යුතුයි.
පියවර 3. පුස්තකාල බාගත කර අතින් ස්ථාපනය කරන්න.
අපි මෙම පුස්තකාල Github වෙතින් බාගත කළ යුතුයි; https://github.com/me-no-dev/ESPAsyncTCP
කේතය මත ක්ලික් කරන්න, ඉන්පසු zip බාගත කරන්න. එය ඔබගේ බාගැනීම් ෆෝල්ඩරය වෙත යයි. බාගැනීම් වෙත ගොස්, zip එක සොයාගෙන, එය විවෘත කර "ESPAsyncTCP" අන්තර්ගත ෆෝල්ඩරය Arduino/libraries වෙත ඇද දමන්න.
ෆෝල්ඩරයේ නම "-master" වලින් අවසන් වන්නේ නම්, අවසානයේ සිට "-master" ඉවත් කිරීමට එය නැවත නම් කරන්න.
එනම් බාගත කිරීම් වලින්
ESPAsyncTCP-master සඳහා .zip විවෘත කර, ESPAsyncTCP-master ෆෝල්ඩරය මෙම ඇතුළත සිට Arduino/Libraries වෙත ඇද දමන්න.
සටහන: Arduino/libraries වලට .zip අනුවාදය භාවිතා කළ නොහැක, ඔබට අවශ්ය ෆෝල්ඩරය unzip (drag) කිරීමට අවශ්ය වේ. අපටත් අවශ්යයි https://github.com/fmalpartida/New-LiquidCrystal
zip එක බාගෙන එහි අන්තර්ගතය Arduino/libraries වෙත ඇදගෙන -master ending ඉවත් කරන්න.
අවසාන වශයෙන්, අපට පහත සබැඳියෙන් ArduinoJson-5.13.5.zip අවශ්ය වේ https://www.arduinolibraries.info/libraries/arduino-json
බාගත කර පසුව zip අන්තර්ගතය Arduino/libraries වෙත ඇදගෙන යන්න
පියවර 4. Arduino Library Manager භාවිතයෙන් තවත් පුස්තකාල කිහිපයක් ස්ථාපනය කරන්න.
අපට තවත් පුස්තකාල දෙකක් අවශ්ය වන අතර, මේවා පැමිණෙන්නේ බිල්ට්-ඉන් පුස්තකාල තෝරාගෙන ඇති Arduino පුස්තකාල කළමනාකරු විසිනි. මෙවලම් වෙත යන්න... පුස්තකාල කළමනාකරණය කරන්න...
Adafruit INA1.0.3 හි 219 අනුවාදය භාවිතා කරන්න. මෙය ක්රියා කරයි.
ඒ වගේම
හි 2.1.0 අනුවාදය භාවිතා කරන්න WebMarkus Sattler වෙතින් සොකට්, මෙය පරීක්ෂා කර වැඩ කරයි. මම පසු සංස්කරණ පරීක්ෂා කර නැත.
හරි එහෙනම් IDE එකට මේ project එක compile කරන්න ඕන පුස්තකාල (aka references) එච්චරයි.
පියවර 5. GitHub වෙතින් ESP_DCC_Controller ව්යාපෘතිය බාගෙන IDE හි විවෘත කරන්න.
GitHub වෙත ගොස් බාගත කරන්න https://github.com/computski/ESP_DCC_controller
හරිත "කේතය" බොත්තම මත ක්ලික් කරන්න, සහ zip බාගත කරන්න. ඉන්පසු zip එක විවෘත කරන්න file සහ එහි අන්තර්ගතය Arduino ෆෝල්ඩරය වෙත ගෙන යන්න. ෆෝල්ඩරයේ නමේ අවසානය "-ප්රධාන" ඉවත් කිරීමට ෆෝල්ඩරය නැවත නම් කරන්න. ඔබ ඔබේ Arduino ෆෝල්ඩරයේ ESP_ DCC_ පාලකය ෆෝල්ඩරයක් සමඟ අවසන් කළ යුතුය. එහි .INO අඩංගු වනු ඇත file, විවිධ .H සහ .CPP files සහ දත්ත ෆෝල්ඩරයක්.
.INO මත ඩබල් ක්ලික් කරන්න file Arduino IDE හි ව්යාපෘතිය විවෘත කිරීමට.
අපි compile ක්ලික් කිරීමට පෙර, අපට ඔබගේ අවශ්යතා වලට වින්යාස කිරීමට අවශ්යයි...
පියවර 6. ඔබගේ අවශ්යතා ගෝලීය වශයෙන් සකසන්න. h
මෙම ව්යාපෘතියට nodeMCU හෝ WeMo's D1R1 සඳහා සහය විය හැකි අතර එයට විවිධ බල මණ්ඩල (මෝටර් පලිහ) විකල්ප ගණනාවකට සහය විය හැකි අතර, එය වත්මන් මොනිටරය, LCD සංදර්ශකය සහ යතුරු පුවරුව වැනි I2C බස් රථයක උපාංග සඳහා සහය විය හැකිය. අවසාන වශයෙන් එයට ජොග්වීල් (භ්රමණ කේතකය) සඳහා ද සහාය විය හැකිය. ඔබට කළ හැකි මූලිකම ගොඩනැගීම WeMo's 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 පලිහ මත BRAKE ජම්පර් කපා. මේවා අවශ්ය නොවන අතර DCC සංඥාව දූෂිත කරන බැවින් I2C පින් මගින් ඒවා ධාවනය කිරීම අපට අවශ්ය නොවේ.
පුවරුවේ 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 GPIOs කුමන කාර්යයන් ඉටු කරන්නේද යන්න ඔබට දන්වයි. බව සලකන්න Arduino D1-D10 සිට GPIO සිතියම්ගත කිරීම් node MCU D1-D10 සිට GPIO සිතියම්ගත කිරීම්වලට වෙනස් වේ. */
#භාවිත_ඇනලොග්_මින නිර්වචනය කරන්න
#ANALOG_SCALING 3.9 අර්ථ දක්වන්න //A සහ B සමාන්තරව භාවිතා කරන විට (2.36 බහුමාපක RMS වලට ගැලපීමට)
අපි ESP මත AD භාවිතා කරන අතර INA2 අක්රිය වැනි බාහිර I219C වත්මන් අධීක්ෂණ උපාංගයක් නොවේ
ඔබට INA219 භාවිතා කිරීමට අවශ්ය නම් මෙය n USE_ ANALOG_ MEASUREMENT සමඟින්
#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 };
DCC සංඥා ධාවනය කරන්නේ කුමන පින්ද යන්න නිර්වචනය කරයි, අපට නාලිකා දෙකක් ඇත, අදියර තුළ ක්රියාත්මක වන බැවින් අපට ඒවා එකට පොදු කළ හැක. A-නාලිකාව dcc_ තොරතුරු [] වන අතර B-නාලිකාව dcc_ තොරතුරු A [] වේ. මේවා macros ලෙස අර්ථ දක්වා ඇති අතර backslash යනු රේඛා-අඛණ්ඩ සලකුණකි.
#PIN_SCL 2 //12k pullup නිර්වචනය කරන්න
#PIN_SDA 0 //12k අදින්න නිර්වචනය කරන්න
#PIN_JOG1 4 නිර්වචනය කරන්න
#PIN_JOG2 15 //12k pulldown නිර්වචනය කරන්න
I2C SCL/SDA ධාවනය කරන අල්ෙපෙනති (GPIOs) නිර්වචනය කරන්න සහ පසුව ජෝග්වීල් ආදාන 1 සහ 2
#KEYPAD_ADDRESS 0x21 //pcf8574 නිර්වචනය කරන්න
pcf4 චිපයක් භාවිතයෙන් ස්කෑන් කරන ලද විකල්ප 4 x 8574 matrix යතුරු පුවරුව සඳහා භාවිතා වේ.
//addr, en,rw,rs,d4,d5,d6,d7,backlight, polarity. අපි මෙය බිට් 4 උපාංගයක් ලෙස භාවිතා කරමු //මගේ ඩිස්ප්ලේ පින්අවුට් එක rs,rw,e,d0-d7 වේ. d<4-7> පමණක් භාවිතා වේ. <210> දිස්වන්නේ බිටු <012> //එන්,ආර්ඩබ්ලිව්,ආර්එස් ලෙස සිතියම්ගත කර ඇති නිසා සහ දෘඪාංගයේ සත්ය අනුපිළිවෙල අනුව අපට ඒවා නැවත අනුපිළිවෙලට සැකසීමට අවශ්යයි, 3 සිතියම්ගත කර ඇත්තේ //පසුතල ආලෝකයටය. <4-7> එම අනුපිළිවෙලට බැක්පැක් එකේ සහ සංදර්ශකයේ දිස්වේ.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, ධනාත්මක); //YwRobot බැක්පැක්
2 LCD සංදර්ශකය ධාවනය කරන I1602C බැක්පැක් නිර්වචනය කිරීමට සහ වින්යාස කිරීමට භාවිතා කරයි (විකල්ප), මෙය මෘදු වින්යාස කළ හැකි අතර පින් වින්යාසය වෙනස් වන බැක්පැක් කිහිපයක් තිබේ.
#endif
පියවර 7. සම්පාදනය කර පුවරුව වෙත උඩුගත කරන්න.
දැන් ඔබ භාවිතා කිරීමට අදහස් කරන පුවරු සංයෝජනය වින්යාස කර ඇත, ඔබට ව්යාපෘතිය සම්පාදනය කළ හැකිය. ඔබ 4×4 matrix යතුරුපුවරුව සහ LCD භාවිතා කිරීමට අදහස් නොකරන්නේ නම්, ගැටළුවක් නැත, මෘදුකාංගය ඒවා වින්යාස කිරීමට බලාපොරොත්තු වන පරිදි ඒවායේ නිර්වචන වල තබන්න. ඔවුන් නොමැතිව WiFi හරහා පද්ධතිය හොඳින් ක්රියා කරයි.
IDE හි, ටික් සංකේතය (තහවුරු කරන්න) ඇත්ත වශයෙන්ම "Compile" වේ. මෙය ක්ලික් කරන්න, පද්ධතිය විවිධ පුස්තකාල සම්පාදනය කර ඒ සියල්ල එකට සම්බන්ධ කරන විට විවිධ පණිවිඩ දිස්වනු ඇත (ඔබ Verbose compilation සක්රීය කර ඇත්නම්). සියල්ල හොඳින් ක්රියාත්මක වන්නේ නම් සහ ඔබ ඉහත සියලු පියවරයන් හරියටම අනුගමනය කළේ නම්, සාර්ථක පණිවිඩයක් දිස්වනු දැකිය යුතුය. ඔබ දැන් දකුණු-ඊතලය (උඩුගත කරන්න) බොත්තම එබීමට සූදානම්, නමුත් ඔබ මෙය කිරීමට පෙර, මෙවලම් මෙනුව යටතේ පුවරුව සඳහා ඔබ නිවැරදි COM පෝට් එක තෝරාගෙන ඇත්දැයි පරීක්ෂා කරන්න.
සාර්ථක උඩුගත කිරීමකින් පසුව (හොඳ තත්ත්වයේ USB කේබලයක් භාවිතා කරන්න) ඔබ ද ඉල්ලා සිටිය යුතුය ESP8266 ස්කීච් දත්ත මෙනුව පූරණය කරන්න මෙවලම් යටතේ විකල්පය. මෙය දත්ත ෆෝල්ඩරයේ අන්තර්ගතය උපාංගයට (සියලු HTML පිටු) දමනු ඇත.
ඔබ ඉවරයි. අනුක්රමික මොනිටරය විවෘත කරන්න, යළි පිහිටුවීමේ බොත්තම ක්ලික් කරන්න, එවිට ඔබ උපාංගය ආරම්භ කිරීම සහ I2C උපාංග සඳහා ස්කෑන් කිරීම දැකිය යුතුය. ඔබට දැන් Wifi හරහා එයට සම්බන්ධ විය හැකි අතර, එය එහි බල පුවරුව (මෝටර් පලිහ) දක්වා වයර් කිරීමට සූදානම්ය.
ලේඛන / සම්පත්
![]() |
ARDUINO IDE DCC පාලකය සඳහා සකසන්න [pdf] උපදෙස් DCC පාලකය සඳහා IDE සකසන්න, IDE සැකසුම, DCC පාලකය සඳහා සකසන්න, DCC පාලක IDE සැකසුම, DCC පාලකය |