תוכן עניינים:
- שלב 1: חומרה נדרשת
- שלב 2: סקירת מקרי בדיקה
- שלב 3: מקרה ATtiny84 1 - לבודד פלט יישומים
- שלב 4: מקרה ATtiny84 2 - לבודד קלט יישומים
- שלב 5: מקרה ATtiny85 1 - לבודד פלט יישומים
- שלב 6: מקרה ATtiny85 2 - בידוד קלט יישום
וִידֵאוֹ: ATtiny84/85 שימוש חוזר בממשק פינים של ממשק SPI: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
מדריך זה הוא מעקב אחר "ATtiny84/85 איתור באגים במעגל עם פלט סידורי" ומרחיב את תצורת החומרה והתוכנה הזו כדי לטפל בנושא השימוש החוזר בסיכות ההורדה של התכנות על ידי תוכנית היישום. בסך הכל, בין זה לבין חלק 1 שניתן להדריך, הנושאים הבאים נדונים/מודגמים:
נוֹשֵׂא | ATtiny84 | ATtiny85 |
---|---|---|
תקשורת טורית באמצעות מחלקת SoftwareSerial | איקס | איקס |
שיתוף סיכות מכשיר בין אפליקציה להורדה | איקס | איקס |
הפסקה של שינוי סיכה | איקס | |
הפרעה חיצונית | איקס | |
שינה במצב POWER_DOWN; להתעורר בהפרעה | איקס | |
לעקוף את שגיאת הקישור הווקטורי "כפל ההגדרות" הקשור ל- SoftwareSerial | איקס | |
מעגל שינוי, הורדה, איתור באגים, … מחזור פיתוח של התקני ATtiny | איקס | איקס |
הוספת רכיב קלט/פלט חומרה לאחד הפינים המוקדשים לממשק התכנות SPI היא לפעמים בסדר, לפעמים לא. לדוגמה, הוספת LED ל- MISO רק גורמת להבהבה של ה- LED במהלך ההורדה ואז היא זמינה לאפליקציה. עם זאת, הוספת זמזם פיצו ל- MISO תגרום לצליל זעקה נורא ואחריו כשל בהורדה.
מדריך זה מסביר כיצד להשתמש במכפיל 4x2: 1 כדי "לשחזר" שימוש בסיכות שהוקצו לאותות MISO, MOSI ו- SCK של ממשק SPI על ידי הגנה עליהם במהלך ההורדה. שימוש חוזר בסיכת RESET דורש החלפת נתיך ואינו מכוסה בגישה זו. הקצאה כפולה של הסיכות מתבצעת על ידי שימוש במכפיל כדי לעבור בין האפליקציה לבין תשומות התכנות בהתאם להורדה. קוד וסכימות כלולים הן עבור ATtiny84 והן ב- ATtiny85. התצורה של ATiny84 מטופלת תחילה מכיוון שיש לה שתי יציאות קלט/פלט וניתן להשתמש בהן להמחשת כמה בעיות/פתרונות נוספים. בעקבות הדיון tiny84, אותם תרחישים נדונים עבור ה- ATtiny85.
שלב 1: חומרה נדרשת
רוב החומרה הנדרשת נרשמה בחלק 1 להוראה, כך שרק החומרה החדשה מופיעה להלן.
שֵׁם | מקור אפשרי | כיצד משתמשים |
---|---|---|
מרבב 4x2: 1 | מוסר | מכיל ארבעה מתגים עם 2 כניסות; 1 פלט המהווים את המנגנון שבאמצעותו משותפים אותות ממשק SPI וקלט/פלט של יישומים. |
מתג SPST | כל סוג מתג (רגעי או נעול) יעבוד. המתג משמש להמחשת שיתוף סיכות עבור קלט יישום. | |
נגד 10K | נגד משיכה למתג SPST למניעת קלט צף |
המרבב הוא המפתח לבידוד השימוש בהורדת סיכות משימוש ביישום. הפונקציונליות הכוללת של מרבב 4x2: 1 היא פשוטה למדי, המורכבת משני אותות בקרה ו -4 מתגים מתפקדים זהים. ההתנהגות של כל סיכה מרובעת נדונה להלן:
פִּין | שֵׁם | פוּנקצִיָה |
---|---|---|
15 | ז | כפי שצוין בטבלת האמת, המכפף פועל רק כאשר סיכת ההפעלה G נמוכה. מכיוון שאף פעם לא נרצה להשבית לחלוטין את המרבב, סיכה 15 תחובר ישירות לקרקע. |
2-4; 5-7; 9-11;12-14 | A (קלט), B (קלט), Y (פלט) | ישנם ארבעה כניסות 2; בוררי 1-פלט עם כל קבוצה של 3 סיכות ממוספרים ברצף בסדר A (קלט), B (קלט), Y (פלט) למשל עבור מתג 1; סיכה 2 = 1A; סיכה 3 = 1B; סיכה 4 = 1 Y. |
1 | בחר | כאשר בחירה נמוכה, כניסת המתג A מחוברת לסיכת פלט המתג המשויכת, Y. כאשר הבחירה גבוהה, קלט המתג B מחובר לפלט במקום זאת. המתגים נשלטים בו זמנית על ידי האות Select ומתפקדים באופן זהה. |
8 | GND | קרקע IC מרובי |
16 | VCC | כוח IC מרובה |
שלב 2: סקירת מקרי בדיקה
שני התרחישים לשימוש חוזר בסיכות מבוססים על האם הסיכה היא קלט או פלט של היישום. נוהל הטיפול בכל קלט הוא תמיד זהה; גם נוהל פלט היישומים זהה ללא קשר לרכיב החומרה. למרות זאת, ההסבר קל יותר, ובתקווה ברור יותר, אם ניתנות דוגמאות ספציפיות. פריסות מינימליסטיות לשני המקרים מוצגות למעלה. עבור ההתקנות המפורטות בהמשך החיבורים הופכים להיות קצת קן סנאים, כך שזה עשוי להיות מועיל לחזור לתרשימים נקיים יותר.
RESET היא הבחירה המושלמת עבור האפשרות Select multiplexer מכיוון שהיא נמוכה במהלך ההורדה אך חוזרת גבוה כשההורדה מסתיימת. שים לב שניתן להשתמש בכל אחד ממתגי המרבב עבור שני המקרים מכיוון שכל המתגים מתנהגים זהים. כמו כן, אף אחת מהדוגמאות אינה "מציאותית"; הם נבחרו במקום זאת כדרך הפשוטה ביותר להמחיש את טכניקות הבידוד
-
מארז פלט: פלט LED מ- ATtiny84 pin 4 (SCK) מבודד באמצעות מתג מרבב 2
- חבר את סיכה מרבב 2A לקרקע
- חבר סיכה מרבב 2B ל- ATtiny85 פין 4
-
חבר את פלט 2Y לאנודת ה- LED
-
תוצאות צפויות:
- נורית כבויה במהלך ההורדה מכיוון שהיא מחוברת לאדמה 2A
- נורית מחוברת לפין פלט היישום 4 לאחר ההורדה באמצעות 2B ומתחילה להבהב
-
-
מקרה כניסה: קלט מתג SPST לסיכה 6 של ATtiny84 (MOSI) מבודד באמצעות מתג מרבב 3
- חוט מוליך MOSI מכותרת מתכנת AVR מועבר ל- 3A
- מתג קלט 3B מחובר לפלט SPST
-
פלט 3Y מחובר לסיכה 6 של ATtiny84
- 3A, MOSI, מחובר לסיכה 6 במהלך ההורדה
- 3B, פלט SPST, מחובר לסיכה 6 לאחר ההורדה
מקרה 1 מצליח אם הנורית לא מהבהבת במהלך הורדת התוכנית ואז מהבהבת כל שתי שניות לאחר ההורדה כצפוי תחת בקרת התוכנית. ללא בידוד הנורית הייתה מהבהבת במהלך ההורדה מכיוון שהיא מחוברת ישירות לאות SCK, שמשנה את המצב לנתוני/שידור נתוני השעון.
מקרה 2 מצליח אם אות MOSI מועבר ל- ATtiny84 במהלך ההורדה, כלומר ההורדה לא נכשלת, והנורית מגיבה להפעלה/כיבוי של SPST לאחר ההורדה. מקרה 2 אכן מונע כשל הורדה אחד בלתי סביר. ללא בידוד, מתג SPST יגרום לכישלון אם 1) משתמשים במתג נעול ו 2) המתג נשאר במצב פועל במהלך ההורדה. כאשר המתג מבודד על ידי המרבב, המתג אינו יכול לגרום לכשל הורדה בשום מקרה. קצת מתיחה אבל מנחמת אותנו הזקנים.
אחת התוצאות של השימוש במרבב היא שלא ניתן לחבר יותר את רכיב החומרה ישירות לפין הקלט/פלט של המיקרו -בקר. זה קצת לא נוח אבל כן מאפשר לרכיב להישאר על לוח הלחם במהלך הבדיקה יחד עם חומרת היישום האחרת, וניתן להעביר אותו חזרה למיקומו החוקי עם סיום הבדיקה.
שלב 3: מקרה ATtiny84 1 - לבודד פלט יישומים
שלב זה מתאר את ההתקנה לשיתוף של סיכת פלט יישום עם אות הורדה. הדוגמה שבה נעשה שימוש היא הנורית המחוברת לסיכה 4 (SCK). שימוש בלד הקיים כדוגמה מאפשר דגש על הוספת המרבב לסביבת החומרה והתוכנה של חלק 1.
-
חוּמרָה
- הוסף את המרבב ללוח הלחם במיקום היחסי המוצג בתרשים הטיגון לעיל. המרבב ממוקם כלפי המרכז כדי לאפשר מקום למתג SPST הדרוש במקרה 2.
- הרחב את אות ה- RESET למכפיל על ידי הוספת חוט עופרת (הצבע צהוב) מסיכה 11 של ATtiny84 לסיכה 1 מרבב.
-
התקנת החומרה הנותרת היא כפי שניתן בשלב 2
- חבר את סיכה מרבב 2A ישירות לקרקע
- חבר את פין 2B לסיכה ATtiny84
-
חבר את הפלט 2Y לאנודת ה- LED
-
תוצאות צפויות:
- במהלך ההורדה 2Y מחובר לקרקע (2A) כך שהנורית נשארת כבויה
- לאחר ההורדה 2Y מחובר ל- ATtiny84 pin 4 - בקרת LED ליישום
-
-
תוֹכנָה
- נעשה שימוש חוזר בקוד החלק 1; זמין מהחלק הראשון להנחיה במקום לשכפל כאן
- טען והדר את תוכנית החלק 1 ב- Arduino IDE
- חבר את מתכנת ה- AVR הקטן ליציאת USB למחשב
-
חבר את כבל ה- USB ל- Adafruit Serial ליציאת USB שנייה
- נוצרת יציאת COM והיא זמינה באופן אוטומטי ברשימת יציאות IDE
- הפעל את חלון ה- COM
- הורד את הקוד המורכב ל- ATtiny84
תוצאות תוכנית היישומים זהות לחלק 1 מכיוון שהשינוי היחיד היה העברת הנורית למיקום "מוגן": הנורית מהבהבת במרווחים של 2 שניות; הפלט הסדרתי זהה. ההבדל היחיד שצריך להתרחש הוא שהנורית כבר לא מהבהבת במהלך ההורדה מכיוון שבמהלך הזמן הזה היא מחוברת לקרקע באמצעות סיכה 2A מרבב.
שלב 4: מקרה ATtiny84 2 - לבודד קלט יישומים
שלב זה בונה על ההתקנה של מקרה בידוד הפלט הקודם. שינויי חומרה מורכבים מהצמדת מתג SPST לסיכה 6 של ATtiny84 (MOSI) באמצעות המרבב. כך ששינויי החומרה הם מינימליים אך ישנם מספר שינויי תוכנה המאפשרים למתג SPST לשלוט בנורית באמצעות הפרעה להחלפת סיכה. הקוד המעודכן כלול בתחתית סעיף זה. יש להעתיק את הקוד ל- IDE של Arduino; מציע לשמור אותו בשם Multiplexer_Input. (אני מתנצל על אורך הקטע הזה, אך זהו לב מטרתו של המורה וחושב שהוא קורא טוב יותר כמונולית במקום להכניס הפסקות מלאכותיות.)
עדכון | מקום | מַטָרָה |
---|---|---|
כוללים מחלקת SoftwareSerial "פריצה" | כולל סעיף | הנורית נשלטת כעת על ידי מתג SPST באמצעות הפרעה להחלפת סיכה. יש לשנות את מחלקת SoftwareSerial מכיוון שאחרת היא מקצה את כל וקטורי ההפרעה לשינוי סיכה. זה גורם לשגיאת קישור "הגדרה מרובה" עבור הווקטור (יציאה 0) שהוקצה למתג SPST. גרסת SoftwareSerial שנפרצה צריכה להיות ממוקמת באותה ספרייה כמו התוכנית, כך שהיא תשפיע רק על יישום זה. |
הגדרת סיכת קלט SPST | סעיף כולל/הגדרה | הקצאת קלט SPST לפין התקן. הסיכה היא ספציפית להתקן ולכן היא מתווספת לקטע #ifdef ATtiny8x. |
מצב סיכת קלט SPST | פונקציית ההתקנה | סיכת SPST מוגדרת כ- INPUT |
קבע את תצורת הפסקת סיכת SPST | פונקציית ההתקנה | וקטור ההפרעה מוקצה לסיכת הקלט SPST כך ששינוי מצב מתג גורם להפרעה. אוגרי התצורה וסוג ההפרעה הם ספציפיים למכשיר. כדי להפוך את הקוד לפשוט ככל האפשר, ההבדלים מטופלים בתוך קטע #אם מוגדר |
הגדרת הודעה טורית מלאה | פונקציית ההתקנה | הודעת הפלט הסידורי המלא של ההתקנה משתנה כך שישקף את יישום קלט המרבב |
הוסף פונקציית ISR של מתג SPST | קטע קוד | ה- ISR עבור הפרעה לשינוי סיכת SPST מתווסף. הקוד נפוץ אך הווקטור המשמש הוא מכשיר ספציפי ומוגדר בחלקים התלויים בהתקן בראש התוכנית. על מנת לוודא שה- ISR מופעל, מצב LED משתנה. אף על פי שאין אין ביישום אמיתי, נוצרת הודעת פלט טורית המשקפת את מצב ה- LED החדש. |
שנה את עיבוד הלולאה | פונקציית לולאה | ISR שולט כעת בהדלקת וכיבוי הנורית כך שהפונקציונליות תוסר משגרת הלולאה. שיחה לשגרת השינה מתווספת ל- ATtiny84 כמעין "תוספת". עבור יישום זה, שינה ATtiny85 אינה פועלת; אולי בגלל ההתערבות של מחלקת Serial Software מכיוון שהיא פועלת עם הסרת SoftwareSerial. |
הוסף שגרת שינה | קטע קוד | אין צורך בפונקציונליות שינה כדי להוכיח שימוש במכפיל. רק הוסיף כי בדרך כלל ירצה לחכות לקלט במצב POWER_DOWN כדי לחסוך בחשמל במקום להמשיך לרוץ בלולאת התוכנית מבלי לעשות דבר עד שתתרחש קלט. |
שנה את קוד המחלקה SoftwareSerial
יש לשנות את המחלקה SoftwareSerial כך שהיא לא תחזיר את כל יציאות הפרעות לשינוי הסיכה. קוד המחלקה SoftwareSerial נמצא בכתובת
C: / Program Files (x86) Arduino / hardware / arduino / avr / libraries / SoftwareSerial / src
בצע חיפוש ב- PCINT0_vect ב- SoftwareSerial.cpp כדי למצוא את מיקום ההתחלה לשינויי הקוד. הוסף את הקוד הבא מיד לפני המשפט #אם מוגדר (PCINT0_vect) הקיים.
#אם מוגדר (_ AVR_ATtiny84_)
#define MYPORT PCINT1_vect #elif מוגדר (_ AVR_ATtiny85_) #define MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }
עכשיו הגיב על בלוק הקוד הקיים שמקצה את וקטורי הפסקת היציאה כפי שמצוין להלן (פשוט הוסף את סמלי ההערה של בלוק ההתחלה והסיום / * ו- * /):
/*
#if מוגדר (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } #endif #if מוגדר (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } #endif #if מוגדר (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect)); #endif #if מוגדר (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect)); #endif */
הגדר את החומרה
מתג SPST מחובר לסיכה 6 של ATtiny84 (MOSI) כמפורט בשלב 2. ההליך כפול כאן לנוחות.
- חבר את כניסת המתג 3A לכבל MOSI של מתכנת ה- AVR הזעיר
- חבר 3B לסיכת הפלט של מתג SPST
-
חבר 3Y לסיכה 6 של ATtiny84
-
תוצאות:
- 3A, MOSI, יועבר ל- ATtiny84 pin 6 במהלך ההורדה
- 3B, פלט SPST, יוגדר לסיכה 6 לאחר ההורדה
-
הפעל את התוכנית
לפני הריצה, הצב את מתג SPST במצב כבוי. אחרת הנורית תידלק כאשר המתג כבוי וההיפך. בצע את ההליך לשלב 3 כדי לטעון, לאסוף ולהוריד את תוכנית קלט היישום באמצעות Arduino IDE. כמו בעבר, הנורית לא אמורה להבהב במהלך ההורדה ולכן האינדיקציה היחידה שהתוכנית פועלת תהיה ההודעה הטורית בסיום שגרת ההתקנה: SETUP Complete - קלט דוגמה
בשלב זה התוכנית מחכה לקלט ממתג SPST. הצבת המתג במצב ON תגרום להדלקת הנורית; שינוי בחזרה למצב כבוי מכבה את הנורית. הודעות פלט מוודאות כי ה- ISR הופעל (ISR: Led HIGH, ISR: Led LOW). שימו לב לסדר ההודעות הסדרתיות הוא GO TO SLEEP הראשון שמחכה לשינוי מצב מתג; כאשר מקבלים קלט מתג ה- ISR מופעל, מחליף את הנורית ומתעד את השינוי; לאחר מכן העיבוד מתגבר בעקבות קריאת השינה מכיוון שההפסקה מעירה את המעבד.
תוכנית להוראה זו:
//************************************************************************
// חלק 2: יישום/הורדת שיתוף סיכות למכשיר //. משנה את קוד חלק 1 כדי לתמוך בשימוש חוזר ביישומים בסיכות // המוקצות לממשק התכנות SPI //. קוד "Comon" עבור ATtiny85 ו- ATtiny84 // ************************************** ****************************** #include "SoftwareSerial.h" // Modified Arduino SoftwareSerial class #include // While קוד העיבוד נפוץ, הסיכות המשמשות הן ספציפיות למכשיר #אם מוגדרות (_ AVR_ATtiny84_) || מוגדר (_ AVR_ATtiny84A_) #define ledPin 4 // מתג כדי להדליק/לכבות את Led מחובר/להגדיר #להגדיר rxPin 9 // סיכה המשמשת לקבלת סידורי #define txPin 10 // סיכה המשמשת לשידור סידורי #define SpstPin 6 // קלט ממתג SPST (MOSI) #define ISR_VECT PCINT0_vect // מתג SPST פין שינוי הפרעה וקטור #elif מוגדר (_ AVR_ATtiny85_) #define ledPin 1 #define rxPin 4 #define txPin 3 #define SpstPin 2 // קלט ממתג SPST (INT0_0_def // מתג SPST פין שינוי הפרעה וקטור #else #שגיאה רק ATiny84 ו- ATtiny85 נתמכים על ידי פרויקט זה #endif // צור מופע של מחלקת סדרת התוכנה המציין איזה התקן // סיכות ישמשו עבור קבלה ושידור SoftwareSerial mySerial (rxPin, txPin); // ------------------------------------------------ ------------------------ // אתחל משאבי עיבוד // ------------------- -------------------------------------------------- --- הגדרת חלל () {mySerial.begin (9600); // התחל עיכוב בעיבוד סדרתי (2000); // תן זמן ליציאת Serial Com להשלמת ההפעלה. // אחרת הפלט הראשון כנראה חסר או משובש pinMode (ledPin, OUTPUT); // הגדר סיכת לד עבור OUTPUT pinMode (SpstPin, INPUT); // הגדר את סיכת המתג SPST כ- INPUT #אם מוגדר (_ AVR_ATtiny84_) || (_AVR_ATtiny84A_) // הגדר הפרעה לשינוי סיכה כדי להתמודד עם קלט המתג בפין 6 (MOSI) GIMSK | = (1 <
שלב 5: מקרה ATtiny85 1 - לבודד פלט יישומים
במקום לבנות התקנת חומרה כפולה עבור ATtiny85, כנראה שקל יותר להתחיל עם התצורה המוגמרת עבור ATtiny84 משלב 4 ולהחליף את שבב tiny84 ב- tiny85. כל החומרה הנדרשת כבר זמינה. אם אתה משתמש בגישה זו, אתר את זעיר 85 כך שהסיכות 3 ו -4 תואמות את הכבל הטורי tx ותקבל חוטים. אז זה רק עניין של העברת חוטי ההובלה של ממשק SPI כך שיתאימו למיקומם הנדרש עבור ה- ATtiny85.
אם מתחילים מאפס, פשוט בצע את השלבים הכלליים משלב 3 ואת תרשים הטיגון לעיל. הקוד זהה לזה שמשמש עבור ATtiny84 בשלב 3 עם אותן תוצאות צפויות - ללא הבהוב במהלך ההורדה; בעת הפעלת הנורית מהבהבת במרווחים של 2 שניות והודעות פלט סדרתיות עוקבות אחר מצב הנורית.
שלב 6: מקרה ATtiny85 2 - בידוד קלט יישום
לצורך התקנת חומרה, התחל עם התצורה משלב 5 והוסף את מתג SPST כפי שמצוין בתרשים הטיגון לעיל. למעשה השתמשתי במתג רגעי עבור גרסת ה- tiny85 וזה הופך את האימות לקל יותר. שימו לב שפלט המתג מסתובב 180 מעלות מתצורת ATtiny84. שינוי זה מקל על ניתוב חוטי החיבור מכיוון שכל 3 אותות ה- SPI נמצאים באותו צד עבור ה- ATtiny85.
השתמש באותה תוכנית כמו לשלב ATtiny84 4. אותן תוצאות כלליות צפויות - נורית LED משתנה כאשר מתג SPST מופעל/כבוי והודעות פלט סדרתיות מתעדות את השינויים. הודעות GO TO SLEEP חסרות מכיוון שפונקציונליות שינה אינה מופעלת עבור ATtiny85. למרות שנעשה שימוש באותה תוכנית, ישנם הבדלים ניכרים ביישום כדי להסביר את העובדה של- ATtiny85 יש רק רשם יציאות אחד (יציאה 0):
- SoftwareSerial מקצה כעת את הפסקת השינוי ביציאת 0 פינים לתקשורת סדרתית (נזכיר שהצלחנו להשתמש ביציאה 1 עבור ה- ATtiny84).
- יש ליישם את הפסקה של מתג SPST עם הפרעה חיצונית 0 (INT0) מכיוון שההפרעה לשינוי סיכה אחת ויחידה מוקצה על ידי SoftwareSerial. זה אכן ממחיש את הנקודה שבה הפרעות לשינוי סיכה והפרעות חיצוניות אינן תלויות מבחינה לוגית וניתן להשתמש בהן בתוך אותו רשם יציאות.
- שום דבר לא מרוויח על ידי שימוש בגירסת SoftwareSerial שהשתנתה - יש רק יציאה אחת והמחלקה SoftwareSerial תתפוס אותה. עם זאת, המעמד שהשתנה עדיין שימש רק כדי להימנע משינוי שאינו קשור ישירות למטרת שלב זה.
מוּמלָץ:
שימוש חוזר ב- Philips Wake Up Light HF3550 + iPod Touch רביעי: 5 שלבים
שימוש חוזר ב- Philips Wake Up Light HF3550 + Ipod Touch 4th: EDIT 2019/10/28 העליתי קובץ IPA סדוק חדש (תודה irastignac) ועדכנתי את קישור הקובץ האנונימי. זה אמור למנוע את הרגע בו תתבקשו להזין את מזהה התפוח שלי. EDIT 2019/10/22 נראה שקובץ ה- IPA של פיליפס חתום עם התפוח שלי
שימוש חוזר בגוף קירור מחשב ליצירת כיור קירור טרנזיסטור: 7 שלבים
שימוש חוזר בגוף קירור מחשב ליצירת כיור קירור טרנזיסטור: לפני זמן מה קניתי כמה פטל 3 Raspberry לשחק איתם. מכיוון שהם מגיעים ללא גוף קירור הייתי בשוק כמה. עשיתי חיפוש מהיר בגוגל ונתקלתי במדריך זה (גוף קירור פטל פטל) - זה היה לאחר שדחיתי את הרעיון של
כיצד לעשות שימוש חוזר במסך ה- LCD הישן של המחשב הנייד השבור שלך: 4 שלבים
כיצד לעשות שימוש חוזר במסך ה- LCD הישן של המחשב הנייד השבור שלך: זהו פרויקט סופר פשוט אך גם מדהים מאוד. אתה יכול להפוך כל מסך מחשב נייד מודרני למסך עם לוח הנהגים המתאים. חיבור השניים הוא גם קל. פשוט חבר את הכבל וסיים. אבל לקחתי את זה צעד אחד קדימה וגם אני
WAC (GADGET WALK AND CHARGE) - שימוש חוזר בכונן CD ישן: 6 שלבים
WAC (GADGET WALK AND CHARGE) - שימוש חוזר בכונן CD ישן: שלום לכולם, אני כריס תלמיד בכיתה י"א וזהו ההוראה הראשונה שלי. הפרויקט הזה נעשה על ידי כשהייתי בן 11 (הייתי ביישן מכדי לפרסם את הפרויקטים שלי רק כדי להראות אותם לכולם)*מצטער על הטעויות. אנגלית היא לא שפת אם שלי
שקע ISP 6 פינים עד 8 פינים: 4 שלבים
שקע ISP 6 פינים עד 8 פינים: הסיבה שבניתי בעיקר את הפרויקט הזה הייתה לתכנת את ה- ATTiny45, שיש לו חיבור של 8 פינים, ואילו ל- USBtinyISP שלי (מ- Ladyada) יש רק חיבור של 10 פינים ו -6 פינים. אחרי שחיטטתי באינטרנט במשך 3-4 שבועות בערך לא מצאתי מה