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

3 מתנות קלות לחג ATTiny: 4 שלבים
3 מתנות קלות לחג ATTiny: 4 שלבים

וִידֵאוֹ: 3 מתנות קלות לחג ATTiny: 4 שלבים

וִידֵאוֹ: 3 מתנות קלות לחג ATTiny: 4 שלבים
וִידֵאוֹ: מתנות ליום הולדת. מתנות לחברים, למשפחה, מתנה לחג. מתנות DIY 2024, נוֹבֶמבֶּר
Anonim
3 מתנות לחג ATTiny קלות
3 מתנות לחג ATTiny קלות

בכל שנה עונת החגים מתגלגלת ואני נתקעת מה לתת לחברים ולמשפחה שלי. אנשים תמיד אומרים שעדיף להכין את המתנה בעצמך מאשר לקנות אותה בחנות אז השנה עשיתי בדיוק את זה. הראשון מציג שם או תמונה בסיסית כשהוא מנופף באוויר, השני דוהה בצורה חלקה בין שני לדים לבנים (יש לו גם סיכת ביטחון להצמיד אותו לבגדים או לארנק), והשלישי הוא אור מצב רוח מסוגים, גלילה בצורה חלקה בין הצבעים. כולם מתחת ל -15 $ וקל להרכבה תוך פחות משעה. תוכל גם לתת הוראות אלה וכן חלקים במתנה למי שמעוניין ללמוד אלקטרוניקה.

הערה: יש להניח רמת הלחמה בסיסית. עם זאת, שלא כמו ההוראה הקודמת שלי אני אבהיר כיצד לתכנת AVR. אני באמת מקווה שזה עוזר לאנשים שמנסים להתחיל בתחום האלקטרוניקה. אני זוכר כשהייתי שם ואשמח לקבל כל שאלה שיש לך. זכור שאין שאלות טיפשיות! השארתי לך פתוח לקבוע כיצד תפרש את הלוח שלך בתקווה שתמצא דרך חדשה להציג את המעגלים הפשוטים שציירתי. אנא פרסם תמונות לאחר שתסיים, אני לא יכול לחכות לראות מה תמצא! חלקים לכל הפרויקטים N = מספר פרויקטים x N ATTiny45 (www.digikey.com) x N שקע DIP 8 פינים (RadioShack) x 1 לוח Perf גדול (קיבלתי את שלי ב- RadioShack) x N 3v סוללת מטבעות ומחזיק (RadioShack) x1 מתכנת (אני משתמש בזה והקובץ המצורף יוגדר לשימוש זה) x2 N נגדים, אחד 10 אוהם ואחד 10k אוהם (RadioShack) להלן תמונה של שלושת הפרויקטים שהושלמו:

שלב 1: פלאש השם

השם פלאש
השם פלאש
השם פלאש
השם פלאש
השם פלאש
השם פלאש

חלקים אחרים x5 LEDs 3 מ מ מפוזרים (RadioShack) פרויקט זה משתמש בהתמדה של ראייה כדי להציג תמונה או טקסט כשהם נעים במהירות. זה עובד טוב יותר כשחושך. עם ה- AVR אנו עוברים בין LED מהר יותר ואז העין יכולה לראות שנוכל ליצור תמונה באוויר עם מעט מאוד רכיבים. הקוד: (הורד את קובץ ה- zip בתחתית הדף עבור הקוד, קובץ המאפיין וכו '(קוד זה אינו כולל את ההערות הנרחבות שקוד זה עושה, אך אם הקוד אינו פועל, נסה את הקוד המופיע בו zip קובץ)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // לאלו מכם שמעולם לא קראו את C לפני קו הרוחב הכפול מציין הערה. זה קובע את סיכות ה- avr כתו פלט x = 10; // x משמש להגדרת תחילת העיכוב. הגדלת הערך נותנת מעבר איטי יותר בין פיקסלים, ירידה, זמן נמוך יותר (1) // While (התנאי נכון); {עשה זאת} (נכון ב- C הוא 1) {PORTB = ~ 0b00010001; // קוראים לחבר שלי זואי אז ציירתי את הדמויות על נייר גרף ולאחר מכן ייחסתי אותן ל- PORTB. שלושת האפסים הראשונים לא חשובים מכיוון שיש רק חמישה לדים מחוברים. אחד מכל אחד מחמשת הרווחים הנותרים מציין כי הנורית דולקת, אפס, כבוי. _ delay_ms (x); // עיכוב במילי שניות PORTB = ~ 0b00010011; _ delay_ms (x); PORTB = ~ 0b00010101; _ delay_ms (x); PORTB = ~ 0b00011001; _ delay_ms (x); PORTB = ~ 0b00010001; _ delay_ms (x); dispClear (); // רווח פתוח בין תווים _עיכוב_מס (x); PORTB = ~ 0b00001110; _ delay_ms (x); PORTB = ~ 0b00010001; _ delay_ms (x*3); PORTB = ~ 0b00001110; _ delay_ms (x); dispClear (); _ delay_ms (x); PORTB = ~ 0b00011111; _ delay_ms (x); PORTB = ~ 0b00010101; _ delay_ms (x); PORTB = ~ 0b00010001; _ delay_ms (x); dispClear (); _ delay_ms (x*5); // המילה מתבצעת כך שלצדק יש לי רווח גדול יותר בין מילים}} עכשיו בצע את ההוראות בעמוד 4 כדי לאסוף את הקוד הזה ולשלוח אותו ל- AVR שלך.

שלב 2: אור הארנק

אור הארנק
אור הארנק
אור הארנק
אור הארנק

חלקים אחרים x2 LEDs NON DIFFUSED (RadioShack) פרויקט זה דוהה בצורה חלקה בין שני נוריות LED. אמי רצתה שמשהו ילך על הארנק שלה כדי לעזור לדבורה שלה להיראות בלילה. הרגשתי שאור מהבהב של אופניים ימשוך יותר מדי תשומת לב אז עשיתי את זה. הוא משתמש ב- PWM (Pulse Width Modulation) כדי לתת את האפקט של עמעום והבהרה. מה שקורה בפועל הוא שה- LED מהבהב מהר יותר ממה שהעין יכולה לראות במרווחים משתנים כדי לדמות שינוי. אתה יכול לראות את זה בצורה ברורה יותר כשאתה מנפנף אותו בפנייך כפי שהיית רואה עם השם פלאש. ניתן להוריד את הקוד בסוף דף זה. עיין בעמוד 4 על אופן ההרכבה ל- AVR שלך. במקום להגיב על הקוד כאן אסביר בקצרה את הרעיון. PWM נוצר על ידי טיימר. כל מחזור שעון הטיימר סופר אחד. כאשר הוא מגיע לערך מסוים (במקרה זה OCR1B) הוא משנה את מצב הסיכה (במקרה זה OC1B). כדי לגרום לנוריות "לכבות" חיברתי את השני ל [OPPOSITE] OC1B (זה מה שהסרגל בחלקו העליון מתכוון). לאחר מכן אנו משתמשים ב- x כדי להגדיל ולהקטין את משך הזמן שבו נוריות ה- LED יהיו דולקות.

שלב 3: מגולל הצבעים

מגולל הצבעים
מגולל הצבעים
מגולל הצבעים
מגולל הצבעים

אחרים Partsx1 RGB LED (מפוזר עדיף) (RadioShack) זה בעיני קלאסיקה. תמיד התאפנתי באורות כאלה ומצאתי אותם מאוד מרגיעים, כך שבאופן טבעי רציתי להכין אחד. גם הנראות שלהם בחברה נותנת להם גורם WOW אמיתי. "עשית את זה ?!" הקוד כמעט זהה ולדעתי קל יותר לקריאה. אתה יכול להוריד את זה בתחתית. הפעם אנו מספקים סיכת PWM'd לכל סיכה הארקה על נורית ה- RGB. בצורה זו אנו טוחנים דרך השבב. ניתן למדוד וולט כהפרש בין שתי נקודות. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** המופע האחרון הזה הוא מה שאנחנו עושים כשאנחנו טוחנים דרך השבב. כאשר יש שלושה וולט משני הצדדים, נאמר, אין מספיק וולט להנעת LED. אז כדי לדהות בין הצבעים בחרנו צבע וצבע אחר. הגדר אחד שווה ל- x והשני שווה ל- 255-x או ההיפוך של x. כמו שעשינו בפרויקט הקודם. כעת עבור לשלב 4 לתכנות.

שלב 4: תכנות

תכנות
תכנות

קודם כל הורד והתקן את Emacs, avr-gcc ו- Avrdude וכל התלות שיש להם. ב- Arch linux עשיתי זאת עם: sudo pacman -Sy emacs avrdude

עכשיו הגיע הזמן לחבר את המתכנת שלך ל- AVR שלך. חברו את הפינים במתכנת ISP בן 6 הפינים (תמונה למטה) לסיכות המתאימות ב- AVR שלכם (גליון נתונים, עמוד 2) (עשיתי זאת על לוח לחם). כעת חבר את המתכנת למחשב שלך וגע מהר מאוד בחלק העליון של ה- AVR. אם הוא חם, הסר את המתכנת מהמחשב שלך פעם אחת בדוק את החיבורים שלך ונסה שוב (כוח וג'נד לאחור?). אם הוא לא חם, פתח את emacs ולחץ על Ctl-x Ctl-f כדי למצוא את קובץ ה- c. פתח אותו ולאחר מכן הקש על Meta (Usualy Alt) -x והקלד compile. הקש enter פעמיים ואם יש לך מזל שה- AVR שלך אמור להפעיל כעת את הקוד שלך! תודה שקראתם! אני מקווה שנהניתם ולמדתם משהו. אנא, אל תהסס לשאול שאלות ואל תשכח לפרסם תמונות של מה שאתה מעלה. חג שמח ואל תשכחו להצביע!

מוּמלָץ: