كل شيء يعمل على النحو التالي: يوجد مشغل به زرين. أحدهما يسمح لك بتشغيل الموسيقى أو إيقاف التشغيل مؤقتًا ، والثاني يسمح لك بتبديل الأغاني عشوائيًا. بالإضافة إلى ذلك ، يمكنك تحديد بطاقة RFID وإحضارها إلى القارئ ، مما يسمح لك بتضمين تركيبة معينة. هذا ، في جوهره ، يعيد إنتاج عملية الاستماع إلى الموسيقى في العصور القديمة ، عندما كان من الضروري إدخال قرص مضغوط عادي أو كاسيت عادي في المشغل لتشغيل التسجيل المطلوب. ولكن هنا يتم استكمال النهج القديم بتقنيات جديدة ، مما يسهل على الأشخاص الذين يعانون من قيود معينة الاستماع إلى الموسيقى.
على الرغم من أن جدتي لم تعد معنا ، إلا أنني ما زلت أرغب في القيام بهذا المشروع. بينما كان والداي ينظفان المنزل ، صادفت جهاز تسجيل الكاسيت القديم الخاص بأمي. "يوريكا!" - اعتقدت. نتيجة لذلك ، شكل مسجل الشريط هذا أساس نسختي من Juuke. لقد فعلت كل شيء بشكل أساسي بنفس طريقة Ananords ، وقد عملت كما ينبغي ، لكنني قمت أيضًا بتوسيع المشروع ببعض الأفكار الخاصة بي. وهي نتحدث عما يلي:
- القدرة على تشغيل ألبوم كامل باستخدام بطاقة RFID واحدة.
- القدرة على تخطي التسجيل والانتقال إلى التسجيل التالي.
- القدرة على تشغيل الموسيقى "المسجلة" على "جوانب" مختلفة من البطاقة (A و B) ، والتي تشبه تشغيل الكاسيتات التقليدية.
- باستخدام نفس عدد الأزرار ولكن باستخدام الضغط القصير والطويل عليهم.
والآن - إلى النقطة.
المواد والأدوات
عند اختيار المواد لمشروعي ، انحرفت قليلاً عن مجموعة المكونات المستخدمة في Juuke. هذا ما يتكون منه القرص الدوار الخاص بي:
- لوحة Arduino Nano (بدلاً من لوحة Arduino Uno المستخدمة في Juuke).
- وحدة مشغل ملفات الصوت DFPlayer Mini.
- بطاقة مايكرو التنمية المستدامة.
- وحدة RFID RC522. (يقولون إن الأمر يستحق أخذ اثنين من هذه في وقت واحد ، لأن بعضها معطل بالفعل. لكنني طلبت واحدة فقط. واتضح أنها في حالة ممتازة. ربما كنت محظوظًا.)
- بطاقات RFID (طلبت 100 قطعة).
- أزرار انضغاطية مؤقتة ، 2 قطعة.
- الأسلاك.
- 1 kΩ المقاوم.
- وسادات الموصل.
- مسجل كاسيت قديم (لا يزال يعمل).
- المصابيح الملونة.
- بطارية خارجية مع دعم USB.
- لوحة النماذج.
فيما يلي قائمة بالمواد الاختيارية:
- مقاوم متغير يبلغ 10 كيلو أوم (لم أستخدم هذا ، لأن المسجل به مقبض لضبط مستوى الصوت)
- مقبس استريو (AUX) (استخدمت مكبرات صوت للمسجل).
- لوح الخبز.
- توصيل الأسلاك.
- 5V امدادات الطاقة.
- موصل الطاقة.
أدوات:
- أجهزة اللحام.
- أداة تجريد الأسلاك.
- طابعة كمبيوتر وملون.
سنحتاج أيضًا إلى حساب Canva .
الخطوة 1. تجميع النموذج الأولي
عند تجميع النموذج الأولي
، لن أتحدث كثيرًا عن هذه الخطوة من عملنا. كل شيء بسيط هنا. يتكون جوهر المشروع من عدة أجزاء:
- لوحة Arduino Nano تتحكم في كل شيء باستخدام الكود الذي سنتحدث عنه أدناه.
- وحدة DFPlayer Mini هي جهاز إلكتروني صغير يمكنه تشغيل ملفات MP3 من بطاقة SD مدرجة فيه.
- وحدة RFID RC522 ، والتي تستخدم لقراءة بطاقات RFID ، واستقبال البيانات منها ، وتستخدم لتحديد الأغاني المراد تشغيلها.
- أزرار والتحكم في مستوى الصوت.
- مكبر الصوت.
لقد استخدمت لوح التجارب لتجميع المكونات واتبعت تعليمات بناء Juuke التي كانت مفيدة. ثم اختبرت كل شيء للتأكد من أن كل شيء يعمل كما هو متوقع.
اختبار النموذج الأولي
الخطوة 2. اللحام
المكونات الموضوعة على لوحة النماذج الأولية
الجانب العكسي للوحة
توصيل اللوحة بجهاز التسجيل
لوحة مع وحدة RC522 RFID مثبتة عليها
RC522 , , « B»
الأزرار قبل اللحام
بعد الحصول على النموذج الأولي وكيف يعمل ، قمت بلحام مكونات الجهاز على لوحة النماذج الأولية. هنا اتبعت المخططات التي أعدها مستخدم Ananords ، لكنني قمت بإجراء تغيير بسيط واحد. وهي ، لقد أضفت مؤشر LED. يتم توصيل دبوس "+" من مؤشر LED بـ Pin 8 من لوحة Arduino Nano ، و "-" بالأرض. يشير هذا المؤشر إلى تشغيل الجانب B. عند تشغيل "الجانب أ" ، يكون مؤشر LED مطفأ ، وعندما يكون قيد التشغيل ، يتم تشغيل "الجانب ب".
فتحت مسجل الكاسيت ووجدت أسلاكًا تؤدي إلى التحكم في مستوى الصوت والسماعات. لقد قمت بفك هذه الأسلاك وتسميتها بالملصقات المناسبة المرفقة بها. سمح لي هذا بمعرفة إلى أين يقودون بالضبط.
قررت عدم لمس بقية المسجل - في حال قررت استعادته. تمكنت من تركيب Arduino Nano و DFPlayer Mini على لوحة صغيرة يمكن وضعها في علبة مسجل الشريط. ومع ذلك ، لم يكن هناك متسع كبير للأزرار ولوحدة RFID RC522.
على جانب مسجل الكاسيت ، وجدت مكانًا للأزرار. على الرغم من أنه لا يمكن القول إنها مثبتة بشكل مثالي في العلبة ، فقد تبين أن التصميم متين تمامًا ، ولم يكن من الضروري إعادة تصميم الحالة نفسها. هذا يعني أنني إذا قررت في أي وقت إعادة مسجل الشريط إلى شكله الأصلي ، فلن أضطر إلى ملء الثقوب في العلبة التي يمكن حفرها لتركيب الأزرار.
قمت بتشغيل أسلاك RC522 من خلال الفتحات الموجودة في حجرة البطارية وقمت بتثبيت اللوحة مع وحدة RFID نفسها في نفس حجرة البطارية ، بالقرب من الجدار الخارجي لحالة المسجل. قررت أن أفعل ذلك تمامًا نظرًا لحقيقة أنه بفضل هذا ، سيكون هناك مساحة صغيرة جدًا بين الجدار الخارجي لجهاز التسجيل ووحدة RFID. سطح الهيكل مسطح أيضًا. هذا يعني أن وحدة RFID ستتاح لها كل فرصة لقراءة البطاقة التي يتم إحضارها إلى الجسم بنجاح.
عند تثبيت LED ، مررت أرجلها من خلال الفتحات الصغيرة الموجودة في الجزء الخلفي من العلبة ، ثم قمت بلحامها بالأسلاك المقابلة.
في الواقع ، هذه هي تجربتي الأولى في إعادة صياغة جهاز إلكتروني. وأنا أقوم باللحام للمرة الثانية أو الثالثة في حياتي. لكننا تمكنا من توصيل جميع مكونات الجهاز ببعضها البعض بشكل موثوق ، وكنت سعيدًا بنفسي.
الخطوة 3. تحضير بطاقات RFID
غلاف البطاقة المستخدم لتمكين تشغيل الألبوم
تم استخدام غلاف البطاقة لتشغيل أغنية واحدة من "الجانب ب"
الخرائط وأغلفةها
لإعداد خرائط للعمل ، عليك القيام بأمرين:
- تحتاج البطاقات إلى البرمجة عن طريق تخصيص أرقام لها (توجد تعليمات حول هذا في مشروع Ananords). هناك طريقتان. الأول هو القيام بذلك تلقائيًا ، ثم ستحصل كل بطاقة تالية على رقم 1 أعلى من السابقة. والثاني هو ضبط معلمات البطاقات يدويًا ، باستخدام النافذة
Serial Monitor
في Arduino IDE. - . , ( ) . Excel , , 1 100. « A». , « B», .
بعد أن أصبحت القائمة جاهزة ، وجدت الصور الملائمة وصنعت الأغلفة في Canva. من السهل جدًا استخدام هذه الخدمة ، والأغطية نظيفة ومصنوعة بنفس الأسلوب.
للإشارة إلى ما إذا كانت البطاقة مرتبطة بأغنية معينة أو بألبوم ، استخدمت رموزًا خاصة. في الرسوم التوضيحية لهذا القسم ، يمكنك رؤية غلاف بطاقة الألبوم (مع أيقونة القرص) وغطاء البطاقة ، والذي يتضمن إدخالًا منفصلاً ، والذي يعرض رمز ملاحظة. بالإضافة إلى ذلك ، قمت بوضع حرف B كبير في خلفية تلك الأغطية التي تتوافق مع التركيبات الموضوعة على "الجانب B".
لقد قمت بطباعة الأغلفة على طابعة ملونة ، وقمت بقصها ولصقها على جانبي البطاقات باستخدام عصا لصق (لا يهم أين سيتم تطبيق غطاء "الجانب B").
بعد أن تصبح البطاقات جاهزة ، كل ما تبقى هو تحميل كود البرنامج على Arduino Nano وإعداد بطاقة microSD للعمل.
الخطوة 4. مراجعة كود Arduino وإعداد بطاقة SD
يحتوي المجلد 01 على تسجيلات يمكن تحديدها واحدة تلو الأخرى ، بينما تحتوي المجلدات 78-99 على ألبومات
محتويات المجلد 01
محتويات أحد المجلدات التي تحتوي على ألبومات
إن كود Arduino والملفات المكتوبة على بطاقة MicroSD مرتبطة ارتباطًا وثيقًا ، لأن البرنامج لن يعمل بشكل صحيح إذا لم يتم إعداد البطاقة بشكل صحيح. لذلك ، تتكون هذه الخطوة من العمل في المشروع من عدة مراحل.
▍إعداد السجلات الفردية
واجهت بعض الصعوبات في استخدام مواد مشروع Juuke. كانوا يتألفون من حقيقة أنه في بعض الأحيان تم تشغيل تشغيل الأغنية الخاطئة ، والتي تعتمد على بطاقة MicroSD التي تم إدخالها في الجهاز. لقد بحثت في هذا السؤال واكتشفت أنه يمكنني إعادة كتابة الكود وجعل اللاعب يقوم بتشغيل الأغاني من مجلد معين. لذلك وضعت جميع الأغاني الفردية في مجلد باسم 1 وأخبرت المشغل بتشغيل الأغنية المحددة من هذا المجلد:
myDFPlayer.playLargeFolder(1,number.toInt())
لتشغيل "الجانب ب" ، قدمت رمزًا ، مع ملاحظة حالة الزر ، يُعلم اللاعب بالحاجة إلى تشغيل الأغاني ، ويتم حساب أرقامها بإضافة 100 إلى رقم البطاقة التي تمت قراءتها بواسطة وحدة RFID. على سبيل المثال ، إذا تم مسح البطاقة رقم 22 ضوئيًا وتم تمكين وضع التشغيل "الجانبي B" ، فسيتم تشغيل رقم الأغنية 122. إذا لم يتم تمكين هذا الوضع ، فستؤدي قراءة نفس البطاقة إلى تشغيل الأغنية رقم 22. هذا ما يبدو عليه مقتطف الشفرة المقابل:
myDFPlayer.playLargeFolder(1,number.toInt()+100)
يجب أن تحتوي أسماء ملفات الموسيقى المخزنة على بطاقة MicroSD على بادئة مكونة من 4 أرقام تقابل الرقم المخصص لبطاقة RFID. على سبيل المثال ، إذا تم تعيين البطاقة رقم 3 ، فيجب أن يبدأ اسم ملف الموسيقى المقابل بالرقم 0003. وستتم كتابة الأغنية المرتبطة بالبطاقة رقم 21 في ملف يبدأ اسمه بـ 0021. ويتم تسمية أغاني "الجانب ب" بالمثل. على سبيل المثال ، ستتم كتابة السجل 157 في ملف بالبادئة 0157.
▍ تحضير الألبومات
يتم تنظيم الألبومات بطريقة مماثلة. يمكن للاعب تشغيل السجلات المخزنة في مجلد محدد. يتوافق كل ألبوم مع مجلد منفصل ، ويتزامن رقمه مع رقم إحدى البطاقات. نتيجة لذلك ، على سبيل المثال ، يمكنك مسح بطاقة بنفس الرقم لتشغيل الأغاني من الألبوم رقم 90. فيما يلي مقتطف من رمز التحكم في المشغل:
myDFPlayer.loopFolder(number.toInt());
هذه هي الطريقة التي تمكنت بها من تحقيق تشغيل التسجيلات المتعلقة بالألبومات الفردية. ومع ذلك ، هناك قيود على أنه يمكن تشغيل محتويات 99 مجلدًا فقط. أولاً ، قمت بإعداد النظام بحيث تكون الألبومات في مجلدات 89-99. ولكن عندما قررت أن شرائط الكاسيت الخاصة بي تحتوي على الجانب B ، فإن هذا يعني أنه لا يمكنني إضافة 100 إلى أرقام البطاقة فقط ، لأن النظام لم يسمح بأسماء المجلدات في النطاق 189-199. بحلول ذلك الوقت ، كان لدي بالفعل 11 ألبومًا. نتيجة لذلك ، قررت العثور على اسم المجلد المقابل لـ "الجانب B" من البطاقة بطرح 11. من رقم البطاقة ، اتضح أن الألبومات الإضافية انتهى بها الأمر في المجلدات 78-88. في الكود ، يبدو كما يلي:
myDFPlayer.loopFolder(number.toInt()-11);
كل ما قلته عن بنية المجلدات المسجلة على بطاقة MicroSD ينعكس في لقطات الشاشة أعلاه.
في رمز المشروع ، يمكنك العثور على تعليقات حول المكان الذي تحتاج فيه لإجراء تغييرات تتعلق بترقيم المجلدات والملفات. سيسمح لك ذلك بتخصيص النظام بنفسك.
▍ أزرار
إذا قارنت مشروعي مع Juuke ، فقد أجريت بعض التغييرات على طريقة عمل الأزرار. من أجل البساطة ، قررت عدم زيادة عدد الأزرار ، التي لدي أيضًا زران. لكنني أردت توسيع قدراتهم من خلال التعامل مع المطابع القصيرة والطويلة.
يقارن البرنامج وقت الضغط على الزر بالقيمة المحددة (نصف ثانية في هذه الحالة). إذا تم الضغط على الزر لفترة لا تتجاوز نصف ثانية هذه ، فإنها تعتبر ضغطة قصيرة. خلاف ذلك ، يعتبر النظام أنه تم الضغط لفترة طويلة على الزر.
يقوم الزر الأحمر بتشغيل أو إيقاف تشغيل الأغنية الحالية مؤقتًا بضغطة قصيرة. الضغط لفترة طويلة على هذا الزر يؤدي إلى الانتقال إلى الأغنية التالية. يتيح لك الضغط لفترة قصيرة على الزر الأصفر تشغيل وإيقاف تشغيل الأغاني "المسجلة" على "الجانب B" (يتم تشغيل أو إيقاف تشغيل مؤشر LED الموجود في الجزء الخلفي من مسجل الشريط على الفور). الضغط لفترة طويلة على هذا الزر "خلط" التراكيب.
لتمكين تشغيل الأغنية التالية ، استخدمت الكود التالي:
myDFPlayer.next();
بالنسبة لتركيبات الجانب B ، استخدمت متغيرًا خاصًا. يتم تعيين هذا المتغير إلى قيمة
false
حتى ضغطة قصيرة على الزر الأصفر. بعد الضغط ، تتغير قيمة المتغير إلى
true
. يستخدم هذا المتغير عند تحديد الأغاني التي سيتم تشغيلها. السجلات ذات أرقام الفهرس 1-100 هي "الجانب أ" والسجلات 101-200 هي "الجانب ب".
ابحث عن الكود الذي ذكرته هنا . يمكنك تغييره كما تريد.
الخطوة 5. التجميع النهائي والتحقق من التصميم
مشروع منتهي ، منظر خلفي ، تشغيل أغنية من "الجانب أ"
انتهى المشروع ، المنظر الخلفي ، تشغيل أغنية من "Side B" (لاحظ إضاءة LED والبطاقة مع الحرف "B" على الغلاف)
قمت بإزالة جميع الأسلاك في العلبة واستبدلت الغطاء الخلفي لجهاز التسجيل. ثم قمت بتوصيل كبل USB ببطارية خارجية ، والتي توجد أيضًا في العلبة (يمكن للمشغل الخاص بي العمل دون الاتصال بالتيار الكهربائي) وفحصت تشغيل النظام باستخدام بطاقات RFID مختلفة.
اختبار النظام
الخطوة 6. الاستماع إلى الموسيقى
والآن يمكنك الاستماع إلى الموسيقى من "أشرطة" جديدة على مسجل شرائط المدرسة القديمة.
مشروع منتهي
الاستماع إلى الموسيقى
التخطيط لصنع مشغل موسيقى يتحكم فيه RFID؟