جدول المحتويات:
- اللوازم
- الخطوة 1: وصف جزء التوت:
- الخطوة 2: رموز IR عن بعد
- الخطوة الثالثة: البرنامج الرئيسي
- الخطوة 4: جزء التوت: التشغيل التلقائي وإضافة ملفات جديدة
- الخطوة 5: إدارة الطاقة عبر Arduino Nano
- الخطوة 6: الكابلات
- الخطوة 7: الصندوق
فيديو: Raspitone: صندوق موسيقي سهل الاستخدام: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
مرحبًا ، مشروعي التالي ، كما اعتدت أن أفعل ، مشروع غير مفيد للغاية:
هذا صندوق موسيقي مبني على Raspberry 3 B +
أعلم أن شيئًا كهذا يمكن القيام به بسهولة باستخدام هاتف ذكي ومكبر صوت Bluetooth.
لكن بالنسبة لمشروعي ، كان لدي متطلبان أساسيان:
أردت أن أصنع شيئًا "عتيقًا".
وبشكل عام ، نظرًا لحقيقة أن سيدتي بلا أمل في الكمبيوتر أو البلوتوث أو أي شيء آخر من القرن الحادي والعشرين (وحتى القرن العشرين) ، كان علي أن أفعل شيئًا بسيطًا جدًا لاستخدام ………
لذلك كانت المواصفات كالتالي:
زر ضغط واحد لبدء تشغيل الجهاز
شاشة تعمل باللمس (بسيطة للغاية) لإدارة الموسيقى.
لمسة واحدة على الشاشة لإيقاف الماكينة.
وأن يكون لها صوت جيد ………
اللوازم
لهذا استخدمت:
1 توت العليق 3 ب +
1 سينما منزلية قديمة كانت عديمة الفائدة بسبب قارئ DVD OOS (جهاز Samsung 2.1 قديم مع مكبر صوت و 2 مكبرات صوت قمت بتعديلها لتلائم الصندوق)
1 لوحة HIFIBERRY DIGI + (مع خرج بصري لمضخم الطاقة)
1 شاشة تعمل باللمس بالسعة مقاس 7 بوصات (خاصتي مناسبة للتوت مع إدخال HDMI ويتم تشغيلها عبر USB ولكن أي شاشة تعمل باللمس HDMI يجب أن تكون على ما يرام)
1 قوة suplly 5V 5A
1 درع التتابع
1 Arduino nano لإدارة عملية تشغيل / إيقاف الطاقة
1 أدى الأشعة تحت الحمراء لقيادة السينما المنزلية (يقودها ترانزستور 2N2222 NPN)
1 مستقبل الأشعة تحت الحمراء (بالنسبة لجزء تعلم رموز الأشعة تحت الحمراء من المشروع ، أحصل على جهاز من قرص ثابت للوسائط المتعددة قديم مع أمر عن بعد)
3 ليد
1 مفتاح لوضع الصيانة
1 مفتاح للعمل على اردوينو (أثناء التحميل يتم إعادة ضبط اردوينو)
بعض موصلات JST و Dupont
وللمربع
الخشب والخشب الرقائقي (لكنني لن أصف بعمق صناعة الصندوق). فقط لنقول ذلك ، فيما يتعلق بالذراع داخل الصندوق ، فإن الخشب الرقائقي 10 مم والخشب 18 مم إلزامي إذا كنت لا تريد رؤية Jukebox يعبر غرفة المعيشة أثناء اللعب !!!!
الخطوة 1: وصف جزء التوت:
يجب على Raspi إدارة أشياء مختلفة:
1) الأوامر إلى السينما المنزلية (عبر جهاز التحكم عن بعد بالأشعة تحت الحمراء)
2) ملفات الموسيقى
3) شاشة اللمس
4) نبضات القلب إلى Arduino (التي تدير Wdt (ساعة الكلب الموقت))
لقد بدأت من توزيع Raspbian strech على بطاقة SD سعة 16 جيجا بايت (نظرًا لأننا سنقرأ فقط الملفات من بطاقة SD ، فإن استخدام محرك الأقراص الثابتة ليس ضروريًا). لن أقضي الوقت في هذا الجزء لأن الويب مليء بالتوتو حول هذا الموضوع..
دعونا نرى الأجزاء المختلفة في الخطوات التالية….
الخطوة 2: رموز IR عن بعد
نظرًا لعدم تمكني من العثور على مخطط الدائرة للسينما المنزلية ، قررت أن أقودها عبر أوامر بعيدة
كانت الخطوة الأولى التي كان علي إكمالها هي تعلم رموز نظام التحكم عن بعد للسينما المنزلية لـ Raspi ، لأنني استخدمت tuto الجيد جدًا في Instructables من أكواد Austin Stanton 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 LED متصلًا جدًا بـ pin22 من Raspi.
ملاحظة مهمة واحدة: عند تعلم الرموز لـ Raspi ، من الضروري استخدام الكلمات الرئيسية المدرجة في الأمر
غير مسجل - قائمة - مساحة الاسم
هذا هو الملف الذي قمت بإنشائه لصندوق الموسيقى الخاص بي:
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
# إصدار Kernel (uname -r): 4.14.98-v7 + # # Remote name (اعتبارًا من ملف التكوين): jukebox
# العلامة التجارية للجهاز البعيد ، الشيء الذي تحمله في يدك: # طراز الجهاز البعيد ، nr:
# عنوان url لمعلومات الجهاز البعيد:
# هل يحتوي الجهاز البعيد على جهاز التقاط مجمع هـ. ز. ، أ
# USB دونجل؟:
# لأجهزة USB المجمعة: معرف بائع USB ، معرف المنتج
# وسلسلة الجهاز (استخدم dmesg أو lsusb):
# نوع الجهاز الذي يتم التحكم فيه
# (TV، VCR، Audio، DVD، Satellite، Cable، HTPC،…):
# جهاز (أجهزة) يتحكم فيها جهاز التحكم عن بعد هذا:
تبدأ عن بعد
اسم الموسيقي
بت 16
العلامات SPACE_ENC | CONST_LENGTH
الحلقة 30
100
رأس 4470 4496
واحد 542 1693
صفر 542581
553
16- ميعاد
ما قبل البيانات 0xC2CA
فجوة 107863
toggle_bit_mask 0x0
التردد 38000
ابدأ الرموز
مفتاح الطاقة 0x807F
مفتاح KEY_AUX 0x8877
KEY_VOLUMEUP 0xCC33
مفتاح_المجلد 0xDC23
رموز النهاية
نهاية بعيد
كما ترى ، أنا فقط بحاجة إلى 4 أوامر لقيادة السينما المنزلية
الطاقة (تشغيل / إيقاف)
AUX => للتبديل إلى قناة الإدخال البصري (حيث يبدأ HC دائمًا على قارئ DVD)
وحجم +/-
يتم تنفيذ الأوامر ذات الصلة عبر أوامر LIRC:
على سبيل المثال: "irsend SEND_ONCE jukebox KEY_VOLUMEUP"
الخطوة الثالثة: البرنامج الرئيسي
البرنامج الرئيسي مكتوب بلغة بايثون:
نظرًا لأنني جديد في Python ، أعتقد أن هناك الكثير من التحسينات التي يمكن القيام بها ، لكنها تعمل….
المواصفات:
1) إدارة الشاشة الرسومية:
لهذا ، استخدمت APPJAR وهو TKINTER ولكنه متحضر للطالب (حالتي) ، وهذا يعني أنه أسهل بكثير في الاستخدام ، وربما مع إمكانيات أقل ، لكنه كان كافياً لغرضي.
2) تشغيل ملفات mp3:
لقد استخدمت mplayer للبيثون.
3) إنشاء أرقام عشوائية للعب في وضع عشوائي:
نظرًا لأنني لم أرغب في سماع نفس الأغنية كل ثلاثة أشهر ، فقد صممت برنامجًا صغيرًا للتحقق مما إذا كان الرقم غير موجود في قائمة الأرقام السابقة (x اعتمادًا على طول قائمة التشغيل).
وظيفة randint في Python ليست "عشوائية" بقدر ما رأيت.
4) أرسل "نبضات القلب" إلى Arduino
5) إدارة مشغل الملفات:
نظرًا لأن Mplayer غير متزامن ، فعند بدء الملف ، لا توجد طريقة لمعرفة Python عند الانتهاء (على الأقل لم أجد طريقة بسيطة)
لحل ذلك ، استخدمت أوامر mplayer التي توضح طول الملف والتقدم في الملف الحالي
بالنسبة لكل من 4 و 5 ، استخدمت الإمكانية التي قدمها Appjar لإنشاء مهمة دورية (نظرًا لأن appjar هو برنامج حدث ، فهذه طريقة لإنشاء حدث دوري). الوظيفة هي:
# ******************* بدء المهام ************************ app.registerEvent (Taskman)
p.setPollTime (1000)
Taskman لـ "مدير المهام" وهو أداة تعريف في البرنامج يدير كل ما ليس أحداث الشاشة (نهاية الملف الذي تم تشغيله ، وملء شريط التقدم ، وإرسال ضربات القلب إلى Nano ،….)
بمجرد أن تبدأ الشاشة تبدو كما يلي:
ها هو البرنامج: (يمكن فتحه عبر Notepad ++ أو Geany)
الخطوة 4: جزء التوت: التشغيل التلقائي وإضافة ملفات جديدة
إذا نظرت إلى البرنامج ، يمكنك أن ترى أنني أستخدم بعض ملفات bash:
1) Start_jukebox:
في الواقع ، الغرض هو تشغيل السينما المنزلية والانتقال إلى إدخال DIN (الإدخال البصري في السينما المنزلية الخاصة بي)
pi @ raspitone: / bin $ cat start_jukebox #! / bin / bash
أرسل SEND_ONCE الموسيقي KEY_POWER
النوم 7
أرسل SEND_ONCE الموسيقي KEY_AUX
النوم 2
2) stop_jukebox:
لإيقاف تشغيل السينما المنزلية
pi @ raspitone: / bin $ cat stop_jukebox
#! / بن / باش
أرسل SEND_ONCE الموسيقي KEY_POWER
تستدعي بايثون هذين الملفين باستخدام الأمر os.system
لبدء نص بايثون ، قمت بعمل باش صغير
pi @ raspitone: ~ $ cat dem_jukebox.bash #! / bin / bash
القرص المضغوط / المنزل / بي
بيثون jukebox_gui.py
لبدء التشغيل التلقائي في وضع واجهة المستخدم الرسومية ، قمت للتو بتعديل ملف التشغيل التلقائي في / etc / xdg / lxsession / LXDE-pi
pi @ raspitone: / etc / xdg / lxsession / LXDE-pi $ cat تشغيل تلقائي @ lxpanel - ملف تعريف LXDE-pi
pcmanfm - سطح المكتب - ملف التعريف LXDE-pi
xscreensaver -لا- سبلاش
lxterminal --command = "dem_jukebox.bash"
نقطة rpi
إضافة ملفات mp3 جديدة:
لإضافة ملفات جديدة ، فضلت عمل نص برمجي صغير من لغة بايثون:
new_song_file.py
سأشرح أولاً تنظيم ملفات النظام:
جميع الملفات موجودة في / home / pi
يتم تخزين ملفات mp3 في دليل / home / pi / Music
لكل فنان دليل فرعي خاص به يستضيف ملفات mp3 ذات الصلة
pi @ raspitone: ~ / Music / Mike_oldfield $ ls -ltotal 760516
مسلسلات تركية مدبلجة 2017 mp3
-rwxr ----- 1 pi pi 2691736 juin 30 2017 وصول. mp3
اغاني عراقيه حزينه جدا جدا جدا 2017 mp3
اغاني عراقيه 2017 اغاني سودانية 2017 mp3
-rwxr ----- 1 pi pi 13125199 juin 30 2017 Castaway_ (Instrumental). mp3
اغاني عراقيه حزينة جدا جدا جدا جدا جدا جدا جدا جدا 2017 mp3
-Rwxr ----- 1 pi pi 2969869 juin 30 2017 Celt.mp3
-Rwxr ----- 1 pi pi 9047745 juin 30 2017 Chariots_ (Instrumental). mp3
مسلسلات تركية مدبلجة 2017 mp3
في مجلد المستندات ، يمكننا العثور على قائمة الملفات التي سيتم تشغيلها.
pi @ raspitone: ~ / Documents $ cat list.txtFranz_Ferdinand / Michael_live.mp3
اغاني حزينه. mp3
فرانز فرديناند / Walk_Away_live.mp3
تحميل اغنية فرانز فرديناند. mp3
فرانز فرديناند / his_fffire.mp3
فرانز فرديناند / eleanor_put_your_boots_on.mp3
فرانز فرديناند / Missing_you.mp3
Franz_Ferdinand / this_fire_ (playgroup_remix). mp3
فرانز فرديناند / جاكلين. mp3
يمكننا أيضًا العثور على بيانات قوائم التشغيل (ولكن تم إنشاؤها بواسطة نص Python)
يضيف نص Python الصغير الأغاني الجديدة المحفوظة في Music في list.txt بعد تنسيق الرنين بتنسيق UNIX
هنا هو البرنامج النصي: (يمكن فتحه عبر Notepad ++ أو Geany)
الخطوة 5: إدارة الطاقة عبر Arduino Nano
نظرًا لأنني كنت أرغب في الحصول على شيء سهل البدء ، فقد قررت تنفيذه بواسطة نانو صغير:
المبدأ:
عند الضغط على زر البدء ، يتم تشغيل جميع الأجهزة ، يبدأ nano (1 أو 2 ثانية) ويتولى إدارة الطاقة عن طريق تشغيل مرحل يحول جهات اتصال زر الضغط.
ثم ينتظر Nano لمدة 35 ثانية لتلقي نبضات القلب من Raspberry (يعني أن عملية البدء قد اكتملت وتشغيل برنامج jukebox).
طالما يتلقى نانو نبضات القلب ، فإنه يحافظ على التتابع (Watch dog timer)
إذا لم يعد هناك دقات قلب (يعني توقف برنامج الصندوق الموسيقي) ، ينتظر Nano لمدة 20 ثانية (للتأكد من توقف raspi تمامًا) لتحرير مرحل الطاقة.
ثم يتم إيقاف تشغيل الصندوق الموسيقي بالكامل
أضفت مفتاحًا لتنشيط إدخال nano للإشارة إلى وضع الصيانة (أستخدم صندوق الموسيقى لإدارة خوادم raspi الأخرى عبر ssh et vnc). ثم يقوم نانو بإلغاء تنشيط عملية مشاهدة الكلب
ملاحظة:
يجب سحب مدخلات نبضات القلب من Raspi (لكن 3.3 فولت من Raspi تعتبر مستوى عالٍ من قبل Nano)
يمكن أن يتم ذلك باستخدام NE555 لكني كسول ولدي دائمًا بعض النانو في درجي !!!!
هنا هو برنامج C القصير (يمكن فتحه باستخدام Notepad ++)
الخطوة 6: الكابلات
بالنسبة للشاشة:
يتم استخدام كبل HDMI وكابل USB في Raspi لتشغيل الشاشة وقيادتها.
للوحة الأمامية:
يتم أيضًا توصيل كبل USB من Raspi لتتمكن من تحميل ملفات جديدة أو عمل نسخ احتياطية.
يتم توصيل كبل USB من النانو لتتمكن من الوصول إلى السوفت (لإجراء تعديلات إذا لزم الأمر)
أقوم أيضًا بتوصيل دونجل لوحة مفاتيح لاسلكية على التوت لأتمكن من إجراء الصيانة دون استخدام قابس USB خارجي
نظرًا لاستخدام Raspberry و Arduino ، فإن الكبلات بسيطة نوعًا ما.
كل شيء موجود على لوحة مصفوفة الشريط.
من raspberry 2 يتم استخدام GPIO:
Pin22 لمصباح IR LED
دبوس 27 لنبضات اردوينو
على اردوينو
يستخدم Pin 2 كدبوس مقاطعة لنبضات القلب من Raspi.
تستخدم الدبابيس من 3 إلى 5 لقيادة مصابيح LED (بدء ، وزن ، صيانة).
دبوس 6 هو لمفتاح الصيانة.
يتم إخراج الدبوس 7 إلى درع الترحيل.
هنا ملف fritzing:
الخطوة 7: الصندوق
لن أصف كثيرًا ما فعلته لأنه يعتمد على مضخم الطاقة ومكبرات الصوت المستخدمة.
كمعلومات ، توجد السينما المنزلية في الجزء السفلي من الصندوق.
فوق مكبرات الصوت:
1 مكبر صوت
عدد 2 مكبرات صوت متوسطة ، قمت بتعديلها لإدراجها في المربع.
بالقمة:
اللوحة الأمامية مع الشاشة و LED والمفاتيح ومقابس USB.
الخشب:
بالنسبة لمكبرات الصوت ، فإن الألواح الجانبية أعلى وأسفل استخدمت لوحًا خشبيًا مقاس 18 مم.
الجانب الأمامي 10 مم من الخشب الرقائقي مع مسامير 40 مم.
لتسهيل الكابلات والصيانة (إذا لزم الأمر !!!) أضع الدائرة على درج خلف اللوحة الأمامية
لتجنب ارتفاع درجة الحرارة ، يتم عمل ثقب كبير في الجزء السفلي من اللوحة الخلفية وأضع مروحة 5 فولت (8 سم) على اللوحة الخلفية بجوار الدائرة مباشرة.
الصورة أعلاه هي فقط لإعطاء فكرة.
هذا كل شيء !!!!!!!!!
شكرا لقراءتك لي
ونراكم في المرة القادمة لمغامرات جديدة
موصى به:
صندوق موسيقي سهل: 6 خطوات
صندوق تشغيل موسيقي سهل: المواد 1 لوحة اردوينو 1 لوح حماية 1 وعاء محمول 1 زومبادور باسيفو 2 بوتونز بوينتس 1 بانتالا LCD 16X21 بلانشا دي MDF (الفقرة لا كاجا)
غطاء انزلاقي لكاميرا الكمبيوتر المحمول سهل الاستخدام: 6 خطوات
غطاء انزلاقي لكاميرا الويب للكمبيوتر المحمول سهل الاستخدام: المواد: نسيج سميك ، على سبيل المثال جلد صناعي ، شريط عازل ، غطاء علبة بسكويت أو شوكولاتة ، مقص أدوات ، غراء سريع
صندوق موسيقي كبير الحجم لـ MaKey MaKey: 5 خطوات (بالصور)
صندوق موسيقي كبير الحجم ، لـ MaKey MaKey: هذا صندوق موسيقي كبير الحجم ، من أجل MaKey MaKey. لمزيد من المشاريع ومتابعة موجزة من ليلة بناء يناير ، يرجى الاطلاع على هذا الموضوع! ملخص قصير: هذا صندوق كبير الحجم لإيواء MaKey MaKey والأسلاك والأجزاء واللوازم والأدوات الصغيرة
DIY MusiLED ، مصابيح LED متزامنة مع الموسيقى مع تطبيق Windows و Linux بنقرة واحدة (32 بت و 64 بت). سهل التجديد ، سهل الاستخدام ، سهل النقل: 3 خطوات
DIY MusiLED ، مصابيح LED متزامنة مع الموسيقى مع تطبيق Windows و Linux بنقرة واحدة (32 بت و 64 بت). سهل إعادة الإنشاء ، سهل الاستخدام ، سهل النقل: سيساعدك هذا المشروع على توصيل 18 مصباح LED (6 أحمر + 6 أزرق + 6 أصفر) بلوحة Arduino الخاصة بك وتحليل الإشارات في الوقت الفعلي لبطاقة الصوت بجهاز الكمبيوتر الخاص بك وترحيلها إلى مصابيح LED تضيئها وفقًا لتأثيرات الإيقاع (كمين ، قبعة عالية ، ركلة)
حقيبة IPod سهلة الاستخدام قابلة لإعادة الاستخدام ومقاومة للتنقيط: 4 خطوات
حقيبة IPod سهلة الاستخدام للغاية ومقاومة للتنقيط: أحب الاستماع إلى الموسيقى أو رواية القصص المصورة اليابانية التقليدية "Rakugo" في علامة تبويب ساخنة. اعتدت أن أضع جهاز iPod الخاص بي في كيس بلاستيكي وأثبت الجزء العلوي باستخدام Sellotape أو الشريط المطاطي حتى لا يتبلل iPod ، ولكنه نوع من الإزعاج والفوضى