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

קופסת ג'וקים לצעירים מאוד Aka Raspi-Music-Box: 5 שלבים
קופסת ג'וקים לצעירים מאוד Aka Raspi-Music-Box: 5 שלבים

וִידֵאוֹ: קופסת ג'וקים לצעירים מאוד Aka Raspi-Music-Box: 5 שלבים

וִידֵאוֹ: קופסת ג'וקים לצעירים מאוד Aka Raspi-Music-Box: 5 שלבים
וִידֵאוֹ: כשמפתיעים אותך בקניון🕺 2024, נוֹבֶמבֶּר
Anonim
קופסת ג'וקים לצעירים מאוד … Aka Raspi-Music-Box
קופסת ג'וקים לצעירים מאוד … Aka Raspi-Music-Box

בהשראת "פטל-פי-מבוסס-RFID-מוסיקה-רובוט" המתאר את תיאטרון נגן המוסיקה ROALDH לילדו בן השלוש, החלטתי לבנות קופסת ג'אקים לילדים שלי אפילו צעירים יותר. היא בעצם קופסה עם 16 כפתורים ובתוכה Raspi 2 המנגנת שירים באמצעות הסטריאו המצורף בכל פעם שלוחצים על אחד מהכפתורים.

מה אתה צריך:

  • פטל פטל עם ספק כוח
  • 16 כפתורים - מהסוג שנסגרים באופן זמני בעת לחיצה (או כמה כפתורים שתרצו - יעצו: לא יותר מכפי שיש לכם סיכות קלט…;)) השתמשתי בכפתור זה: כ- 0.50 €)
  • קצת חוט דק
  • אחד 10kOhm ואחד 1kOhm resistor לכל כפתור (אלא אם כן אתה רוצה להסתמך על נגדי המשיכה/למטה הפנימיים של ה- Raspi, תוכל לדלג על זה)
  • לוח חשבונות
  • כותרת נקבה (2x20 פינים)
  • קצת עץ דק לבניית הקופסה (השתמשתי בשני גיליונות בגודל 5x400x400 מ"מ מלפנים ומאחור בתוספת פס 2000x50x5 מ"מ לחיתוך הדפנות)
  • 24 ברגים ומעט דבק לחיבור הקופסה
  • קצת צבע כדי שיהיה צבעוני
  • כבל שמע לחיבור ה- Raspi לרמקול הסטריאו או הרמקולים הפעילים שלך (שקע לכל מה שאתה צריך בקצה השני)
  • כלים: מגהץ, קוצץ תיל, חשפן חשמלי באופן אידיאלי, מסור, מקדחה, מברג, מכחול …
  • אופציונלי: כרטיס קול USB אם אתה רוצה שהמוזיקה תישמע טוב
  • אופציונלי: כרטיס wifi אם ברצונך להתחבר לרספי ישן מבלי לפתוח את הקופסה

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

שלב 1: בנה קופסה …

בנה קופסה…
בנה קופסה…
בנה קופסה…
בנה קופסה…

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

אז, בחזרה לקופסא שלי … קניתי שני יריעות דיקט 400 x 400 x 5 מ"מ ורצועה 2000 x 50 x 5 מ"מ … ואז השלב הראשון והחשוב ביותר: לבתי הורשה לצבוע את הלוח הקדמי לפי בחירתה צבעים …:) בזמן שהיא ציירה חתכתי את הנתח הארוך ל -5 רצועות - שתיים באורך 400 מ"מ, שתיים באורך 390 מ"מ והשמאלי …;) את אלה הדבקתי בחלק האחורי של הסדין הטרי טרי … ואז קידחתי 12 חורים מבחוץ והברגתי 12 ברגים … לאחר מכן יישרתי בזהירות את הסדין השני על הגב, קידחתי עוד 12 חורים ל -12 ברגים נוספים כדי לסגור את הקופסה לאחר שסיימתי. (אני יודע ש 12 ברגים אולי קצת מוגזמים אבל ילדים חזקים …:))

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

שלב 2: חיבור הכפתורים

לחבר את הכפתורים
לחבר את הכפתורים

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

לאיזה כפתור לאיזה סיכה? לחצן 1-16 בסדר זה: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. אנא בדוק גם את "אירועי לחיצת כפתור התפיסה". סעיף "בקוד מאוחר יותר.

(בבקשה אל תשאלו אותי למה נועדו החוטים המגולגלים … אני לא זוכר)

שלב 3: אופציונלי: הכנת לוח עם נגדים כלפי מעלה ומטה

אופציונלי: יצירת לוח עם נגדים למשיכה למעלה ולמטה
אופציונלי: יצירת לוח עם נגדים למשיכה למעלה ולמטה
אופציונלי: יצירת לוח עם נגדים למשיכה למעלה ולמטה
אופציונלי: יצירת לוח עם נגדים למשיכה למעלה ולמטה

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

אז למה עשיתי את זה? לפעמים המוזיקה התחילה להתנגן כשהדלקתי/כיביתי מכשירים בדירה. חשבתי לראשונה שזה להרים גלים אלקטרו מגנטיים או משהו. אז הוספתי את נגדי המשיכה/למטה … מכיוון שזה לא שיפר את המצב, הוספתי כמה קבלים בנוסף. זה עדיין לא עזר … הדבר הבא שרציתי לנסות היה לכסות את החלק הפנימי של הקופסה בנייר אלומיניום כמגן. כשהבעיה נפסקה כשעברנו דירה, מעולם לא ניסיתי את זה … אז מה הייתה הבעיה? אני לא יודע … יתכן שזו הייתה וריאציה בקו החשמל?

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

שלב 4: קוד פייתון

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

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

מעל הלולאה הראשית תמצא כמה אירועי זיהוי - אלה יבוצעו אם תלחץ על אחד הלחצנים. כל לחצן מכנה את הפונקציה ButtonPress ומעבירה מזהה.

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

שים לב, אם לא השתמשת בנגדי משיכה פיזיים, יהיה עליך לשנות את הקטע עם מספור BCM לזה:

# הגדרה באמצעות מספור BCMGPIO.setmode (GPIO. BCM) GPIO.setup (04, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (17, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (27, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (22, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (05, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (06, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (13, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (19, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (26, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (12, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (16, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (20, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (21, GPIO. IN, pull_up_down = GPIO. PUD_UP)

שלב 5: הגדרת ה- Rapsi שלך

תצטרך גם להגדיר את raspi כמובן … פשוט השתמשתי בהתקנה הרגילה של Noop. אני בטוח שתמצא המון הוראות כיצד לעשות זאת …

כדי להשתמש בפייתון תצטרך "sudo apt-get install python-dev"

התוכנית שלי משתמשת ב- VLC להשמעת המוסיקה:

  • קיבלתי את חיבור Python מכאן (מקווה שזה עדיין מעודכן):
  • לאחר מכן התקנתי אותו באמצעות "sudo python setup.py install"
  • לאחר מכן התקין VLC "sudo apt-get install vlc"
  • הדבק את הקבצים vlc.py ו- vlc.pyc לספרייה זהה לתוכנית שלך
  • מידע נוסף ב

ההערות שלי אומרות שאתה צריך גם להתקין את הדברים הבאים כדי לגשת לסיכות GPIO מ- python (אבל זה עשוי להיות מיושן):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • תקליטור bcm2835-1.xx
  • ./configure
  • עשה
  • סודו בדוק
  • sudo עשה התקנה

כדי לגרום לתוכנית שלך לפעול, יהיה עליך לקרוא "sudo python yourfilename.py".

מוּמלָץ: