תוכן עניינים:

כיצד להשתמש ב- Dragon Rider 500 עם דרקון ה- AVR שלך: 10 שלבים
כיצד להשתמש ב- Dragon Rider 500 עם דרקון ה- AVR שלך: 10 שלבים

וִידֵאוֹ: כיצד להשתמש ב- Dragon Rider 500 עם דרקון ה- AVR שלך: 10 שלבים

וִידֵאוֹ: כיצד להשתמש ב- Dragon Rider 500 עם דרקון ה- AVR שלך: 10 שלבים
וִידֵאוֹ: השגתי את הדרקונים הכי מטורפים ברובלוקס ! | Dragon Adventures 2024, יולי
Anonim
כיצד להשתמש ב- Dragon Rider 500 עם דרקון ה- AVR שלך
כיצד להשתמש ב- Dragon Rider 500 עם דרקון ה- AVR שלך

מדריך זה הוא קורס התרסקות כיצד להשתמש בכמה מהתכונות של Dragon Rider 500 מבית Ecros Technologies. אנא שימו לב כי באתר Ecros קיים מדריך למשתמש מפורט מאוד.

The Dragon Rider הוא לוח ממשק לשימוש עם מתכנת מיקרו -בקר AVR בשם AVR Dragon by Atmel. למידע נוסף: אתר האינטרנט של אטמל: https://www.atmel.com/ קישור AVR דרקון: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Dragon Rider 500 מאת Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm הרכבה של Dragon Rider 500 להנחיה: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/למד הכל אודות מיקרו-בקרי AVR: https://www.avrfreaks.net הוראה זו עשויה לגדול עם הזמן, בדוק שוב ושוב!

שלב 1: AVR אחי

אתה צריך תוכנת תכנות כדי להשתמש ב- AVR Dragon לתכנות. אני משתמש ב- AVRdude עם מערכת ההפעלה אובונטו (לינוקס) ואני מאוד שמח מהתוצאות. הוראה זו לא תעסוק בנבכי תוכנת התכנות. אם אינך יודע כיצד להתקין או להשתמש בתוכנת תכנות, בדוק את ההוראות הבאות כדי להעלות אותך למהירות: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/הניחוש שלי הוא שאם רכשת והרכבת דרגון ריידר 500 אתה כבר יודע לתכנת שבב עם הדרקון AVR….. והלאה!

שלב 2: ATtiny2313 - מהבהבים את הנורות

ATtiny2313 - מהבהבים את נוריות הלדים
ATtiny2313 - מהבהבים את נוריות הלדים
ATtiny2313 - מהבהבים את נוריות הלדים
ATtiny2313 - מהבהבים את נוריות הלדים
ATtiny2313 - מהבהבים את הנורות
ATtiny2313 - מהבהבים את הנורות

בואו לתכנת ATtiny2313 שהוא מיקרו-בקר בן 20 פינים. ל- Dragon Rider 500 יש שקעים למספר מיקרו-בקרי AVR בגדלים שונים. אלה כוללים: 8, 20, 28 ו -40 פינים. תלוי באיזה שקע אתה משתמש, יש להגדיר מגשרים בלוח הדרגון ריידר אחרת.

הגדרות מגשר

הגדר את הקופצים על דרגון ריידר כך שהשאנטים יחברו את הפינים הבאים. (pin4 הוא הסיכה המרכזית עבור J22 -J -24) סיכות: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 זוהי התקנה בסיסית המאפשרת שירותי אינטרנט (בתכנות מערכת).

מנצנץ בלינקי

תכנות לא מועיל אלא אם יש לך מה לתכנת. כתבתי דוגמא קוד מאוד קצרה כדי להבהב את נוריות ה- LED של Dragon Rider בכל פעם. השתמש בכבל סרט לחיבור כותרת ה- LED (J29) לכותרת ה- PortB (J2).

תִכנוּת

צירפתי את קובץ ה- C, כמו גם קובץ מיידי וקובץ ה- hex. כפי שציינתי במבוא, אינני יכול לכסות את צד התוכנה של התכנות ב- Instructable. תכנית כמוך עבור דרגון AVR, מכיוון שהדרגון ריידר אינו משנה כלל את הצד התוכנתי של הדברים.

שלב 3: שימוש בתוסף LCD

שימוש בתוסף LCD
שימוש בתוסף LCD

להלן דרך פשוטה לשימוש בתוסף LCD. זה יכתוב "Dragon Rider" למסך ה- LCD.

חוּמרָה:

  • ATtiny2313
  • מגשר R/W: R/W צריך להיות מחובר ל- "BIT1" בלוח רוכב הדרקונים (ראה הסבר במכלול ההוראה)
  • J23: יש להתקין את המגשר הזה לתכנות ספק שירותי האינטרנט אך לאחר מכן להסיר אותו על מנת שה- LCD יפעל כראוי.
  • חבר את ה- LCD ליציאה B באמצעות כבל סרט (J31 עד J2)

תוֹכנָה

אני משתמש בספריית ה- LCD של פיטר פלורי כדי להניע את ה- LCD במצב 4 סיביות. בדוק את דף הבית של פיטר כדי להוריד את הספרייה. יהיה עליך לוודא ש- lcd.c מורכב עם הקוד שלך וכי תבצע את השינויים הבאים ב- lcd.h:

אנו משתמשים במתנד RC הפנימי ולכן יש להגדיר את XTAL ל- 1MHz:

#define XTAL 1000000

  • צריך להתאים את הגדרות הנמל ל- PORTB:
  • #הגדר LCD_PORT פורט

  • צריך להתאים Pinout ל -4 קווי נתונים:
  • #הגדר LCD_DATA0_PIN 4 #הגדר LCD_DATA1_PIN 5 #הגדר LCD_DATA2_PIN 6 #הגדר LCD_DATA3_PIN 7

  • יש להתאים את Pinout ל- RS, RW ו- E:
  • #הגדר LCD_RS_PIN 3 #הגדר LCD_RW_PIN 1 #הגדר LCD_E_PIN 2

    התוכנית העיקרית פשוטה מאוד הודות לעבודה שפיטר פלורי עשה בספריית ה- LCD שלו.

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // אתחל LCD עם הסמן כבוי lcd_clrscr (); // נקה את מסך LCD lcd_gotoxy (5, 0); // העבר את הסמן למיקום זה lcd_puts ("דרקון"); // שים מחרוזת זו על LCD lcd_gotoxy (6, 1); // העבר את הסמן למיקום זה lcd_puts ("רוכב"); // שים את המחרוזת הזו על ה- LCD עבור (;;) {// אל תעשה דבר לנצח (הודעה כבר מוצגת על LCD)}}

    קוד מצורף

    הקוד המצורף כולל את ספריית ה- LCD של פיטר פלורי (lcd.c ו- lcd.h) באישורו. תודה לך פיטר! השינוי היחיד שעשיתי בו הוא הגדרת הסיכות המתאימות להגדרות. אנא בקר באתר שלו להורדת החבילה: https://www.jump.to/fleury צירפתי גם קובץ מייצר שאני משתמש בו נכתב על ידי אריק ב. שלחתי PM ל- Jorg ב- avrfreaks.net אך מעולם לא קיבלתי ממנו תגובה. ישנם מספר שינויים בתיקון המתאים להתאמה לשימוש ב- Linux and the Dragon. תודה לשניכם, אנא הגדירו לי את ההעדפות שלכם לגבי שיתוף בעבודה שלכם.

    שלב 4: תכנות ISP של 28 פינים ל- ISP (ATmega8)

    תכנות ISP של 28 פינים ל- UC (ATmega8)
    תכנות ISP של 28 פינים ל- UC (ATmega8)
    תכנות ISP של 28 פינים ל- UC (ATmega8)
    תכנות ISP של 28 פינים ל- UC (ATmega8)

    הרחקת הפרויקט הבאה תעשה שימוש ב- ATmega8 שהוא AVR 28 פינים. להלן מערך המגשרים הבסיסי לתכנת ספק שירותי האינטרנט של 28 המיקרו-בקרים.

    הגדרות מגשר

    הגדר את הקופצים על דרגון ריידר כך שהשאנטים יחברו את הפינים הבאים. (סיכה 4 היא הסיכה המרכזית עבור J22 -J -24) סיכות: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    מידע טכני

    • חיבור J11 ו- J12 בצורה זו מאפשר לך להשתמש בסיכות אלה כסיכות קלט/פלט. האלטרנטיבה תהיה לנתב את הסיכות האלה כדי ליצור חיבור עם הגביש החיצוני.
    • חיבור J13 בצורה זו מאפשר לנו להשתמש בו כסיכת האיפוס. האלטרנטיבה תנתב את הסיכה הזו לכותרת PORTC לשימוש כסיכת קלט/פלט. (יהיו לכך חסרונות רבים, כולל חוסר היכולת לתכנת שבב זה באמצעות ספק שירותי אינטרנט).
    • J16 & J22-J24 מחוברים בצורה זו כדי לנתב את הפינים המתאימים (אפס, MISO, MOSI ו- SCK) לכותרת ספק האינטרנט של דרגון AVR.

    שלב 5: שימוש מתקדם בלחצן ולחצנים: השעון הגדול

    שימוש מתקדם ב- LCD ולחצנים: השעון הגדול
    שימוש מתקדם ב- LCD ולחצנים: השעון הגדול

    זהו פרויקט מהנה שעושה שימוש במסך LCD ולחצנים. נעסוק בפונקציות שעון בזמן אמת ותווים מותאמים אישית על ה- LCD. בתמונה למטה ניתן לראות את השעה 19:26:07 מוצגת במספרים גדולים במסך ה- LCD. כל מספר משתמש ברשת 2x2 של התווים המוצגים כדי להציג את המספר הגדול. זה משתמש בגופן שנכתב במקור על ידי Xtinus לפרויקט XBMC. הכפתורים משמשים להגדרת השעון. שמאל מגדיל את השעות, מעלה מעלה את הדקות, ימינה עובר בין 12 ל -24 שעות, ו- Enter מאפס את השניות לאפס. השעון לא שומר זמן טוב מכיוון שאנו משתמשים במתנד הפנימי המאוד לא מדויק, אך ניתן לשנות תכנית זו בקלות על מנת להשתמש בגביש חיצוני מדויק הרבה יותר. ראו זאת בפעולה בסרטון למטה. הסבר כיצד קוד זה פועל הוא תקין, אך אין לי זמן כרגע. לעת עתה, חבר את כותרת ה- LCD (J31) ל- PORTD (J4) ואת כותרת הכפתורים (J30) ל- PORTB (J2). ודא שיש לך SW1 ו- SW2 במצב כבוי. חבר את דרגון AVR לכבל USB וחבר את הקצה השני של הכבל למחשב שלך. הפעל את SW2 ותכנת את ה- ATmega8 עם תוכנת התכנות שבחרת (קובץ hex למטה; נתיכים שרופים להגדרות היצרן). הערה: על מנת להשתמש בכפתורי שמאל ומעלה, עליך להסיר את shunts מ- J22 ו- J24, עשה זאת זאת בזמן שהחשמל כבוי.

    שלב 6: תכנות מתח גבוה

    השתמשתי בתכנות המקביל למתח גבוה כדי להחיות מחדש ATtiny2313 שהגדרתי את הגדרות הנתיך הלא נכונות. נזקקתי לזה בפעם השנייה כשעבדתי על ההוראה כי כתבתי בטעות את ההגדרה lfuse שרציתי לרשום hfuse….. אופס. תכנות מקבילי מתח גבוה הוא כלי שימושי שעומד לרשותך! להלן רשימות של הגדרות המגשר שלי: השתמש באחריותך הבסיסית, סוג התכנות הזה יכול לפגוע בחומרתך אם אינך יודע מה אתה עושה !! תכנות מקבילי מתח גבוה: ATtiny2313 בשקע U3: SW1 - OFFSW2 - ONJ5, J6, J7 - חבר pin1 ו- pin2XTAL1 - חבר pin1 ו- pin2J16 - חבר pin1 ו- pin22x5 כבלי IDC: PROG_CTRL ליציאה D, PROG_DATA ליציאה BA J8-J13, J18, J19, J20, J22-J28, J24) עבור שבבים אחרים אתה אמור להיות מסוגל להבין את ההגדרות הדרושות לך במדריך למשתמש של Atmel עבור STK500 שלהם.

    שלב 7: הרחבה מעבר ללוח

    התרחבות מעבר ללוח
    התרחבות מעבר ללוח

    אני מוצא שזה די קל להתחבר עם לוח לחם. זה מאפשר הרבה יותר גמישות באב טיפוס ופיתוח קוד בו זמנית. להלן תראה כמה לוחות לחם המחוברים לדרגון ריידר. אני מחבר את כבלי הסרט ליציאות המתאימות בקצה אחד. בצד השני אני משתמש בחוטי מגשר כדי לחבר את מנצח ה- ICD המתאים ללוחות הלחם.

    שלב 8: סיכום

    יש הרבה יותר שיכול להיות מעורב במדריך זה. רק הלילה אני משלים מתאם המאפשר לך להשתמש בכותרת התכנות של 6 פינים מבלי להסיר את הדרקון מהדרגון ריידר. אני אכניס מידע כיצד לבנות אחד בעצמך … בקרוב. אם יש לך דברים אחרים שאתה חושב שצריך להוסיף השאיר תגובה.

    שלב 9: הוספת ספק אינטרנט בן 6 פינים

    הוספת ספק אינטרנט בן 6 פינים
    הוספת ספק אינטרנט בן 6 פינים
    הוספת ספק אינטרנט בן 6 פינים
    הוספת ספק אינטרנט בן 6 פינים
    הוספת ספק אינטרנט בן 6 פינים
    הוספת ספק אינטרנט בן 6 פינים

    בדרך כלל אני בונה בכותרת ISP של 6 פינים לכל הפרויקטים שלי כדי שאוכל לתכנת את השבב במידת הצורך ולא אצטרך להוריד אותו מלוח הפרויקטים. לרוכב הדרקון למרבה הצער אין כותרת ISP של 6 פינים זמינה, אבל הבנתי איך אפשר להפוך אחד לזמין.

    אַזהָרָה!

    זהו פריצה. אם אתה לא יודע בדיוק איך זה עובד, אל תעשה את זה

    קיבלת אזהרה. יצרתי לוח מתאם משלי ומגשר 3 פינים על מנת לספק את כותרת ה- ISP עם 6 פינים. מה שאתה עושה הוא להגדיר את ה- Dragon Rider לתכנת ולמיקרו-בקר בן 8 פינים. באמצעות שקע בן 3 פינים אני מקפץ J8 לחיבור פינים 1 ו -3. זה מפנה את אות השעון למחבר PortB. לאחר מכן אני מפעיל כבל מגשר מכותרת PortB ללוח המתאם שלי וואלה! יש תמונות למטה …. בבקשה, בבקשה, בבקשה, אל תעשה זאת אלא אם אתה באמת מבין מה אתה עושה מכיוון שאתה עלול לפגוע בדרקון ה- AVR שלך או גרוע מכך אם אתה עושה זאת לא נכון.

    Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2

    שלב 10: קורא RSS באמצעות חיבור טורי ו- LCD

    קורא RSS באמצעות חיבור טורי ו- LCD
    קורא RSS באמצעות חיבור טורי ו- LCD
    קורא RSS באמצעות חיבור טורי ו- LCD
    קורא RSS באמצעות חיבור טורי ו- LCD

    אני ממשיך לשחק עם לוח הפיתוח הזה. הפעם ביליתי חלק מאחר הצהריים בפיתוח קריאת RSS (בעיקר בצד הפיתון של העניינים). אני לא חושב שזה מצדיק את ההוראה שלו אז אני מוסיף את זה כאן.

    חוּמרָה

    אנו משתמשים ב- Dragon Rider 500 כלוח פיתוח. זה מספק את כל החומרה שאתה צריך (בהנחה שיש לך את כל ערכות ההרחבה). עם זאת, אתה בהחלט יכול לעשות זאת עם התקנת החומרה שלך:

    • מיקרו -בקר ATmega8 (או כל אחד שיש בו USART ומספיק סיכות לכל החיבורים
    • דרך לתכנת את המיקרו -בקר (אני משתמש בדרגון AVR)
    • שבב MAX232 לתקשורת הסדרתית
    • מחבר DB9
    • מסך LCD HD44780
    • קריסטל (השתמשתי בקריסטל של 8 מגה -הרץ)
    • קבלים ונגדים שונים

    להלן סכמטי. על הרוכב הדרקון נצטרך להשתמש ביצירתיות מסוימת כדי לנתב את הקשרים. בדרך כלל ניתן לחבר את יציאת D ישירות לכותרת ה- LCD. זה לא המקרה כאן מכיוון ש- USART הדרוש לחיבור הטורי משתמש ב- PD0 ו- PD1. יתר על כן, לא ניתן להשתמש ביציאה B מכיוון ש- PB6 ו- PB7 נמצאים בשימוש עבור הגביש החיצוני. להלן הפתרון שלי לבעיה זו. אני מחבר כבל סרט לכותרות עבור ה- LCD, יציאה B ויציאה D, ואז משתמש בחוטי מגשר כדי לבצע את המסלולים המתאימים. אל תשכח לחבר מתח וארקה לכותרת ה- LCD.

    תוֹכנָה

    התוכנה לפרויקט זה מגיעה בשני חלקים, הקושחה של המיקרו -בקר והתסריט של פייתון לגרידת הזנות RSS ושליחתם דרך החיבור הטורי. קושחת AVR אני משתמש שוב בספריית ה- LCD של פיטר פלורי (https://jump.to /fleury). הוא עוצמתי ותמציתי, רב תכליתי וקל לשינוי בהתקנת החומרה שלך. אם תסתכל על קובץ הכותרת המצורף (lcd.h) תראה שאני פועל במצב של 4 סיביות עם יציאה D כסיבי הנתונים, ויציאה B כסיבי הבקרה. הרעיון של הקושחה הזו הוא די פשוט:

    • לאחר הפעלת המיקרו -בקר מציג "קורא RSS" ולאחר מכן ממתין לנתונים סדרתיים.
    • כל בייט של נתונים סדרתיים המתקבלים גורם למאגר של 16 תווים לעבור שמאלה ולהוסיף את הבייט למאגר, ולאחר מכן להציג את המאגר.
    • שלוש פקודות מיוחדות מתקבלות על ידי המיקרו -בקר: 0x00, 0x01 ו- 0x02. אלה הם מסך ברור, עוברים לקו 0 ועוברים לקו 1 בהתאמה.

    Python ScryptI כתב סקריפט של פיטון כדי לגרד את נתוני ה- RSS ולשלוח אותם דרך החיבור הטורי. זה דורש את מודול python "pyserial" שכנראה יהיה עליך להתקין במערכת שלך כדי לגרום לזה לעבוד. ניתן להגדיר את הזנת RSS בחלק העליון של קובץ ה- pyton. שים לב שעליך להזין שם להזנה כמו גם לכתובת האתר של ההזנה. ישנן שלוש דוגמאות שם, אני בטוח שאתה יכול לעקוב אחר אלה עבור התחביר הנכון. לגרום לזה לעבוד

    • הרכיבו את החומרה
    • תכנת את המיקרו -בקר (ניתן להשתמש ב- dragon_rss.hex אם אינך רוצה לאסוף זאת בעצמך). הגדרות נתיכים עבור ATmega8 באמצעות קריסטל 8 מגה -הרץ: lfuse = 0xEF hfuse = 0xD9
    • הפעל את Dragon Rider וודא שהכבל הטורי מחובר לחשמל (LCD צריך לקרוא: "קורא RSS")
    • בצע את תוכנית הפייתון (python serial_rss.py)
    • תהנה

    מוּמלָץ: