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

אור אותות לאופניים: 10 שלבים (עם תמונות)
אור אותות לאופניים: 10 שלבים (עם תמונות)

וִידֵאוֹ: אור אותות לאופניים: 10 שלבים (עם תמונות)

וִידֵאוֹ: אור אותות לאופניים: 10 שלבים (עם תמונות)
וִידֵאוֹ: אני רוצה שווארמה 🌯 2024, נוֹבֶמבֶּר
Anonim
אור אות לאופניים
אור אות לאופניים

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

הערה: זה דורש ידע קודם על הלחמה ורעיון כיצד לתכנת AVR הוא יתרון גדול. עם זאת בחשבון, תהנה, היה סבלני והעלה תמונות של המוצר שלך למטה! הנה סרטון: והנה תמונה שלי:

שלב 1: חלקים

חלקים
חלקים

x1 ATmega 32L 8PU (www.digikey.com) x1 שקע DIP 40 פינים (www.digikey.com) x1 8x8 מערך LED (www.sparkfun.com) x1 74138 דה-מרבב (www.digikey.com) x2 חיישני Flex (www.sparkfun.com) x (רבים) נגדים 180 אוהם ו- 10k ohmx2 לוח PC (www.sparkfun.com) x6 סטנדים (www.sparkfun.com) וברגים שיתאימו (חנות חומרה מקומית) x1 מד תאוצה על לוח פריצה (www.sparkfun.com) כותרות x2 - זכר (www.sparkfun.com), נקבה (www.sparkfun.com) וזווית ישרה (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 שקעי 8 פינים (קיבלתי את שלי ברדיו שאק) x1 9v סוללה x1 רגל הדבקה על Velcrox1 כפפה מלאה באצבעות כפפה 1 מתכונת פוליאסטר threadx1 מתכנת (יש לי את זה) x1 חשפן חוטים ומודד clipx1 חלק מהחלקים:

שלב 2: הכינו את הלוחות

הכינו את הלוחות
הכינו את הלוחות
הכינו את הלוחות
הכינו את הלוחות
הכינו את הלוחות
הכינו את הלוחות
הכינו את הלוחות
הכינו את הלוחות

ראשית, הוסף את ההפרשים. תצטרך לדפוק שניים יחד כדי לקבל את הגובה הנכון. וודא כי ההתנגדות יורדת מהצד עם כריות SQUARE. בדרך זו תוכלו לגשר על רפידות עם הלחמה בתחתית ולגשר עם הכרית המשותפת למעלה כדי להתחבר לקרקע. לאחר מכן הוסף את מערך ה- LED והלחם אותו פנימה. הוא צריך להיות רחוק עד קצה הלוח כששני הסטאנופים יכולים להיות כאשר ה- YS פונה לצד הנגדי. הסיכה בצד שמאל למטה היא סיכה 1. (היא מסומנת גם בתמונה.) לאחר מכן הוסיפו את שני שקעי 8 פינים אחד על גבי השני כדי ליצור שקע אחד בן 16 פינים. הקפד שיהיה רווח אחד משמאל ולאחר מכן הלחם את זה פנימה. לאחר מכן פיצל את כותרות הזכר והנקבה לקטעי 10 ו -11 פינים. תזדקק לכפליים כותרות נשים. הלחם את אלה כפי שניתן לראות בתמונה. באשר לכותרות הגבריות אתה צריך להזיז את הסיכה כך שהן שלהן שוות בכל צד של הפלסטיק הכי קל להסתכל על התמונה כדי לראות למה אני מתכוון אז תסתכל על #6. השתמשתי בכמה צבת וזה עבד די טוב. עכשיו אם תיקח את הכותרות הזכריות ותניח אותן בין 2 הכותרות הנשיות תראה שעכשיו הן בגודל הנכון לחיבור הלוח העליון והתחתון יחד.

שלב 3: הוסף את הנגדים

הוסף את הנגדים
הוסף את הנגדים
הוסף את הנגדים
הוסף את הנגדים
הוסף את הנגדים
הוסף את הנגדים

נגדים אלה עוברים בין מערך ה- LED לבין ה- 74138 (הקרקע) כדי להגן על המערך. קפלו את אחד מוליכי הנגד מעל החלק העליון כך ששני המוליכים יהיו מקבילים. התאימו אותם לפינים 7, 9, 10, 11, 12, 13, 14 ו -15 והלחמה. גיליתי שזה עובד הכי טוב אם אתה מחליף את כיוון הנגד כפי שאתה יכול לראות בתמונה השנייה והשלישית.

שלב 4: חוט את החלק העליון

חוט את החלק העליון
חוט את החלק העליון
חוט את החלק העליון
חוט את החלק העליון
חוט את החלק העליון
חוט את החלק העליון
חוט את החלק העליון
חוט את החלק העליון

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

שלב 5: אוכלוס את החלק התחתון

אוכלוס את החלק התחתון
אוכלוס את החלק התחתון
אוכלוס את החלק התחתון
אוכלוס את החלק התחתון
אוכלוס את החלק התחתון
אוכלוס את החלק התחתון
אוכלוס את החלק התחתון
אוכלוס את החלק התחתון

עכשיו הגיע הזמן למקם את הרכיבים הבסיסיים שלנו על הלוח התחתון. ראשית נעשה את שקע ה- DIP בעל 40 פינים המתקרב לשמאל העליון כפי שהוא יכול תוך השארת שורה אחת של מקום בצד שמאל. (ראה תמונה מס '1) הלחם את זה ולאחר מכן הנח את הכותרות. הדרך הקלה ביותר לעשות זאת היא לחבר את אלה שבמעלה לאלה שיגיעו למטה באמצעות הכותרות הגבריות שהשתנו. אם עשית הכל נכון אתה צריך בסופו של דבר עם שלושת הפינים העליונים בכותרת השמאלית ליד הפינים הימניים התחתונים בשקע. זה בסדר. אנו משתמשים רק בסיכה התחתונה מימין וכפי שאתה יכול לראות יש לנו ירייה ברורה עליו מכיוון אחר. כעת הוסף את ווסת המתח כפי שמוצג בתמונה. אבטחתי את שלי דרך החור בגוף החום המתכתי בעזרת בורג ואום. גוף הקירור הוא דרך נוספת לקרקע את השבב והברגה שלו ללוח מספק מגע מוצק עם החיבור הנפוץ. זה מחובר לתחתית כמו גם לחלק העליון כי השניים מחוברים עם עמידות מתכת. עם זאת, אם אינך משתמש בחיבור הנפוץ לאדמה אל תבריח את גוף הקירור ללוח שכן גוף הקירור משמש כקרקע וכנראה תקצר משהו. החוט הבא בקליפ הסוללה. האדום עובר לסיכה מצד שמאל (כשהגוף החום למעלה והסיכות למטה) שחור לאמצע והסיכה הימנית מפיקה +5 וולט. עכשיו אתה יכול לחבר חשמל לחלק העליון (ראה תמונה מס '2). עכשיו לחיבור המתכנת. יש לי מתאם שהכנתי עבור המתכנת שלי אבל סביר להניח שתרצה לשלב כותרת 6 פינים (3x2) בעיצוב שלך. אולם אם יש לך מתאם כמוני, הנה מה שעשיתי. לקחתי כותרת בזווית ישרה וכותרת נקבה והלחמתי אותם יחד (תמונה מס '3). אחר כך חיברתי אותו ללוח כשהסיכה הראשונה מחוברת לסיכה 6. עכשיו אתה צריך להפעיל ולשבש את השבב כמו גם חיווט בנגד כדי למשוך את האיפוס גבוה. הפעלתי נגד 10k מהסיכה 9 לסיכה 10 ולאחר מכן חיברתי את הסיכה 10 ל- +5v. הסיכה הבאה (11) עוברת לחיבור המשותף (קרקע). לבסוף תסתכל על תמונה מס '4 כדי לסיים את השלב הזה (זה די מסביר את עצמו).

שלב 6: חוט את החלק התחתון

חוט את החלק התחתון
חוט את החלק התחתון
חוט את החלק התחתון
חוט את החלק התחתון
חוט את החלק התחתון
חוט את החלק התחתון

זכור את השלב המהנה באמת שבו היית צריך לעבור על 30 חוטים כדי לגרום למערך LED לעבוד? עכשיו אתה יכול לעשות את זה שוב! בתחתית!. זה קצת יותר מהיר אבל לא הרבה שלי. שוב, הסתכל על התרשים ובדוק את כל החיבורים שלך עם המולטימטר שלך. אל דאגה, זוהי פיסת ההלחמה הגדולה האחרונה של הפרויקט וכמעט סיימתם.

שלב 7: חיישני גמישות ומד התאוצה

חיישני גמישות ומד התאוצה
חיישני גמישות ומד התאוצה
חיישני גמישות ומד התאוצה
חיישני גמישות ומד התאוצה
חיישני גמישות ומד התאוצה
חיישני גמישות ומד התאוצה

תחילה נתמודד עם חיישני הגמישות, אך אתה נמצא בשטח הביתי ככל שהחומרה מגיעה. אני חושב שהתמונות שלהלן די מסבירות מה לעשות. חבר פין אחד ל- +5v השני לסיכה השלישית או הרביעית מלמעלה בצד ימין של ה- AVR (המיקרו -בקרונטור בלב הפרויקט הזה). כאשר חיברתי את זה לראשונה חשבתי שזה כל מה שאני צריך לעשות אבל מסתבר שכדי שה- AVR יקרא את חיישני הגמישות אתה צריך לשים נגד מהסיכה בחיישן שעובר ל- AVR לקרקע (ראה תמונות # 10 ו -11). השתמשתי ב- 10k. זה מחלק את המתח העובר ל- AVR מה שמכפיל כמעט את הרגישות של החיישן. עכשיו למד התאוצה. מכיוון שמד התאוצה הוא רק שיער גבוה יותר מהמרווח בין שני הלוחות ומכיוון שאולי נרצה להחליף אותו יום אחד החלטתי להשתמש בכותרות כדי להעיף אותו מהלוח ולחבר אותו. השתמש בכותרת זווית ישרה כדי להתחבר ל -6 הפינים בלוח הפריצה. עכשיו קח עוד כותרת בזווית ישרה והלחם כותרת נקבה לסיכות הקצרות ואז הלחמי אותה בפינה השמאלית התחתונה של הלוח שלך. חבר את מד התאוצה כדי לוודא שהוא מתאים, נתק אותו וחבר את הפינים המתאימים ל- Vcc (+5v) ו- Gnd. לאחר מכן חבר את סיכת יציאת X לסיכה 40 ו- Y לסיכה 39. כעת עליך להגדיר להוסיף את ה- IC (מעגלים משולבים) ולהפעיל אותו.

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

שלב 8: הוספת ICs והתוכנית הראשונה

הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה
הוספת ICs והתוכנית הראשונה

זוהי סבירות הצעד הקל ביותר בתהליך כולו. שוב עזרה התמונה. וודא שיש לך את הצ'יפס בצורה הנכונה כפי שמוסבר בתמונה מס '3. תחילה הייתי מחבר חשמל ללא כלום מחובר ונוגע בגוף החום שבווסת המתח. אם הוא חם אז משהו מתקצר ואתה צריך לחזור ולבדוק את החיבורים שלך. המשך בדרך זו, הוסף שבב אחד בכל פעם, תחושת חום וברגע שהכל במקום, הדק את האומים על הלוח התחתון כך ששני הלוחות מהודקים היטב יחד. לאחר מכן תתכנת את ה- AVR. אם מעולם לא עשית זאת בעבר, חיפוש מהיר בגוגל מניב שפע של תוצאות. במקומך הייתי שם את ה- AVR שלי על לוח לחם ומתכנת שם לפני שתנסה אותו בעבודתך הקשה. כתבתי תוכנית פשוטה להוצאת המידע המתקבל מחיישני הגמישות למערך ה- LED. זה אמור לתת לך מושג בסיסי על מה כן ומה לא עובד במעגל שלך. הנה סרטון של הקוד בפעולה …… והנה הקוד: #define F_CPU 800000UL #include #include #include void ADCINIT () { ADMUX = 0b01100000; ADCSRA = 0b10000000;} int main () {int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADCINIT (); בעוד (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); פורטה = 0b00000000; PORTD = ADCH; _ delay_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); פורטה = 0b11100000; PORTB = ADCH; _ delay_ms (1); PORTB = 0x00; }}

שלב 9: חיבור המעגל שלך לכפפה

חיבור המעגל שלך לכפפה
חיבור המעגל שלך לכפפה
חיבור המעגל שלך לכפפה
חיבור המעגל שלך לכפפה
חיבור המעגל שלך לכפפה
חיבור המעגל שלך לכפפה

אני חושב שיש הרבה דרכים לצרף את המעגל שלך לידך ולזמן מה חשבתי שאשאיר את זה לקורא אבל אז החלטתי שההנחיה לא תהיה שלמה בלי הסגירה הזו. הלכתי לחנות האופניים המקומית שלי ו קיבלתי את כפפת האצבע הזולה ביותר שיכולתי למצוא. יש צורך באצבע מלאה כי אחרת לא תוכל לחבר את חיישני הגמישות היטב. אחר כך הלכתי לחנות בדים וקיבלתי חוט פוליאסטר וולקרו דביק. הנחתי את הכפפה והנחתי את המעגל על ידי. חלק מהמיצוב הוא נוחות אך חלק אחר הוא חיישני הגמישות. הם אמורים לרדת באמצע שתי אצבעות. תפרתי לולאות סביב שלושת הבדלים כדי להחזיק את הלוח הראשי (ראה תמונה מס '2) ולאחר מכן עשיתי לולאות משוחררות 3/4 מהדרך לאורך כל אצבע חיישן גמישה (מס' 3 ו -4). הקפד לא לתפור את הכפפה סגורה. לאחר מכן הדבקתי פיסת סקוטש בצד האגודל כדי להחזיק את הסוללה. גיליתי לאחר בדיקה שזה ממש משתלם לתפור גם את זה מכיוון שהמקל לא מחזיק יותר מדי זמן. לאחר מכן הנחתי לולאה של סקוטש סביב ה -9 וו (תמונה 5). נראה שההגדרה הזו עובדת די טוב. כפי שאתה רואה בתמונות בשקופיות הראשונות והאחרונות, הוספתי כעת שרוולים לחיישני הגמישות, אך אם אין לך זמן, לולאות אמורות להסתדר. כשאתה מסיים עם הפרויקט שלך אנא פרסם תמונות של המוצר המוגמר שלך לְהַלָן. אשמח לראות מה המצאת כדי לחבר את המעגל!

שלב 10: הקוד האמיתי

הקוד האמיתי
הקוד האמיתי

תודה ששיתפת איתי עד כה. זכור כי הקוד שלי אינו מושלם. גיליתי שצריך קצת למידה כדי שהאות יעבוד כמו שצריך. אני אמשיך לנסות לשכלל את המערכת שלי ואעדכן את הדף הזה עם קוד חדש ברגע שאכתוב אותו. 26 בדצמבר 2009: קוד חדש! הוא פורסם היכן היה הקוד הישן. תודה רבה ליעקב על הפשט. זה באמת עובד טוב. הנה זה. תודה שקראתם ואל תשכחו להצביע! #include #include #include // קובע או מנקה סיביות ברגידים #הגדר setBit (sfr, bit) (sfr | = (1 << bit)) #define clearBit (sfr, bit) (sfr & = ~ (1 << bit)) #define flipBit (sfr, bit) (sfr ^= (1 << bit)) #define FALSE 0 #define TRUE 1 #define matrixX (x) (PORTA = (x - 1) << 5) #define matrixGY (y) (PORTD = y) #define matrixRY (y) (PORTB = y) עיכוב חלל (עיכוב int חתום) {unsigned int x = 0; בעוד (x <עיכוב) {x ++; }} initMatrix void () {DDRD = 0xFF; // שליטה ירוקה DDRB = 0xFF; // שליטה אדומה DDRA = 0xE0; // בקרת קרקע} void matrixRowDraw (char greenmask, char redmask, עמודה char) {matrixX (עמודה); int i = 0; עבור (i = 0; i <8; i ++) {matrixGY (greenmask & (1 << i)); matrixRY (מסכה אדומה & (1 << i)); _עיכוב_או (150); } matrixGY (0x00); matrixRY (0x00); } void matrixLeft () {matrixRowDraw (0x10, 0, 1); matrixRowDraw (0x20, 0, 2); matrixRowDraw (0x40, 0, 3); matrixRowDraw (0xFF, 0, 4); matrixRowDraw (0xFF, 0, 5); matrixRowDraw (0x40, 0, 6); matrixRowDraw (0x20, 0, 7); matrixRowDraw (0x10, 0, 8); } void matrixRight () {matrixRowDraw (0x18, 0, 1); matrixRowDraw (0x18, 0, 2); matrixRowDraw (0x18, 0, 3); matrixRowDraw (0x18, 0, 4); matrixRowDraw (0x99, 0, 5); matrixRowDraw (0x5A, 0, 6); matrixRowDraw (0x3C, 0, 7); matrixRowDraw (0x18, 0, 8); } void adcInit () {ADMUX = 0x60; ADCSRA = 0x80; } char adcGet (char chan) {ADMUX = 0x60 | צ'אן; ADCSRA | = 0x40; while (bit_is_clear (ADCSRA, ADIF)); החזר ADCH; } char adcAvg (char chan, char avgnum) // ממוצע של עד 256 דוגמאות בלבד {int i = 0; סה"כ int ללא סימן = 0; עבור (i = 0; i <avgnum; i ++) {total+= adcGet (chan); } החזר סך/avgnum; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // יש לשנות את ערכי ה- hex כאן בהתאם להגדרת המשתמשים כדי לקבוע את הרגישות של חיישני הגמישות. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } if (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} החזר 0; } תודה מיוחדת לצ'מברליין, להורי ולחברים שעזרו.

פיינליסטית בתחרות החגים הביתית

מוּמלָץ: