תוכן עניינים:
- אספקה
- שלב 1: תיאור חלק פטל:
- שלב 2: קודי ה- IR מרחוק
- שלב 3: תכנית ראשית
- שלב 4: חלק פטל: הפעלה אוטומטית והוספת קבצים חדשים
- שלב 5: ניהול הכוח באמצעות Arduino Nano
- שלב 6: הכבלים
- שלב 7: הקופסה
וִידֵאוֹ: רספיטון: Jukebox קל לשימוש: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
שלום, הפרויקט הבא שלי הוא, כפי שאני נוהג לעשות, פרוייקט לא מאוד שימושי:
זהו תיבת ג'וקים המבוססת על פטל 3 B+
אני יודע, דבר כזה יכול להיעשות בקלות עם סמארטפון ורמקול בלוטות '.
אבל לפרויקט שלי היו לי שני תנאים מוקדמים קשים:
רציתי להכין משהו "וינטאג '".
ובסך הכל, בהתחשב בעובדה שהגברת שלי חסרת תקווה בהחלט למחשב או לבלוטות 'או כל דבר אחר מהמאה ה -21, (ואפילו ה -20), הייתי צריך לעשות משהו פשוט מאוד לשימוש ………..
אז המפרט היה כדלקמן:
כפתור לחיצה אחד להפעלת המכונה
מסך מגע (פשוט מאוד) לניהול המוזיקה.
נגיעה אחת במסך כדי לעצור את המכונה.
וכדי שיהיה צליל טוב ………
אספקה
לשם כך השתמשתי ב:
1 פטל 3 B+
קולנוע ביתי ישן אחד שהיה חסר תועלת עקב קורא DVD OOS (סמסונג 2.1 ישן עם וופר ו -2 רמקולים ששיניתי כך שיתאים לקופסה)
לוח HIFIBERRY DIGI+ (עם פלט אופטי עבור מגבר הכוח)
מסך מגע 1 קיבולי 7 אינץ '(שלי מתאים לפטל עם כניסת HDMI ומופעל באמצעות USB אבל כל מסך מגע HDMI צריך להיות תקין)
אספקת חשמל אחת 5V 5A
מגן ממסר אחד
1 ננו ארדואינו לניהול תהליך ההפעלה/כיבוי
1 IR הוביל להנעת הקולנוע הביתי (המונע על ידי טרנזיסטור NPN 2N2222)
מקלט IR 1 (עבור חלק הלמידה בקודי IR בפרויקט, אני מקבל את שלי מדיסק קשיח מולטימדיה ישן עם פקודה מרחוק)
3 לד
מתג אחד למצב תחזוקה
מתג אחד לעבודה על הארדואינו (במהלך ההעלאה הארדואינו מתאפס)
כמה מחברי JST ו- Dupont
ולגבי הקופסה
עץ ודיקט (אך לא אתאר לעומק את עשיית הקופסה). רק כדי לומר שבקשר לבומר בתוך הקופסה, דיקט 10 מ"מ ועץ 18 מ"מ הם חובה אם אתה לא רוצה לראות את הג'וקבוקס חוצה את הסלון תוך כדי משחק !!!!
שלב 1: תיאור חלק פטל:
Raspi צריך לנהל דברים שונים:
1) הפקודות לקולנוע הביתי (באמצעות שלט IR)
2) קבצי המוסיקה
3) מסך המגע
4) דופק הלב לארדואינו (שמנהל את Wdt (טיימר כלב השמירה))
התחלתי מהפצה של Raspbian על כרטיס 16 G SD (מכיוון שנקרא רק קבצים מכרטיס ה- SD, אין צורך בשימוש בכונן קשיח). לא אבזבז זמן על החלק הזה מכיוון שהאינטרנט מלא בהדרכה בנושא..
בואו לראות את החלקים השונים בשלבים הבאים….
שלב 2: קודי ה- IR מרחוק
מכיוון שלא הצלחתי למצוא את תוכנית המעגלים של הקולנוע הביתי, החלטתי להסיע אותה באמצעות פקודות מרחוק
השלב הראשון שהייתי צריך להשלים היה ללמוד לרספי את הקודים של הפקודה מרחוק הקולנוע הביתי. לשם כך השתמשתי בטוטו הטוב ביותר ב- Instructables מקודי IR של אוסטין סטנטון.
היו לי כמה הבדלים, כנראה בגלל גרסה חדשה מכיוון שההוראות ישנות למדי, הקובץ hardware.conf כבר לא קיים (לפחות לא מצאתי)
נראה גם שהטרנזיסטור המשמש את הטוטו הוא טרנזיסטור PNP, מצידי השתמשתי ב- 2N2222 שהוא NPN אך התוצאה זהה. (למעט הכבלים !!!!!!!!)
הקצאת הסיכה ניתנת ב- /boot/config.txt:
#autorisation de lirc le 2019-07-08dtoverlay = lirc-rpi, gpio_out_pin = 22, gpio_in_pin = 23
נורית ה- IR תהיה כל כך מחוברת ל- pin22 של ה- Raspi.
הערה אחת חשובה: כאשר לומדים את הקודים ל- Raspi חובה להשתמש במילות המפתח המופיעות בפקודה
irrecord-רשימת שמות רשימה
להלן הקובץ שבניתי עבור תיבת ההגשה שלי:
pi@raspitone:/etc/lirc $ cat lircd.conf
# קח את הזמן לסיים קובץ זה כמתואר בכתובת # https://sourceforge.net/p/lirc-remotes/wiki/Check… # והפוך אותו לזמין לאחרים על ידי שליחתו ל- # #
# קובץ תצורה זה נוצר באופן אוטומטי
# שימוש ב- lirc -0.9.4c (ברירת מחדל) ביום ה 'ה -9 במאי 17:33:37 2019 # שורת הפקודה בשימוש: -d /dev /lirc0 /root/lircd.conf
# גרסת ליבה (uname -r): 4.14.98 -v7+ # # שם מרחוק (נכון לקובץ התצורה): jukebox
# מותג המכשיר המרוחק, הדבר שאתה מחזיק בידך: # דגם מכשיר מרוחק מספר:
# כתובת אתר מידע על מכשיר מרוחק:
# האם למכשיר מרוחק יש מכשיר לכידה מצורף e. ז., א
# פלאג USB?:
# למכשירי USB מצורפים: מזהה ספק USB, מזהה מוצר
# ומחרוזת התקנים (השתמש ב- dmesg או lsusb):
# סוג המכשיר נשלט
# (טלוויזיה, וידיאו, אודיו, DVD, לוויין, כבלים, HTPC, …):
# מכשירים נשלטים על ידי שלט זה:
להתחיל מרחוק
שם jukebox
סיביות 16
דגלים SPACE_ENC | CONST_LENGTH
eps 30
aeps 100
כותרת 4470 4496
אחד 542 1693
אפס 542 581
ptrail 553
16
pre_data 0xC2CA
פער 107863
מסכת toggle_bit_x 0
תדר 38000
להתחיל בקודים
KEY_POWER 0x807F
KEY_AUX 0x8877
KEY_VOLUMEUP 0xCC33
KEY_VOLUMEDOWN 0xDC23
קודי סיום
סיום מרחוק
כפי שאתה יכול לראות, אני רק צריך 4 פקודות כדי להניע את הקולנוע הביתי
כוח (הפעלה/כיבוי)
AUX => כדי לעבור לערוץ הקלט האופטי (מכיוון שה- HC תמיד מתחיל בקורא DVD)
ונפח +/-
הפקודות הקשורות מבוצעות באמצעות פקודות LIRC:
לדוגמה: "irsend SEND_ONCE jukebox KEY_VOLUMEUP"
שלב 3: תכנית ראשית
התוכנית הראשית כתובה בפייתון:
מכיוון שאני חדש ב- Python אני מניח שאפשר לעשות הרבה שיפור, אבל הוא פועל …
המפרט:
1) נהל את המסך הגרפי:
לשם כך השתמשתי ב- APPJAR שהוא TKINTER אך מתורבת לתלמיד (במקרה שלי), המשמעות היא הרבה יותר קלה לשימוש, כנראה עם פחות אפשרויות, אבל זה הספיק למטרה שלי.
2) הפעל את קבצי mp3:
השתמשתי ב- mplayer עבור פייתון.
3) צור מספרים אקראיים למשחק במצב דשדוש:
מכיוון שלא רציתי לשמוע את אותו שיר כל רבעון, בניתי תוכנה קטנה כדי לבדוק אם המספר אינו קיים ברשימת המספרים הקודמים x (x תלוי באורך הפלייליסט).
פונקציית הרנדינט בפייתון אינה כל כך "אקראית" עד כמה שראיתי.
4) שלח את "פעימות הלב" לארדואינו
5) ניהול נגן קבצים:
מכיוון ש- Mplayer הוא אסינכרוני, כאשר הקובץ מופעל, אין דרך לדעת על פייתון כאשר הוא מסתיים (לפחות לא מצאתי דרך פשוטה)
כדי לפתור זאת השתמשתי בפקודות mplayer המספקות את אורך הקובץ וההתקדמות בקובץ הנוכחי
הן עבור 4 והן ב- 5 השתמשתי באפשרות שנתן Appjar ליצירת משימה תקופתית (מכיוון ש- appjar הוא תכנית אירועים זוהי דרך ליצור אירוע תקופתי). הפונקציה היא:
#******************* התחל איש משימות ********************* app.registerEvent (איש משימות)
p.setPollTime (1000)
איש משימות עבור "מנהל משימות" המהווה הגדרה בתוכנית המנהלת את כל מה שאינו אירועי מסך (סוף הקובץ שהושמע, מאכלס סרגל התקדמות, שלח פעימות לב לננו, …)
ברגע שהמסך נפתח המסך נראה כך:
להלן התוכנית: (ניתן לפתוח באמצעות Notepad ++ או Geany)
שלב 4: חלק פטל: הפעלה אוטומטית והוספת קבצים חדשים
אם אתה מסתכל על התוכנית אתה יכול לראות שאני משתמש בכמה קבצי bash:
1) Start_jukebox:
למעשה המטרה היא להפעיל את הקולנוע הביתי ולעבור לכניסת D. IN (קלט אופטי בקולנוע הביתי שלי)
pi@raspitone:/bin $ cat start_jukebox#!/bin/bash
שלח את SEND_ONCE jukebox KEY_POWER
לישון 7
שלח את SEND_ONCE jukebox KEY_AUX
לישון 2
2) stop_jukebox:
לכבות את הקולנוע הביתי
pi@raspitone:/bin $ cat_ stop_jukebox
#!/bin/bash
שלח את SEND_ONCE jukebox KEY_POWER
שני קבצי bash אלה נקראים על ידי Python באמצעות הפקודה os.system
כדי להתחיל את סקריפט Python עשיתי מחשב קטן
pi@raspitone: ~ $ cat dem_jukebox.bash#!/bin/bash
cd /home /pi
python jukebox_gui.py
לצורך ההפעלה האוטומטית במצב GUI שיניתי את הקובץ להפעלה אוטומטית ב-/etc/xdg/lxsession/LXDE-pi
pi@raspitone:/etc/xdg/lxsession/LXDE-pi $ cat start אוטומטית@lxpanel-פרופיל LXDE-pi
@pcmanfm-שולחן העבודה-פרופיל LXDE-pi
@xscarver -no -splash
@lxterminal --command = "dem_jukebox.bash"
נקודה-rpi
הוספת קבצי mp3 חדשים:
כדי להוסיף קבצים חדשים, העדפתי ליצור סקריפט ייעודי קטן לפייתון:
new_song_file.py
ראשית אסביר את ארגון קבצי המערכת:
כל הקבצים נמצאים ב- /home /pi
קבצי mp3 מאוחסנים בספריית/home/pi/מוסיקה
לכל אמן יש ספריית משנה משלו המארחת את קבצי ה- mp3 הקשורים
pi@raspitone: ~/מוסיקה/מייק_ולדפילד $ ls -סך הכל 760516
-rwxr ----- 1 pi pi 2254923 30 ביוני 2017 A_New_Beginning.mp3
-rwxr ----- 1 pi pi 2691736 30 ביוני 2017 הגעה.mp3
-rwxr ----- 1 pi pi 8383244 30 ביוני 2017 Ascension.mp3
-rwxr ----- 1 pi pi 5410816 30 ביוני 2017 Blue_Night.mp3
-rwxr ----- 1 pi pi 13125199 30 ביוני 2017 Castaway_ (אינסטרומנטלי).mp3
-rwxr ----- 1 pi pi 12903583 30 ביוני 2017 Castaway.mp3
-rwxr ----- 1 pi pi 2969869 30 ביוני 2017 Celt.mp3
-rwxr ----- 1 pi pi 9047745 30 ביוני 2017 מרכבות_ (אינסטרומנטלי).mp3
-rwxr ----- 1 pi pi 9403263 juin 30 2017 מרכבות.mp3
בספריית מסמכים אנו יכולים למצוא את רשימת הקבצים המובנים להפעלה.
pi@raspitone: ~/Documents $ cat list.txtFranz_Ferdinand/Michael_live.mp3
Franz_Ferdinand/evil_and_a_heathen.mp3
Franz_Ferdinand/Walk_Away_live.mp3
Franz_Ferdinand/love_and_destroy.mp3
Franz_Ferdinand/his_fffire.mp3
Franz_Ferdinand/eleanor_put_your_boots_on.mp3
Franz_Ferdinand/missing_you.mp3
Franz_Ferdinand/this_fire_ (playgroup_remix).mp3
פרנץ_פרדיננד/ז'קלין.mp3
אנו גם יכולים למצוא את נתוני רשימות ההשמעה (אך אלה נבנים על ידי סקריפט פייתון)
התסריט הקטן של פייתון מוסיף את השירים החדשים, השמורים במוזיקה, ברשימת list.txt לאחר שעיצב את הכותרות בפורמט UNIX.
להלן התסריט: (ניתן לפתוח אותו באמצעות פנקס רשימות ++ או Geany)
שלב 5: ניהול הכוח באמצעות Arduino Nano
מכיוון שרציתי שיהיה משהו פשוט להתחיל, החלטתי לעשות זאת על ידי ננו קטן:
העיקרון:
כאשר לוחצים על כפתור ההתחלה המכשירים כולם מופעלים, הננו מתחיל (1 או 2 שניות) ומשתלט על ניהול הכוח על ידי הפעלת ממסר אשר מסיר את מגעי כפתור הלחיצה.
ואז ננו ממתין 35 שניות כדי לקבל את פעימות הלב מפטל (פירושו שתהליך ההתחלה הושלם ותוכנית תיבת ההגשה פועלת).
כל עוד ננו מקבל את פעימות הלב הוא שומר על הממסר (טיימר כלב צפייה)
אם אין עוד דופק (פירושו שתוכנית תיבת הג'וקים מופסקת) ננו ממתין 20 שניות (כדי להיות בטוח שהרספי נעצר לחלוטין) כדי לשחרר את ממסר הכוח.
אז תיבת הג'וקס כבויה לגמרי
הוספתי מתג להפעלת קלט של הננו לציון מצב תחזוקה (אני משתמש בתיבת ההגשה לניהול שרתי ה- raspi האחרים שלי באמצעות ssh et vnc). לאחר מכן ננו מבטל את תהליך כלב השמירה
הֶעָרָה:
יש להסיר את הקלט לפעימות הלב מ- Raspi (אך 3.3V מ- Raspi נחשב לרמה גבוהה על ידי ננו)
אפשר לעשות את זה עם NE555 אבל אני עצלן ותמיד יש כמה ננו במגירה שלי !!!!
להלן תוכנית C הקצרה (ניתן לפתיחה עם פנקס רשימות ++)
שלב 6: הכבלים
עבור המסך:
כבל HDMI וכבל USB משמשים ב- Raspi כדי להפעיל את המסך ולהניע אותו.
ללוח הקדמי:
כבל USB מחובר גם מה- Raspi כדי להעלות קבצים חדשים או לבצע גיבויים.
כבל USB מחובר מה- Nano בכדי שניתן יהיה לגשת לרך (לשינויים במידת הצורך)
אני מחבר גם פונגל מקלדת אלחוטית על הפטל בכדי שאוכל לבצע תחזוקה מבלי להשתמש בתקע ה- USB החיצוני
כאשר משתמשים בפטל וארדואינו, הכבלים פשוטים למדי.
הכל ממוקם על לוח מטריקס רצועה.
מהפטל 2 משתמשים ב- GPIO:
Pin22 עבור IR LED
סיכה 27 לדופק הלב לארדואינו
על ארדואינו
סיכה 2 משמשת כסיכת הפסקה לדופק הלב של רספי.
סיכות 3 עד 5 משמשות לנהיגה של הלדים (Start, Wdt, תחזוקה).
סיכה 6 מיועדת למתג התחזוקה.
סיכה 7 מופלט למגן ממסר.
להלן קובץ הטירוף:
שלב 7: הקופסה
לא אתאר הרבה מה עשיתי מכיוון שזה תלוי במגבר ההספק וברמקולים שבהם נעשה שימוש.
כמידע הקולנוע הביתי ממוקם בתחתית הקופסה.
קצת מעל הרמקולים:
וופר אחד
2 רמקולים בינוניים, ששיניתי כדי להכניס אותם לקופסה.
בחלקו העליון:
הפאנל הקדמי עם המסך, נוריות ה- LED, המתגים ותקעי ה- USB.
העץ:
עבור הרמקולים, הצד מחלק את החלק העליון והתחתון השתמשתי בקרש עץ בגודל 18 מ מ.
הצד הקדמי הוא דיקט 10 מ"מ עם ברגים 40 מ"מ.
כדי להקל על הכבלים ועל התחזוקה (במידת הצורך !!!) הנחתי את המעגל על מגירה מאחורי הפאנל הקדמי
כדי למנוע התחממות יתר, חור גדול נעשה בתחתית הפאנל האחורי והנחתי מאוורר 5V (8 ס מ) על הפאנל האחורי ממש ליד המעגל.
התמונה למעלה היא רק כדי לתת מושג.
אז זהו זה !!!!!!!!!
תודה שקראתם אותי
ונתראה בפעם הבאה להרפתקאות חדשות
מוּמלָץ:
רכזת NMEA/AIS זולה - RS232 ל- Wifi Bridge לשימוש על הסיפון: 6 שלבים
רכזת NMEA /AIS זולה - RS232 ל- Wifi Bridge לשימוש המשולב: עדכון 9 בינואר 2021 - נוסף חיבור TCP נוסף ושימוש חוזר בחיבור אחרון אם יותר לקוחות מתחברים עדכון 13 בדצמבר 2020 - לא נוספה גרסת תצורה של הקוד לסירות עם נתבים קיימים מבוא NMEA זה / גשר AIS RS232 ל- WiFi הוא
PIR מעשי לשימוש ביתי: 7 שלבים (עם תמונות)
PIR מעשי לשימוש ביתי: כמו רבים מכם בחוץ שעובדים עם פרויקטים של אוטומציה ביתית, חיפשתי לבנות חיישן PIR פונקציונלי לאוטומציה של כמה סיבובי פינות בבית שלי. למרות שחיישני PIR של מתג האור היו אופטימליים, לא ניתן לכופף פינה. זאת
דרכים מגניבות לשימוש מחדש בחלקי מחשב ישנים: 7 שלבים (עם תמונות)
דרכים מגניבות לשימוש מחדש בחלקי מחשב ישנים: במדריך זה אתן לכם בקצרה כמה רעיונות כיצד לעשות שימוש חוזר בחלקים מסוימים של מחשבים ישנים שכולם זורקים. אתם לא תאמינו, אבל במחשבים הישנים האלה יש חלקים מעניינים בפנים. לא ייתן מלא
צור דיסקי קרב משלך לשימוש בזירת קרב: 4 שלבים
צור דיסקי דו -קרב משלך לשימוש בזירת קרב: תמיד הייתי מוקסם למחצית מדיסקי הדו -קרב שנמצאו בסדרה המצוירת של יוגיה. כמה מגניב יהיה לזמן יצור בעזרת חפיסת קלפים ואז לגרום להם להוציא אותו באיזשהו זירת לחימה הולוגרפית? כאן אעבור על h
[Win] כיצד להתקין את פקודת ADB ב- CMD (מוכן לשימוש): 6 שלבים
[Win] כיצד להתקין את פקודת ADB ב- CMD (מוכן לשימוש): המשך לשלב הבא