- רכיבים נדרשים לתכנת ATtiny85 באמצעות USB
- מיקרו-בקרת ATtiny85 IC - מבוא
- מטען אתחול מהבהב ב- ATtiny85 באמצעות Arduino Uno
- דיאגרמת מעגלים עבור מתכנת ATtiny
- התקנת מנהלי התקנים של Digispark
- הגדרת Arduino IDE לתכנית ATttiny85
משפחת ATtiny היא סדרה של אחד המיקרו-בקרים הקטנים ביותר בשוק ה- AVR. מיקרו-בקרים אלה מסוגלים לנצל רבות מהספריות הזמינות בפלטפורמת Arduino. שבב המיקרו-בקר ATtiny85 הוא 8 פינים, 8-bit, AVR מיקרו-בקר. גודלו הקטן וצריכת החשמל הנמוכה הופכים אותו להתאמה מצוינת לפרויקטים ניידים עם טביעות רגל קטנות ודרישות צריכת חשמל נמוכות. אבל הכנסת הקוד שלך לשבב יכולה להיות מעט אתגר מכיוון שאין לו ממשק USB כמו לוחות מיקרו-בקר.
במדריך הקודם שלנו, תיכנתנו את ה- ATtiny85 באמצעות Arduino Uno. אך חיבור Attiny85 לארדואינו ושימוש בארדואינו כספקית אינטרנט יכול להיות קשה וגוזל זמן. אז במדריך זה, אנו הולכים לבנות לוח תכנות ATtiny85, כדי שנוכל לתוסף ישירות ולתכנת אותו כמו לוחות מיקרו-בקר אחרים.
רכיבים נדרשים לתכנת ATtiny85 באמצעות USB
- Arduino UNO (רק בפעם הראשונה בזמן העלאת Bootloader)
- ATtiny85 IC
- תקע USB מסוג A זכר
- 3 נגדים (2 × 47Ω & 1 × 1kΩ)
- 3 דיודות (2 × דיודות זנר ו- 1 × דיודה IN5819)
- בסיס IC 8 פינים
- קרש לחם
- חוטי מגשר
מיקרו-בקרת ATtiny85 IC - מבוא
ה- ATtiny85 של Atmel הוא מיקרו-בקר 8 סיביות בעל ביצועים גבוהים, בעל הספק נמוך, המבוסס על אדריכלות RISC מתקדמת. שבב מיקרו-בקר זה כולל זיכרון פלאש ISP 8KB, EEPROM 512B, SRAM 512 בתים, 6 קווי קלט / פלט למטרות כלליות, 32 רושמי עבודה למטרות כלליות, טיימר / דלפק אחד של 8 סיביות עם מצבי השוואה, אחד במהירות 8 סיביות במהירות גבוהה טיימר / דלפק, USI, הפרעות פנימיות וחיצוניות, ממיר A / D בעל 4 ערוצים 10 סיביות, טיימר כלב שמירה לתכנות עם מתנד פנימי, שלושה מצבי חיסכון בחשמל בתוכנה, ו debugWIRE לצורך איתור באגים בשבב. ATtiny85 Pinout ניתן להלן:
לרוב סיכות ה- I / O של השבב יש יותר מפונקציה אחת. תיאור הסיכה ATtiny85 לכל סיכה ניתן בטבלה הבאה:
מספר סיכה |
שם סיכה |
תיאור סיכה |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: הפסק שינוי פסק 0, מקור 5 איפוס: איפוס סיכה ADC0: ערוץ קלט ADC 0 dW: ניפוי שגיאות קלט / פלט של WIRE |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: הפסק שינוי פסק 0, מקור 3 XTAL1: מתנד קריסטל Pin1 CLKI: קלט שעון חיצוני ADC3: ADC קלט ערוץ 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: הפסק שינוי פסק 0, מקור 4 XTAL2: סיכת מתנד קריסטל 2 CLKO: פלט שעון המערכת OC1B: טיימר / מונה 1 השווה פלט התאמה B ADC2: ADC קלט ערוץ 2 |
4 |
GND |
סיכת קרקע |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: פלט נתוני מאסטר SPI / קלט נתוני עבדים DI: קלט נתונים USI (מצב שלושה חוטים) SDA: קלט נתונים USI (מצב שני חוטים) AIN0: משווה אנלוגי, קלט חיובי OC0A: טיימר / מונה 0 השווה פלט התאמה A AREF: הפניה אנלוגית חיצונית PCINT0: הפסק שינוי פסק 0, מקור 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: פלט נתוני מאסטר / פלט נתוני slave של SPI DO: פלט נתונים USI (מצב שלושה חוטים) AIN1: משווה אנלוגי, קלט שלילי OC0B: טיימר / מונה 0 השווה פלט התאמה B OC1A: טיימר / Counter1 השווה התאמת פלט PCINT1: הפסק שינוי פסק 0, מקור 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: קלט שעון סידורי USCK: שעון USI (מצב שלושה חוטים) SCL: שעון USI (מצב שני חוטים) ADC1: ADC קלט ערוץ 1 T0: טיימר / Counter0 מקור שעון INT0: קלט הפסקה חיצונית 0 PCINT2: הפסק שינוי פסק 0, מקור 2 |
8 |
VCC |
סיכת מתח אספקה |
מטען אתחול מהבהב ב- ATtiny85 באמצעות Arduino Uno
לצורך תכנות ה- ATtiny85 ללא ארדואינו, ראשית נצטרך להעלות אליו מטען אתחול באמצעות לוח UNO של ארדואינו, זהו תהליך חד פעמי ולאחר סיום זה, לא נצטרך שוב ללוח UNO. Boot-loader היא תוכנית מיוחדת הפועלת במיקרו-בקר שיש לתכנת אותה. אחת הדרכים הנוחות ביותר לטעון את נתוני התוכנית שלך למיקרו-בקר היא באמצעות מטען אתחול. Boot-loader יושב על ה- MCU ומבצע את ההוראות הנכנסות ואז כותב מידע חדש על התוכנית לזכרו של המיקרו-בקר. מהבהב מטען אתחול במיקרו-בקר מסיר את הצורך בחומרה חיצונית מיוחדת (Boards Programmer) לתכנות המיקרו-בקר ותוכל לתכנת אותו ישירות באמצעות חיבור USB. Digispark ATtiny85לוח מפעיל את מטען האתחול "micronucleus tiny85", שנכתב במקור על ידי Bluebie. מטען האתחול הוא הקוד שתוכנת מראש ב- Digispark ומאפשר לו לפעול כהתקן USB כך שניתן יהיה לתכנת אותו על ידי IDE של ארדואינו. אנו הולכים גם להבהב את אותו מטען אתחול digispark attiny85 ב- ATtiny85.
מדריך צעד אחר צעד להבזק אתחול האתחול אל ATtiny85 באמצעות Arduino Uno ו- Arduino IDE ניתן להלן:
שלב 1: קביעת תצורה של Arduino Uno כספקית אינטרנט:
מכיוון שה- ATtiny85 הוא רק מיקרו-בקר, הוא נדרש לתכנת ספק שירותי אינטרנט (In-System Programming). אז כדי לתכנת את ה- ATtiny85, עלינו להגדיר תחילה את Arduino Uno כספק שירותי אינטרנט שישמש כמתכנת עבור ה- ATtiny85. לשם כך, חבר את ה- Arduino Uno למחשב נייד ופתח את ה- Arduino IDE. לאחר מכן, נווט אל קובץ> דוגמה> ArduinoISP והעלה את קוד ISP של Arduino.
שלב 2: דיאגרמת מעגלים עבור מטען אתחול מהבהב ב- ATtiny85:
הסכמה המלאה עבור מטען אתחול מהבהב ב- ATtiny85 מובאת להלן:
קבלים של 10 µf מחוברים בין האיפוס וסיכת ה- GND של ארדואינו. החיבורים המלאים ניתנים בטבלה הבאה:
ATtiny85 סיכה |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
סיכה 2 |
13 |
סיכה 1 |
12 |
הצמד 0 |
11 |
אִתחוּל |
10 |
כעת חבר את Arduino Uno למחשב הנייד ופתח את Arduino IDE. מצא לאיזו יציאת COM מחובר ה- Uno. במקרה שלי, זה COM5.
לאחר מכן, הורד את קבצי ATtiny85 Boot-Loader מהקישור הנתון. פתח את " Burn_AT85_bootloader.bat " ושנה את מספר יציאת ה- COM "PCOM5" בכל מספר יציאת COM שה- Uno שלך מחובר אליו. שמור את השינויים לפני היציאה.
כעת העבירו את קבצי העריכה " Burn_AT85_bootloader.bat " ו- " ATtiny85.hex " לתיקיית השורש של Arduino IDE (C: \ Program Files (x86) Arduino).
לאחר מכן לחץ לחיצה ימנית על " Burn_AT85_bootloader.bat " ובחר "הפעל כמנהל". זה לוקח בערך 5 עד 6 שניות כדי להבהב את מטען האתחול. אם הכל התנהל כשורה, אתה אמור לקבל הודעה זו "AVRdude נעשה. תודה. לחץ על מקש כלשהו כדי להמשיך…".
עם זאת, מטעין האתחול מותקן בהצלחה על השבב ATtiny85. עכשיו הגיע הזמן לחבר USB ל- ATtiny85 כדי שנוכל לתכנת אותו ישירות. תרשים המעגל לתכנות ATtiny85 דרך USB מובא להלן:
דיאגרמת מעגלים עבור מתכנת ATtiny
הסכימה לקוחה מסכמת הלוח Digispark ATtiny85 אך כאשר אנו שואפים לבנות מתכנת עבור ATtiny85, אנו מחברים רק תקע USB זכר ל- ATtiny85.
ה- R3 הוא נגד משיכה המחובר בין סיכות Vcc ו- PB3 של IC בעוד שדיודות הזנר (D1-D2) מתווספות להגנה מלאה על ממשק USB. לאחר הלחמה של כל הרכיבים על לוח ה- perf, זה ייראה בערך למטה:
התקנת מנהלי התקנים של Digispark
כדי לתכנת את ה- ATtiny85 באמצעות USB, עליך להתקין מנהלי התקנים של Digispark במחשב הנייד שלך. אם אין לך אותם, תוכל להוריד אותו באמצעות הקישור המופיע למעלה. לאחר מכן, חילץ את קובץ ה- zip ולחץ לחיצה כפולה על היישום " DPinst64.exe " כדי להתקין את מנהלי ההתקנים.
לאחר ההתקנה של מנהלי ההתקנים, חבר את לוח ה- ATtiny85 למחשב הנייד. כעת עבור אל מנהל ההתקנים ב- Windows שלך ומכשיר ה- ATtiny85 יופיע תחת "התקני libusb-win32" כ- "Digispark Bootloader". אם אינך מוצא 'libusb-win32 התקנים' במנהל ההתקנים, עבור אל תצוגה ולחץ על 'הצג התקנים מוסתרים'.
הגדרת Arduino IDE לתכנית ATttiny85
כדי לתכנת את לוח ATtiny85 עם Arduino IDE, ראשית עלינו להוסיף את תמיכת לוח Digispark ל- Arduino IDE. לשם כך עבור אל קובץ> העדפות והוסף את הקישור שלהלן בכתובות ה- URL של מנהל הלוחות הנוספים ולחץ על 'אישור'.
לאחר מכן, עבור אל כלים> Board> Board Board וחפש 'Digistump AVR' והתקן את הגרסה האחרונה.
לאחר התקנתו, כעת תוכל לראות ערך חדש בתפריט הלוח שכותרתו 'Digispark'.
עכשיו, עבור לקובץ> דוגמאות> יסודות ופתח את הדוגמה של Blink.
שנה את מספר הסיכה שם מ- LED_BUILTIN ל- 0.
כעת חזור אל כלים -> לוח ובחר בלוח " Digispark (ברירת מחדל - 16mhz) ". לאחר מכן לחץ על כפתור ההעלאה ב- Arduino IDE.
הערה: חבר את לוח ATtiny85 למחשב, רק כאשר ה- Arduino IDE מציג הודעה האומרת "מכשיר התוסף עכשיו".
לאחר העלאת הקוד, ה- LED המחובר ל- ATtiny85 אמור להתחיל להבהב.
כך תוכלו לבנות לוח תכנות משלכם ATtiny85 Arduino. סרטון עבודה זהה מובא להלן. אם יש לך שאלות, השאיר אותן בסעיף ההערות. בכל שאלה טכנית אחרת, אתה יכול גם להתחיל דיון בפורומים שלנו.