הגדרות ARDUINO IDE עבור בקר DCC
הגדרת Arduino IDE עבור בקר DCC
שלב 1. הגדרת סביבת IDE. טען את לוחות ה-ESP.
כאשר אתה מתקין לראשונה את Arduino IDE, הוא תומך רק בלוחות מבוססי ARM. אנחנו צריכים להוסיף תמיכה בלוחות מבוססי ESP. נווט ל File… העדפות
הקלד שורה זו למטה במנהל לוחות נוספים URLS box. שימו לב שיש בו קווים תחתונים, ללא רווחים. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
סמן גם את התיבה שאומרת 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 Upload.
עלינו לטעון את התוסף הזה כדי לאפשר לנו לפרסם (להכניס) דפי HTML ואחרים files במכשיר ה-ESP. אלה חיים בתיקיית הנתונים שבתיקיית הפרויקט שלך https://github.com/esp8266/arduino-esp8266fs-plugin/releases
עבור אל URL למעלה והורד את ESP8266FS-0.5.0.zip.
צור תיקיית כלים בתוך תיקיית Arduino שלך. פתח את תוכן ה-zip file לתיקיית כלים זו. אתה צריך לסיים עם זה;
ואפשרות תפריט חדשה תופיע תחת כלים...
אם תפעיל את אפשרות התפריט הזו, ה-IDE יעלה את התוכן של תיקיית הנתונים ללוח. אוקיי אז זו סביבת ה-IDE שהוגדרה לשימוש כללי ב-ESP8266, כעת עלינו להוסיף מספר ספריות לתיקיית Arduino/Libraries עבור הפרויקט הספציפי הזה.
שלב 3. הורד ספריות והתקן ידנית.
עלינו להוריד את הספריות הללו מ-Github; https://github.com/me-no-dev/ESPAsyncTCP
לחץ על קוד ולאחר מכן הורד zip. זה יעבור לתיקיית ההורדות שלך. היכנסו להורדות, מצאו את ה-zip, פתחו אותו וגררו את תיקיית התוכן "ESPAsyncTCP" אל Arduino/ספריות.
אם שם התיקיה מסתיים ב-"-master", אז שנה את שמה כדי להסיר את "-master" מהסוף.
כלומר מהורדות
פתח את ה-.zip עבור ESPAsyncTCP-master וגרור את תיקיית ESPAsyncTCP-master מתוך זה אל Arduino/Libraries
פֶּתֶק: Arduino/Libraries לא יכולים להשתמש בגרסת ה-.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 Library Manager.
אנו זקוקים לשתי ספריות נוספות, ואלו מגיעות ממנהל הספריות של Arduino שמחזיק מבחר ספריות מובנות. עבור אל כלים... נהל ספריות...
השתמש בגרסה 1.0.3 של Adafruit INA219. זה עובד.
וגם
השתמש בגרסה 2.1.0 של Webשקעים של Markus Sattler, זה נבדק ועובד. לא בדקתי גרסאות מאוחרות יותר.
אוקיי אז זה כל הספריות (הידוע גם בהפניות) שה-IDE צריך כדי להדר את הפרויקט הזה.
שלב 5. הורד את פרויקט ESP_DCC_Controller מ-GitHub ופתח ב-IDE.
עבור אל GitHub והורד https://github.com/computski/ESP_DCC_controller
לחץ על הכפתור הירוק "קוד" והורד את ה-zip. ואז פתח את הרוכסן file ולהעביר את התוכן שלו לתיקיית Arduino. שנה את שם התיקיה כדי להסיר את הסיומת "-main" בשם התיקיה. אתה אמור לסיים עם בקר ESP_ DCC_ של תיקיות בתיקיית Arduino שלך. הוא יכיל .INO file, .H ו-.CPP שונים files ותיקיית נתונים.
לחץ פעמיים על .INO file כדי לפתוח את הפרויקט ב- Arduino IDE.
לפני שנלחץ על קומפילציה, עלינו להגדיר לדרישות שלך...
שלב 6. הגדר את הדרישות שלך בגלובל. ח
פרויקט זה יכול לתמוך ב-nodeMCU או ב-D1R1 של WeMo והוא גם יכול לתמוך במספר אפשרויות שונות של לוח חשמל (מגן מנוע), בנוסף הוא יכול לתמוך בהתקנים על אפיק I2C כגון צג זרם, תצוגת LCD ומקלדת. ולבסוף זה יכול לתמוך גם בגלגל תנועה (מקודד סיבובי). המבנה הבסיסי ביותר שאתה יכול לעשות הוא מגן מנוע D1R1 ו-L298 של WeMo.
שימו לב שהדרך הקלה ביותר להשבית אפשרות היא להוסיף אות קטנה לפני השם שלה במשפט #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#לְהַגדִיר WEMOS_D1R1_AND_L298_SHIELD
למשלample, מעל NODEMCU_OPTION3 הושבת עם n, זהה עבור nBOARD_ESP12_SHIELD. WEMOS_D1R1_AND_L298_SHIELD היא האפשרות הפעילה, וזה יגרום למהדר להשתמש בתצורה לכך כפי שרשומה למטה.
כדי לעבור על התצורה הזו:
#elif defined(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 מוערם עם מגן L298, שימו לב שה-D1-R2 הוא דגם חדש יותר עם פינות שונות*/
/*חתוך את מגשרים BRAKE על מגן 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 pullup
D10 GPIO15 Jog2
האמור לעיל הוא הערות עבור בני אדם, מאפשר לך לדעת אילו ESP GPIOs יבצעו אילו פונקציות. שימו לב שה- מיפויי Arduino D1-D10 ל-GPIO שונים ממיפויי הצומת MCU D1-D10 ל-GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //כאשר משתמשים ב-A ו-B במקביל (2.36 כדי להתאים RMS מולטימטר)
אנו נשתמש ב-AD ב-ESP ולא בהתקן חיצוני לניטור זרם I2C כגון השבתת INA219
זה עם n USE_ ANALOG_ MEASUREMENT אם אתה כן רוצה להשתמש ב-INA219
#define PIN_HEARTBEAT 16 //ולחצן הלחיצה על גלגלי התנועה
#define 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-channel הוא dcc_ info [] ו-B-channel הוא dcc_ info A []. אלה מוגדרים כפקודות מאקרו והלוכסן האחורי הוא סמן המשך קו.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k הנפתח
הגדירו את הפינים (GPIOs) שמניעים את I2C SCL/SDA ולאחר מכן גם את כניסות גלגל התנועות 1 ו-2
#define KEYPAD_ADDRESS 0x21 //pcf8574
משמש למקלדת המטריצה האופציונלית 4 x 4, הנסרקת באמצעות שבב pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,תאורה אחורית, קוטביות. אנו משתמשים בזה כהתקן 4 סיביות //ה-pinout של התצוגה שלי הוא rs,rw,e,d0-d7. משתמשים רק ב-d<4-7>. <210> מופיע מכיוון שסיביות <012> // ממופים כ-EN,RW,RS ועלינו לסדר אותם מחדש לפי הזמנה בפועל בחומרה, 3 ממופה // לתאורה האחורית. <4-7> מופיעים בסדר זה על התרמיל ועל הצג.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //תרמיל YwRobot
משמש כדי להגדיר ולהגדיר את תרמיל I2C המניע את תצוגת ה-LCD 1602 (אופציונלי), זה ניתן להגדרה רכה וישנם מספר תיקי גב זמינים שתצורות הפינים שלהם משתנות.
#endif
שלב 7. הידור והעלה ללוח.
כעת הגדרת את שילוב הלוח שבו אתה מתכוון להשתמש, אתה יכול להרכיב את הפרויקט. אם אתה לא מתכוון להשתמש במקלדת המטריצה 4×4, וב-LCD, אין בעיה, השאר את ההגדרות שלהם כפי שהתוכנה מצפה להגדיר אותם. המערכת תעבוד מצוין על WiFi בלעדיהם.
ב-IDE, סמל הסימון (אימות) הוא למעשה "קומפילציה". לחץ על זה ותראה הודעות שונות מופיעות (בתנאי שהפעלת את הידור Verbose) כאשר המערכת מרכיבה את הספריות השונות ומקשרת את כולם יחד. אם הכל עובד כמו שצריך, ואם ביצעת בדיוק את כל השלבים שלמעלה, אתה אמור לראות הודעת הצלחה. כעת אתה מוכן ללחוץ על כפתור החץ הימני (העלה), אך לפני שתעשה זאת, בדוק שבחרתם את יציאת ה-COM הנכונה עבור הלוח בתפריט כלים.
לאחר העלאה מוצלחת (השתמש בכבל USB באיכות טובה) אתה גם צריך להפעיל את טען תפריט ESP8266 Sketch Data אפשרות תחת כלים. זה יעביר את התוכן של תיקיית הנתונים למכשיר (כל דפי ה-HTML).
אתה גמור. פתח את הצג הטורי, לחץ על כפתור האיפוס ואתה אמור לראות את האתחול של המכשיר ולסרוק אחר התקני I2C. כעת אתה יכול להתחבר אליו באמצעות Wifi, והוא מוכן לחיבור ללוח החשמל שלו (מגן מנוע).
מסמכים / משאבים
![]() |
הגדרות ARDUINO IDE עבור בקר DCC [pdfהוראות הגדרת IDE עבור בקר DCC, הגדרת IDE, הגדרה עבור בקר DCC, הגדרת בקר DCC הגדרות IDE, בקר DCC |