תוכן עניינים:
- אספקה
- שלב 1: המודולים השונים
- שלב 2: ההרכבה חלק 1
- שלב 3: הרכבה חלק 2
- שלב 4: חיבור העיניים
- שלב 5: חיבור חיישן ומודול PIR
- שלב 6: נגן ה- MP3 והמגבר
- שלב 7: האסיפה הסופית
- שלב 8: המכלול
וִידֵאוֹ: אביזר עיניים מפחידות ליל כל הקדושים: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
במהלך השנים, ביצירת פרויקטים שונים, היה א
אוסף שלם של מודולים שונים שפשוט שכבו ללא שימוש ורציתי להשתמש לפחות בחלקם למשהו שיהיה כיף ויצירתי בו זמנית.
כשעברתי על "אתר instructables.com" לרעיונות, הגעתי לכמה פרויקטים שחשבתי שאפשר לערבב אותם יחד כדי להכין משהו ל" ליל כל הקדושים "הזה.
אני חייב לתת קרדיט לסטיב קווין, יוצר בלתי צפוי על השימוש ברעיונות שלהם.
אספקה
פריטים ומודולים בשימוש
מודולים בשימוש
1 לוח עצמאי Atmega8
2 לוח בקר מבוסס PIR עבור פלט 5 וולט
3 לוח מגבר LM386
מודול נגן MP3 4 כללי
5 מודולי LED MAX7219 8x8
מודול PIR 6 (כללי)
רמקול 7 אינץ '4 אוהם
חומרים אחרים
א. קופסת קרטון ריקה
ב. בקבוקי מים ריקים לשימוש חד פעמי
ג. שינוי צבע LED 5V
ד. חוטים שונים
ה. אקדח דבק
ו. מלחם
ז. כלים וחותכים שונים
ח. שנאי למטה 12V 1A
חָשׁוּב
1 Arduion IDE
2 לוח תכנות לשבבי AVR
3 תוכנות תכנות (צריבה)
שלב 1: המודולים השונים
ראשית, נבחן את ייצור המודולים השונים, אנחנו
בהחלט יכול לייצר רק PCB אחד לכל האלקטרוניקה והפרויקט יעבוד בסדר גמור, אבל מבחינתי הרעיון היה להשתמש בפריטים השונים שכבר הכנתי קודם לפרויקטים שונים ועכשיו כשהצורך נגמר, אני רק רציתי להשתמש מחדש בפריטים האלה.
לוח ATmega8
אני משתמש בשבב ATmega8 ללא גביש חיצוני. למעשה, לוחות אלה נועדו להריץ כמה מודולי LED P10 16x32 ונשארו לי כמה מהפרויקט הזה. תמונת הלוח ופריסת ה- PCB היא כדלקמן (ראה תמונות). ישנם מאמרים רבים על הכנת לוח ארדואינו משלך על "מדריכים". אתה יכול פשוט להשתמש בכל לוח ארדואינו ישן שאולי ישבת.
לוח בקר PIR
לוח PIR זה נועד להדליק ולכבות כמה קישוטי פסטיבלים מבוססי LED קטנים ועכשיו הוא פשוט שכב והחלטתי להשתמש בו. פריסת המעגל מוצגת בתמונות
לוח המגברים LM 386
זהו מודול המגבר שמעצים את פלט הקול ממודול נגן ה- MP3. הפריסה והמעגל די פשוטים והתמונות אומרות הכל. פריסת המעגל ותמונת הלוח שהושלם מסבירים את עצמם.
מודול נגן MP3
השתמשתי במודול נגן MP3 המוצג בתמונה. הוא זמין באמזון וכו ', הוא זול וקל לשימוש. החלק הטוב ביותר במודול הספציפי הזה הוא שהוא אינו דורש שום פקודה או חיבור נוסף כדי להתחיל לשחק. ברגע שהכוח המתאים מסופק ללוח, הוא מתחיל לבצע את עבודתו.
מודולי LED MAX7219 8x8
מודולי תצוגת LED מסוג 8x8 זמינים באמזון וכו '. תמונות של אלה שבהן השתמשתי מסופקות.
מודול PIR
השתמשתי במודול חיישן PIR הזמין. הוא זמין באמזון וכו ', הוא זול וקל לשימוש. התמונות ניתנות לעיון.
שלב 2: ההרכבה חלק 1
הקונספט היה לשלב את כל המודולים הללו ולייצר אביזר ליל כל הקדושים שיופעל בכל פעם שמישהו יעבור מול האביזר. לשם כך חיברתי את ספק הכוח 12 וולט ללוח הבקרה של PIR, אשר בתורו הוריד את המתח ל -5 V DC בעזרת ה- 7805 IC ומתח 5V DC זה הועבר לחיישן PIR והמשך למודולים האחרים., לוח ATmega8, מודול המגבר ומודול נגן MP3 בכל פעם שמישהו הגיע מול חיישן ה- PIR. תרשים הזרימה אומר הכל.
כפי שאנו יכולים לראות, חיישן PIR מפעיל את לוח ה- ATmega8, את מודול המגבר ואת מודול נגן ה- MP3, ה- ATmega8 שולט על "עיני" ה- LED Matrix, נגן ה- MP3 משמיע את אפקטי הקול ומודול המגבר שולח את האות לרמקול..
קוד הארדואינו הוא הרחקה ישירה מההנחיות של סטיב קווין, אלא שהזמן השתנה בקוד. הקוד המשמש ניתן להלן. מצורף גם קובץ INO.
הקוד
// D10 = פין CS דיגיטלי O/P
// D11 = סיכת שעון דיגיטלית O/P
// D12 = פין נתונים דיגיטלי O/P
//
#לִכלוֹל
#לִכלוֹל
const int numDevices = 2; // מספר MAX7219 בשימוש
const int dataPin = 12;
const int clkPin = 11;
const int csPin = 10;
LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);
// זרוק קוד זה לסביבת הפיתוח של Arduino
#define LeftEye1 0
#define RightEye1 1
#define LeftEye2 2
#define RightEye2 3
#define LeftEye3 4
#define RightEye3 5
#define LeftEye4 6
#define RightEye4 7
#define עין שמאלית 5 8
#define RightEye5 9
#define עין שמאלית 6 10
#define RightEye6 11
#define LeftEye7 12
#define RightEye7 13
#define LeftEye8 14
#define RightEye8 15
#define LeftEye9 16
#define RightEye9 17
#define עין שמאלית 10 18
#define RightEye10 19
#define LeftEye11 20
#define RightEye11 21
#define LeftEye12 22
#define RightEye12 23
#define LeftEye13 24
#define RightEye13 25
#define LeftEye14 26
#define RightEye14 27
#define LeftEye15 28
#define RightEye15 29
#define LeftEye16 30
#define RightEye16 31
#define LeftEye17 32
#define RightEye17 33
#define LeftEye18 34
#define RightEye18 35
#define LeftEye19 36
#define RightEye19 37
#define LeftEye20 38
#define RightEye20 39
typedef struct {
const מערך char חסום 1 [8];
}
binaryArrayType;
binaryArrayType binaryArray [40] =
{
{// LeftEye1, 0
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// RightEye1, 1
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// LeftEye2, 2
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, {// RightEye2, 3
B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000
}, {// LeftEye3, 4
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, {// RightEye3, 5
B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000
}, {// LeftEye4, 6
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, {// RightEye4, 7
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, {// LeftEye5, 8
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100
}, {// RightEye5, 9
B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// LeftEye6, 10
B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000
}, {// RightEye6, 11
B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// LeftEye7, 12
B01111110, B11000001, B10000001, B10011001, B10011010, B10000100, B10001000, B01110000
}, {// RightEye7, 13
B01110000, B10001000, B10000100, B10011010, B10011001, B10000001, B11000001, B01111110
}, {// LeftEye8, 14
B00111110, B01000001, B10000001, B10011001, B10011010, B10000100, B01001000, B00110000
}, {// RightEye8, 15
B00110000, B01001000, B10000100, B10011010, B10011001, B10000001, B01000001, B00111110
}, {// LeftEye9, 16
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// RightEye9, 17
B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110
}, {// LeftEye10, 18
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// RightEye10, 19
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// LeftEye11, 20
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// RightEye11, 21
B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110
}, {// LeftEye12, 22
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, {// RightEye12, 23
B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110
}, {// LeftEye13, 24
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, {// RightEye13, 25
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110
}, {// LeftEye14, 26
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, {// RightEye14, 27
B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000
}, {// LeftEye15, 28
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, {// RightEye15, 29
B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000
}, {// LeftEye16, 30
B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000
}, {// RightEye16, 31
B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000
}, {// LeftEye17, 32
B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00000000
}, {// RightEye17, 33
B00000000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000
}, {// LeftEye18, 34
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, {// RightEye18, 35
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110
}, {// LeftEye19, 36
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, {// RightEye19, 37
B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110
}, {// LeftEye20, 38
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}, {// RightEye20, 39
B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110
}
};
typedef struct {
int frameCount; // מצביע אינדקס למסגרת אנימציה של BinaryArray
int frameDelay; // עיכוב בקירוב ב- MilliSeconds להחזקת הצגת מסגרת אנימציה זו
int frameLuminance; // 0… 15, עוצמת מטריצת ה- LED למסגרת נתונה
} סוג מסגרת;
frameType movie =
{
// מצמוץ
{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // שוב רחב לגמרי
{LeftEye1, 1500, 2}, // מזועזע
{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}
};
עיכוב חלל מיליס (אינטש אלפיות השנייה)
{
עבור (int i = 0; i <מילי שניות; i ++)
עיכוב מיקרו שניות (1000);
}
הגדרת בטל () {
עבור (int x = 0; x <numDevices; x ++) {
כיבוי lc. (x, false); // ה- MAX72XX נמצא במצב חיסכון בחשמל בעת ההפעלה
lc.setIntensity (x, 1); // הגדר את הבהירות לערך ברירת המחדל
lc.clearDisplay (x); // ונקה את התצוגה
}
}
לולאת חלל () {
lc.setIntensity (0, 3);
lc.setIntensity (1, 3);
בעוד (נכון) {
עבור (int a = 0; a <(sizeof (סרט) / sizeof (frameType)); a ++)
{
עבור (int i = 0; i <8; i ++)
{
lc.setRow (0, i, binaryArray [movie [a].frameCount].array1 );
lc.setRow (1, i, binaryArray [movie [a].frameCount + 1].array1 );
lc.setIntensity (0, סרט [a].frameLuminance);
lc.setIntensity (1, סרט [a].frameLuminance);
}
delayMillis (סרט [a].frameDelay);
}
}
}
שלב 3: הרכבה חלק 2
לאחר הפעלת Arduino IDE, עליך להעתיק את הקוד ולאסוף/לאמת את הקוד. כאשר אתה אוסף את הקוד, קובץ HEX נוצר בתיקיית TEMP של המחשב. לפני סגירת ה- Arduino IDE, תוכל להעתיק את קובץ HEX מתיקיית הטמפ 'וקובץ זה הוא מה שנצטרך לשרוף לתוך שבב ATmega8 כדי לגרום לו לפעול.
בעת חיבור הקוד בחרתי את הלוח כ- "Arduino NG או ישן" ומעבד כ- "ATmega8" ולאחר ריכזתי העתקתי את קובץ ה- HEX מתיקיית הטמפ 'של המחשב לפני סגירת ה- Arduino IDE.
קובץ HEX זה נשרף על שבב ATmega8 עם צורב AVR חיצוני. השתמשתי לשם כך בתוכנת "Extreme Burner_AVR" ולוח מבערי AVR. מצורפת תמונת הלוח. אתה יכול להשתמש בכל תוכנת תכנות AVR שנוח לך.
הסיבה לשימוש במתכנת חיצוני הייתה שלא רציתי לצרוב את מטען האתחול על שבבי Atmega8 וללא מטען האתחול, הם לא יעבדו על לוח ה- Arduino הרגיל או עם ה- Arduion IDE. זה די קל לחלץ את קבצי HEX ברגע שאתה אוסף את הקוד עם Arduino IDE וזה מה שעשיתי.
הערה
חשוב מאוד לבחור את הגדרות ביט הנתיך הנכונות תוך שימוש במתכנת חיצוני.
במקרה זה, מכיוון שאיננו משתמשים ב- am kristal חיצוני ומסתמכים על השעון הפנימי של שבב ATmega8, חשוב שנגדיר את פיסות הנתיכים בהתאם. בחרתי בהגדרות הנתיכים הבאות.
Lfuse- E4
Hfuse - D9
מה זה אומר
פירוש הדבר שאיננו משתמשים בגביש חיצוני או בתהודה
השעון מוגדר לשעון פנימי של 8 מגה -הרץ
לאחר שתוכנת שבב ה- ATmega8, הגיע הזמן להרכיב את הפרויקט ולבדוק אותו.
שלב 4: חיבור העיניים
מטריצת ה- LED MAX7219 8x8 חוברה כמפורט להלן.
לוח ATmega8 TO MAX7219 מטריקס
IO Pin D10 ל- PIN PIN
IO Pin D11 ל- CLK PIN
IO Pin D12 ל- DIN PIN
VCC ל- VCC
GND ל- GND
עיין בתמונה
שלב 5: חיבור חיישן ומודול PIR
לאחר מכן חיישן ה- PIR היה מחובר לבקר ה- PIR
לוח, החיבורים הם כדלקמן
לוח בקר PIR לחיישן PIR
VCC ל- VCC
CTRL עד CTRL
GND ל- GND
עיין בתרשים
זה החלק שגורם לכל זה לקרות. חיישן ה- PIR מרים את התנועה של כל יצור בעל דם חם ומפעיל את אספקת החשמל לכל המעגלים/המודולים השונים. הזמן בחיישן PIR הותאם בהתאם לדרישה, ובמקרה זה הוא כ- 40 - 45 שניות. הוא שולח 5 וולט DC לכל המעגלים המחוברים אליו לתקופה של כ- 40-45 שניות.
שלב 6: נגן ה- MP3 והמגבר
הבא את מודול נגן ה- MP3 ואת מודול המגבר.
נגן ה- MP3 בו השתמשתי לא צריך ללחוץ על כל כפתור כדי להפעיל אותו, ברגע שהמתח הנכון מסופק אליו, הוא מתחיל להתנגן אוטומטית. הייתי צריך רק מסלול אחד אז מצאתי את כרטיס ה- SD עם הזיכרון הנמוך ביותר שיכולתי (4 GB כי כמעט בלתי אפשרי להשיג כרטיס בעל קיבולת פחותה בימים אלה). הצלילים שהורדתי מהאינטרנט, למעשה היו מספר אפקטים קוליים שהורדו וכולם נאספו ליצירת רצועת MP3 אחת באמצעות תוכנת עורך הסאונד. השתמשתי ב"עורך גל "ולבסוף העמסתי את הרצועה היחידה הזו לכרטיס ה- SD. כרטיס ה- SD הורכב במודול נגן ה- MP3 והפלט היה מחובר למודול המגבר כדי לקבל את הצליל מהרמקול.
עיין בתמונה
שבב המגבר LM386 דורש מעט מאוד רכיבים חיצוניים ומספק צליל טוב למדי מתוך רמקולים קטנים. המעגל די קל להרכבה של לוח לוח ולקח לי בערך 15-20 דקות להרכיב אותו. התמונה די מסבירה את עצמה.
שלב 7: האסיפה הסופית
לפני שהתאים את הכל במארז, רציתי לבדוק הכל ולרשום את המודולים כנדרש וביצעתי את החיבורים הסופיים. לאחר שהייתי מרוצה מעבודת החלקים. תיקנתי אותם בתוך מארז לוח הכרטיסים שנועד למטרה זו.
אני מצרף סרטון לאחר ההרכבה האחרונה של האביזר.
שלב 8: המכלול
המארז
המארז עשוי מארז קרטון ישן, צבוע באדום. המקום לעיניים וחיישן PIR נחתך באמצעות להב חד. הדפסה מתוך הגולגולת הודבקה על הקופסה והעיניים וכו '.נחתך בהתאם והמתאר צייר מחדש בעזרת עט סמן קבוע שחור. עשיתי את השיער מבקבוקי מים שהושלכו, חתכתי אותם לרצועות דקות והדבקתי אותם עם הדבק חם להמיס על הראש והצדדים. תיקנתי 2 נוריות נוריות משתנות בצבעים ואלו היו מחוברות לשקע מלוח בקר ה- PIR.
נוצרו חורים קטנים לרמקול וכל הפריטים תוקנו בעזרת הדבק חם על החלק הפנימי של הקופסה. כבל החשמל הוצא מהחלק האחורי של הקופסה וזהו בערך.
אני מקווה שתיהנו להכין את אביזר ליל כל הקדושים הזה לילדים !!
בקרוב אצרף את קליפ האודיו המשמש בפרויקט זה.
ליל כל הקדושים שמח לכולם !!
מוּמלָץ:
דלעת ליל כל הקדושים של IoT - נוריות שליטה עם Arduino MKR1000 ו- Blynk App ???: 4 שלבים (עם תמונות)
דלעת ליל כל הקדושים IoT | נוריות שליטה עם Arduino MKR1000 ו- Blynk App ???: שלום לכולם, לפני כמה שבועות היה ליל כל הקדושים ובעקבות המסורת גילפתי דלעת נחמדה למרפסת שלי. אבל כשהדלעת שלי בחוץ, הבנתי שזה די מעצבן שצריך לצאת כל ערב כדי להדליק את הנר. ואני
דלעת ליל כל הקדושים עם עין אנימטרונית נעה - הדלעת הזו יכולה לגלגל את העין שלה !: 10 שלבים (עם תמונות)
דלעת ליל כל הקדושים עם עין אנימטרונית נעה | הדלעת הזו יכולה לגלגל את העין שלה !: במדריך זה תלמד כיצד להכין דלעת ליל כל הקדושים המפחידה את כולם כאשר העין זזה. כוונן את מרחק ההדק של החיישן הקולי לערך הנכון (שלב 9), והדלעת שלך תאבן את כל מי שיעז לקחת קנדה
מהדורת ליל כל הקדושים של Arduino - מסך קופץ זומבים (שלבים עם תמונות): 6 שלבים
מהדורת ליל כל הקדושים של Arduino - מסך פופ -אאוט של זומבים (צעדים עם תמונות): רוצה להפחיד את החברים שלך ולעשות רעש צורח בהלווין? או סתם רוצה לעשות מתיחה טובה? המסך הקופץ הזה של זומבים יכול לעשות זאת! במדריך זה אלמד אותך כיצד ליצור זומבים קופצים בקלות באמצעות Arduino. ה- HC-SR0
עיניים מהבהבות חרב עטלף קישוט ליל כל הקדושים: 6 שלבים
עיניים מהבהבות חרב עטלף קישוט ליל כל הקדושים: שיעור רובוטיקה הוא דרך מצוינת ללמוד כיצד להשתמש במדעי המחשב והטכנולוגיה ליצירת פרויקטים. בעזרת הידע שלי מהרובוטיקה יצרתי קישוט מהנה ופשוט להלווין שהוא נהדר לדלתות כניסה, לתלייה מהקירות, וכל דבר אחר
שומר עיניים: הגנת עיניים מופעלת על ידי קול: 9 שלבים (עם תמונות)
Eye Guardian: הגנת עיניים המופעלת על ידי קול: Eye Guardian הוא צליל רציף המונע על ידי ארדואינו, בעל דציבלים גבוהים. הוא מזהה צליל ציוד כבד ומוריד משקפי מגן בזמן שהציוד נמצא בשימוש. מתאר בשלב הראשון אסביר את Inspirati