תוכן עניינים:
- שלב 1: לפני שתתחיל
- שלב 2: סקירה כללית
- שלב 3: הורדת לוחות קיימים
- שלב 4: איתור והעתקת קבצי לוח
- שלב 5: יצירת וריאנט
- שלב 6: צור הגדרת לוח
- שלב 7: עדכן את גרסת הלוח
- שלב 8: צור קובץ חבילת JSON
- שלב 9: השלב האחרון - התקן את הלוח המותאם אישית שלך
- שלב 10: סיכום
וִידֵאוֹ: Arduino IDE: יצירת לוחות מותאמים אישית: 10 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
במהלך ששת החודשים האחרונים ביליתי הרבה זמן בהעברת ספריות שונות ללוח Robo HAT MM1 שפותח על ידי רובוטיקס מאסטרס. זה הוביל לגלות הרבה על הספריות האלה, איך הן פועלות מאחורי הקלעים והכי חשוב - מה לעשות כדי להוסיף לוחות חדשים בעתיד.
זהו הראשון בסדרה של חידושים שאני אעשה כדי לעזור לאחרים שרוצים להעביר ספריות ללוחות שלהם. רבים ממקורות המידע יכולים להיות מעורפלים או קשים להבנה מבחוץ. אני מקווה 'להסיר מהות' ולהסביר כיצד להשיג נמל מוצלח לכולם.
היום נסתכל על פלטפורמת הארדואינו. יש לו יותר מ- 700, 000 גרסאות לוח שונות ברחבי העולם והיא אחת מפלטפורמות האלקטרוניקה הפופולריות ביותר לחינוך, לתעשייה ולייצרנים.
יכולתי למצוא מקורות מידע מוגבלים מאוד כיצד לעשות זאת לאחר חיפושים רבים של Google. אז חשבתי שאכתוב על איך שעשיתי את זה בפירוט.
מתחילים!
שלב 1: לפני שתתחיל
לפני שתתחיל בהעברת ספריית תוכנה או קושחה ללוח שלך, עליך לדעת כמה נקודות מפתח אודות הטכנולוגיה שבה אתה משתמש ולהיות מסוגל לענות על השאלות להלן.
- באיזה מעבד אתה משתמש?
- באיזו ארכיטקטורה היא משתמשת?
- האם יש לי גישה לגליון הנתונים של המיקרו -מעבד הזה?
- האם קיים לוח דומה בשוק המשתמש באותו מיקרו -מעבד?
אלה חשובים מאוד. זה ישפיע על היבטים רבים של האופן שבו אתה ניגש לתהליך הפיתוח.
לוחות Arduino משתמשים בדרך כלל במספר מצומצם של סוגי מעבדים וארכיטקטורות. הנפוץ ביותר הוא טווח ATMEGA באמצעות ארכיטקטורת AVR (Arduino Uno). ישנם דורות חדשים יותר של Arduinos שהופכים נפוצים יותר באמצעות מעבדי SAMD (ARM) ומעבדים חזקים אחרים. לכן חשוב לבדוק באיזה מהם אתה משתמש.
גליון הנתונים של מעבד מיקרו הוא חיוני בהחלט על מנת להבטיח שהלוח יגיב כצפוי בעת חיבור הקושחה. בלי זה, לא תוכל להגדיר את פונקציות פלט הסיכה הנכונות או להגדיר יציאות טוריות.
ברגע שיש לך את כל המידע הדרוש לך על המעבד שבו אתה משתמש, תוכל להתחיל להסתכל על התוכנה ולשנות אותה כך שתתאים ללוח המותאם אישית שלך.
שלב 2: סקירה כללית
החלק הכי קשה בכל פרויקט הוא למצוא נקודת התחלה טובה. זה לא שונה. התאמצתי למצוא הדרכות טובות עם מספיק פרטים על איך ליצור לוחות מותאמים אישית עבור Arduino. רוב ההדרכות מראות לך כיצד 'להוסיף לוח מותאם אישית' אך לא כיצד 'ליצור לוח מותאם אישית'. להלן סיכום קצר של המעורבים.
- הורד הגדרות לוח קיימות והעתק
- עדכון קבצי הגדרות (variant.h, varient.cpp)
- צור כניסה ללוח (board.txt)
- עדכון גירסת לוח (platform.txt)
- הכנה להתקנה (json)
- התקנת לוח ב- Arduino IDE
כל שלב יוסבר בפירוט להלן. יתקיים גם דיון מקיף על האופן שבו כל קובץ מתקיים ביניהם כדי לעזור להבהיר כיצד הכל עובד מאחורי ה- Arduino IDE.
להדרכה זו אראה לך כיצד ליצור לוח מותאם אישית עבור מעבדי SAMD. ליתר דיוק, SAMD21G18A - שהוא המיקרו -מעבד המשמש על לוח Robo HAT MM1 אותו העברתי.
אני גם מניח שכבר הורדת את Arduino IDE 1.8 ואילך. השתמשתי ב- Arduino 1.8.9 בזמן הכתיבה.
שלב 3: הורדת לוחות קיימים
השלב הראשון הוא הורדת הלוח הקרוב ביותר של Arduino המתאים ללוח שלך. עבור לוחות SAMD, זהו ה- Arduino Zero.
מאז Arduino IDE 1.6, השיטה להורדת לוחות חדשים לסביבה הייתה על ידי הוספת קבצי JSON מיוחדים שמפתחי תוכנה מספקים ולאחר מכן התקנת הלוחות המותאמים אישית באמצעות "מנהל הלוחות". גרסאות קודמות של Arduino IDE השתמשו בשיטה אחרת שלא נדון בה היום. אנו ניצור קובץ JSON משלנו בהמשך הדרכה זו, אולם עלינו להוסיף את לוח Arduino Zero בשיטה זו תחילה.
למזלנו, הלוח שברצוננו להוריד אינו זקוק לקובץ JSON מכיוון שקובץ ה- JSON מצורף מראש עם Arduino IDE - לכן עלינו להתקין את הלוח מ"מנהל לוחות ".
לשם כך, עבור אל "כלים" ולאחר מכן הרחב את תפריט "לוח". בראש התפריט "לוח" יופיע "מנהל הלוחות". לחץ על אפשרות תפריט זו כדי להציג את מנהל הלוחות.
(ראה תמונות)
כאשר מנהל הלוחות ייפתח, הוא יסתכל על כל קבצי JSON שהוא שמר ב- Arduino IDE ולאחר מכן יוריד את ההגדרות מהקובץ. אתה אמור לראות רשימה ארוכה של לוחות Arduino זמינים שתוכל להתקין.
(ראה תמונות)
אנו מעוניינים רק בלוח "לוחות SAMD Arduino (32 סיביות ARM Cortex-M0+)" עבור הדרכה זו, אך תוכל לסטות ולהתקין את הלוח הדרוש לך בשלב זה. אנא חפש והתקן את לוח "לוחות SAMD Arduino (32 סיביות ARM Cortex-M0+)". ניתן לעשות זאת על ידי לחיצה על הטקסט מהרשימה ולאחר מכן על כפתור "התקן" בצד ימין שיופיע לאחר לחיצה על הטקסט. ייקח כמה דקות להתקין.
לפרטים נוספים התקנת לוחות חדשים: ל- Adafruit יש כאן הדרכה מצוינת המסבירה כיצד להתקין לוחות Feature M0 שלהם.
כעת, לאחר שהותקנו קובצי הלוח, נוכל להעתיק אותם כך שניתן יהיה לשנות אותם ללוח המותאם אישית שלך.
שלב 4: איתור והעתקת קבצי לוח
עבור Windows קבצי הלוח נמצאים (זכור לשנות שם משתמש לשם המשתמש שלך):
C: / משתמשים / שם משתמש / AppData / Local / Arduino15 / חבילות
בתיקיה זו, עליך להעמיק מעט כדי להגיע לקבצים אותם עליך להעתיק כדי לשנות. להדרכה זו נלך ונקבל את קבצי לוח Arduino Zero אשר יותקנו ל- (זכור לשנות שם משתמש לשם המשתמש שלך):
C: / משתמשים / שם משתמש / AppData / Local / Arduino15 / חבילות / arduino / hardware / samd
העתק את התיקיה ממוססת הגירסה הנמצאת בספרייה זו לתיקייה חדשה בתיקיית המסמכים או התיקיה שבחרת. למטרות הדרכה זו, אכניס אותן לתיקייה חדשה בשם 'לוחות מותאמים אישית' בתוך מסמכים.
התיקייה מכילה מספר תיקיות וספריות. אלה בהם נשתמש מצויינים בטבלה בצילום המסך.
שלב 5: יצירת וריאנט
כעת אנו מוכנים להתחיל ליצור ערך לוח מותאם אישית. במדריך זה אשתמש ב- Robo HAT MM1 כדוגמה. כפי שצוין לעיל, זהו לוח מבוסס SAMD המתאים ביותר לבניין Arduino Zero.
נתחיל בכניסה לתיקיית הגרסאות והעתקת התיקייה arduino_zero הממוקמת בה. נשנה את גרסת הלוח החדשה 'robohatmm1'. אתה יכול לקרוא לשלך איך שבא לך.
(ראה תמונה)
בתוך התיקייה robohatmm1 יהיו שני הפינים שעלינו להתחיל לערוך: variant.cpp ו- variant.h. פתח את שניהם.
לקח לי זמן להתאמן, אז אסביר את זה כאן כדי לחסוך לך זמן. הקובץ variant.cpp מכיל מערך סיכות גדול מאוד שאליו מתייחס בכל variant.h. כל הפניות הסיכות ב- variant.h הן הפניה לתצורת הסיכה במיקום מסוים במערך variant.cpp.
(ראה צילום מסך עם שני קבצים)
לכן, רוב העריכות שלך יתרחשו בשני הקבצים הללו אך עליך לוודא שאם תשנה את סדר הפינים ב- variants.cpp - עליך לשנות את ההפניות בקובץ הכותרת (variants.h). עבור רובו HAT MM1, הייתי צריך לשנות רק כמה מהסיכות והפונקציות. זה נעשה בגרסאות.ח. הוספתי כמה סיכות PWM חדשות מכיוון ש- SAMD21 מסוגל להתמודד עם 12 ערוצי PWM. הוספתי גם כמה שמות ל- Servos, Signals (במקום ADC/Digital) ומיפוי מותאם אישית לפונקציות הנכונות - כגון SPI, UART ו- I2C.
הדבר החשוב שצריך לשים לב אליו הוא לבדוק שוב כי הפניות המערך שבהן אתה משתמש עבור הפונקציות המתוארות ב- variants.h תואמות את זו של הסיכה ב- varaints.cpp - עליה נבחן כעת.
Variants.cpp הוא קובץ חזק מאוד וחשוב. זה עושה את כל העבודה הקשה של הגדרת הסיכות כך שיתאימו להגדרות החומרה. הדרך הקלה ביותר להסביר זאת היא באמצעות דוגמה והסבר של כל חלק.
(ראה טבלה בצילום מסך)
דוגמה (תמצית מתוך variants.cpp)
{PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE}, // SDA
זהו הסיכה הראשונה במערך variants.cpp עבור Robo HAT MM1. הטבלה מתוך גליון הנתונים ניתנה כתמונה (טבלה אפורה).
(ראה תמונות)
סיכה מסוימת זו משמשת לפונקציית פיני הנתונים I2C. בהסתכלות על הטבלה, אנו יכולים לראות שהסיכה הזו יכולה לשמש כסיכת I2C SDA (התחלה טובה!). הסיכה נקראת "PA22", קיצור של PORTA על סיכה 22. מיד נוכל להגדיר את מספר הנמל והסיכה לסיכה זו.
הדבר הבא שעלינו לעשות הוא להגדיר את הסיכה כיציאת תקשורת טורית. לסיכה תקשורת טורית זמינה באמצעות הפונקציה C (PIO_SERCOM) באמצעות SERCOM 3 ו- D באמצעות SERCOM5 (PIO_SERCOM_ALT). למטרות Robo HAT MM1, אנו משתמשים ב- SERCOM3 לתקשורת I2C. זה נמצא בפונקציה C; aka. PIO_SERCOM עבור variants.cpp.
מכיוון שאנו מתכננים להשתמש בסיכה זו רק כ- SD2 I2C, אין צורך להגדיר אף אחת מהפונקציות האחרות. ניתן להגדיר את כולם כאפשרויות "לא" או "לא" מהטבלה הקודמת. עם זאת, אם אכן נרצה להשתמש בפונקציות האחרות - נוכל לעבור על גליון הנתונים ולהכניס את כולם למקומות הנכונים. זה הכל בגליון הנתונים.
שינוי קבצי הגרסאות עשוי להימשך זמן מה. היזהר ותמיד בדוק את המשולש.
שלב 6: צור הגדרת לוח
ברגע שיש לך את קבצי הגרסאות שלך מוכנים, זה אמור להיות ישר מכאן. רוב העבודה תהיה העתקה והדבקה או שינוי ועדכון קבצים.
החל מ- boards.txt.
(ראה תמונה)
תרצה להעתיק ולהדביק הגדרת לוח שכבר קיימת. אני ממליץ שוב על ה- Arduino Zero.
לשם הפשטות, שנה רק את שם הלוח (שורה ראשונה), usb_product, usb_manufacturer והגרסה (robohat). תוכל להתאים אישית את שאר הטיעונים בהמשך לצרכיך - כגון מטען אתחול מותאם אישית או USB VID/PIDs שונים לזיהוי הלוח שלך.
גרסת הלוח חייבת להתאים לשם שניתן לתיקיה שנוצרה בתחילת הדרך. עבור הדרכה זו קראתי לזה 'robohatmm1'.
כמו כן, מומלץ לשנות את החלק הראשון של כל שורה כך שיתאים לשם הלוח שלך. בצילום המסך הוא השתנה ל- 'robo_hat_mm1'. עליך לבחור שם ללוח שלך באותו פורמט.
זה הכל עבור boards.txt אלא אם כן אתה רוצה לבצע שינויים נוספים שהוזכרו לעיל מאוחר יותר.
שלב 7: עדכן את גרסת הלוח
ב- platforms.txt שנה את השם לשם הלוח המותאם אישית שלך. שנה גם את מספר הגרסה. זכור למה הגדרת את זה, נזדקק לזה מאוחר יותר.
שלב 8: צור קובץ חבילת JSON
על מנת להתקין את הלוח שלך ב- Arduino IDE, יהיה עליך ליצור קובץ JSON שתייבא. קובץ JSON אומר ל- Arduino IDE היכן ניתן להביא את הקבצים להתקנת הלוח, אילו חבילות נוספות נדרשות ועוד כמה פיסות מטא נתונים.
חשוב מאוד שתשמור את הקובץ הזה מחוץ לתיקייה בה עבדנו זה עתה.
ניתן להעתיק את רוב הקובץ ולהדביק אותו בקובץ שלך. יהיה עליך לשנות רק את סעיף "לוחות" ואת המטא נתונים האחרים בראש הקובץ. עיין בצילום המסך של מה צריך להתעדכן.
(ראה תמונה)
- קטע אדום: זהו מטא נתונים שמשתמשים יכולים להשתמש בהם למציאת עזרה. יש לו רלוונטיות טכנית קטנה מאוד.
- סעיף כחול: כל אלה חשובים. הם מראים ב- IDE של Arduino. שם, אדריכלות וגירסה יוצגו לכל מי שמנסה להתקין את החבילה. כאן אתה צריך לשים את מספר הגרסה מ- platforms.txt. החלק הכחול השני הוא רשימת הלוחות הכלולים באריזה. יכול להיות שיש לך מספר לוחות.
- סעיף ירוק: סעיף זה דורש הסבר נוסף.
(ראה טבלה בתמונות)
לאחר שיצרת את קובץ ה- zip, קיבלת את סכום הבידוק של קובץ ה- zip ואת גודל הקובץ, כעת תוכל להעלות את קובץ ה- zip למיקום. יהיה עליך להכניס את כתובת האתר הזו לשדה 'כתובת אתר'. אם השם או כל אחד מהפרטים שלעיל אינם נכונים, הלוח המותאם אישית שלך לא יצליח להתקין.
הקפד להעלות גם את קובץ package_boardname_index.json שלך למיקום ציבורי באינטרנט. GitHub היא אופציה טובה.
קובץ הלוח המותאם אישית של Robo HAT MM1 ניתן למצוא כאן.
שלב 9: השלב האחרון - התקן את הלוח המותאם אישית שלך
הכל בסדר, כעת אתה אמור לכלול את קובץ ה- JSON שלך ב- Arduino IDE ולהתקין את הלוח המותאם אישית שלך.
קל לכלול את קובץ JSON! ב- Arduino IDE - פשוט עבור אל "קובץ"> "העדפות" והעתק והדבק את המיקום (כתובת האתר) של package_boardname_index.json שלך לקטע "כתובות אתרים נוספות של מנהל לוחות" בתחתית התפריט העדפות.
(ראה תמונה)
לאחר מכן לחץ על אישור.
בצע את ההוראות מלמעלה להתקנת לוחות חדשים אם שכחת. זכור לחפש הפעם את הלוח המותאם אישית שלך!
(ראה תמונה)
לפרטים נוספים התקנת לוחות חדשים: ל- Adafruit יש כאן הדרכה מצוינת המסבירה כיצד להתקין לוחות Feature M0 שלהם.
שלב 10: סיכום
זה היה כיף ליצור לוחות Arduino מותאמים אישית. יש לי עוד הרבה מה להתנסות איתם בעתיד (הוספת יציאות טוריות נוספות) אבל זו הייתה חווית למידה נהדרת!
הקפד לבדוק גם את קמפיין אספקת ההמונים. הוא מסתיים ב -11 ביוני 2019.
www.crowdsupply.com/robotics-masters/robo-…
אני מקווה שזה עזר לך או שנהנית לקרוא יחד!
תודה!
מוּמלָץ:
מקלדת HotKeys עם פרופילים מותאמים אישית: 14 שלבים (עם תמונות)
מקלדת HotKeys עם פרופילים מותאמים אישית: אני מקווה שאתה מסתדר טוב בתוך המגיפה הזו. שמרי על עצמך. להיות חזק. #COVID19 בהיותי מעצב תעשייתי, אני צריך לגשת ליותר מ-7-8 תוכנות הכוללות Solidworks, פוטושופ, אילוסטרייטור, קישוט, אינדיזיין וכו 'על בסיס יומי ועל כן כמה
קרן לרכב - אפקטים קוליים מותאמים אישית: 4 שלבים (עם תמונות)
קרן לרכב - אפקטים קוליים מותאמים אישית: התקנתי במכונית שלי אפקטים קוליים בהתאמה אישית על סמך סרטוני YouTube של מארק רובר ואני אוהב לעשות דברים. קרן הרכב הבסיסית זקוקה לאפשרויות נוספות לתקשורת יעילה בין נהגים לדעתי. היכן שאני מהקרן הרגילה של מכונית יש
פקדים מותאמים אישית של Redbear BLE Nano V2 עם PfodApp - אין צורך בקידוד: 6 שלבים
פקדים מותאמים אישית של Redbear BLE Nano V2 עם PfodApp - אין צורך בקידוד: עדכון: 15 בספטמבר 2017 - הוראה זו עודכנה לשימוש בגירסה העדכנית ביותר של RedBear BLE Nano, V2. הגרסה הקודמת של מדריך זה, אשר התמקדה ב- RedBear BLE Nano V1.5 זמינה כאן. עדכון 15 בנובמבר - 2017 אז
אור אופניים בהיר מאוד באמצעות מחשבי לוח מותאמים אישית של לוח אור: 8 שלבים (עם תמונות)
אור אופניים בהיר מאוד באמצעות מחשבי לוח מותאם אישית של לוח אור: אם אתה בעל אופניים, אתה יודע עד כמה בורות לא נעימים יכולים להיות על הצמיגים והגוף שלך. הספיק לי לפוצץ את הצמיגים אז החלטתי לעצב פנל לד משלי מתוך כוונה להשתמש בו כמנורת אופניים. כזה שמתמקד בלהיות E
הוספת לוחות מותאמים אישית ל- Arduino IDE: 3 שלבים
הוספת לוחות מותאמים אישית ל- Arduino IDE: גירסה 1.6.4 של Arduino IDE הציגה תמיכה רשמית להוספת לוחות תואמי arduino של צד שלישי למנהל הלוח של Arduino. תמיכה זו בתוספת היא חדשות נהדרות, מכיוון שהיא מאפשרת למשתמשים להוסיף לוחות מותאמים אישית במהירות בלחיצה אחת בלבד