جدول المحتويات:
- اللوازم
- الخطوة 1: ما هي وحدة DF Mini Player MP3
- الخطوة 2:
- الخطوة 3: التحكم في مشغل DFMini باستخدام Arduino
- الخطوة الرابعة:
فيديو: كيفية استخدام وحدة DFMini Player MP3 مع Arduino: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
تتطلب العديد من المشاريع استنساخ الصوت لإضافة نوع من الوظائف. من بين هذه المشاريع ، نسلط الضوء على: إمكانية الوصول للمعاقين بصريًا ، ومشغلات موسيقى MP3 وتنفيذ الأصوات الصوتية بواسطة الروبوتات ، على سبيل المثال.
في كل هذه الأنظمة ، نحتاج إلى جهاز استنساخ صوت MP3 للاتصال بـ Arduino. لذلك ، في هذه المقالة سوف نتعلم النقاط التالية: دائرة التشغيل الأساسية لمشغل DFMini MP3 ؛ تنظيم وتكوين ملفات الصوت على بطاقة الذاكرة ؛ التحكم الموسيقي باستخدام Arduino.
اللوازم
PCBWay مخصص ثنائي الفينيل متعدد الكلور ؛
وحدة MP3 DFPlayer Mini - UTSOURCE ؛
10kR المقاوم - UTSOURCE ؛
زر التبديل - UTSOURCE ؛
اللوح - UTSOURCE ؛
اردوينو UNO - UTSOURCE ؛
رأس دبوس - UTSOURCE ؛
الخطوة 1: ما هي وحدة DF Mini Player MP3
وحدة DFMini Player عبارة عن مشغل موسيقى صغير ، منخفض التكلفة ومنخفض الطاقة بهدف إعادة إنتاج الأصوات المخزنة على بطاقة ذاكرة.
بناءً على ذلك ، يمكن التحكم في الوحدة عبر الوضع المستقل ، أي في هذا الوضع ، لن يكون هناك سوى وحدة DFMini وبطارية للتشغيل ومكبر الصوت وأزرار للتحكم فيها وبطاقة SD مع الأغاني. هناك طريقة أخرى للتحكم فيه وهي استخدام Arduino أو جهاز تحكم آخر.
Arduino ، على سبيل المثال ، سيرسل الأوامر من خلال الاتصال التسلسلي مع DFMini Player Module. يتم عرض وحدة DFMini Player في الشكل 1.
للتحكم فيه ، من المهم استخدام الدائرة المستقلة الأساسية. تظهر هذه الدائرة في الشكل 2.
يتم استخدام الزرين الموضحين في الدائرة أعلاه لتغيير المقطوعات الموسيقية والتحكم في مستوى الصوت ، ويتم استخدام الزر المتصل بالدبوس IO1 للانتقال إلى المسار السابق وتقليل مستوى الصوت. بلمسة سريعة ، يعود النظام إلى الأغنية السابقة ، ومع ذلك ، إذا ضغطت على الزر لأكثر من ثانية واحدة ، فسيقوم النظام بتقليل حجم الأغنية.
يتم استخدام الزر المتصل بـ pin IO2 للانتقال إلى المسار التالي وزيادة مستوى الصوت. بلمسة سريعة ، يتقدم النظام إلى الأغنية التالية ، ومع ذلك ، إذا ضغطت على الزر لأكثر من ثانية واحدة ، فسيقوم النظام بزيادة حجم الأغنية.
الخطوة 2:
في هذه الطريقة المستقلة ، يجب حفظ الأغاني على بطاقة الذاكرة ، كما هو موضح في الشكل 3.
بهذه الطريقة ، في كل مرة يتم الضغط على الأزرار ، سيقوم النظام بتشغيل كل أغنية بترتيب تصاعدي أو تنازلي ، ومع ذلك ، عند استخدام Arduino أو أي جهاز تحكم آخر ، يجب علينا تعديل طريقة تنظيم الملفات الموسيقية على بطاقة SD.
الآن ، سأشرح كيفية التحكم في DFMini Player باستخدام Arduino من خلال الاتصال التسلسلي.
الخطوة 3: التحكم في مشغل DFMini باستخدام Arduino
في هذه الخطوة ، سيتم إرسال التحكم في مستوى الصوت والتحكم في النطاق وأوامر الموازنة والميزات الأخرى بواسطة Arduino.
يجب أن يتواصل Arduino عبر المسلسل مع DFMini Player وإرسال أوامر التحكم.
يظهر المخطط الإلكتروني لدائرة التحكم في الشكل 4.
أولاً ، يجب أن نقوم بتجميع الدائرة الموضحة في الشكل أدناه ، وبعد تجميع هذه الدائرة يجب إضافة الأغاني على بطاقة الذاكرة الخاصة بك. في هذه الخطوة ، يجب إعادة تسمية الأغاني كـ 01 ، 02 ، 03 ، على سبيل المثال.
لا يمكنك ترك الأغاني بأسمائها ، حيث ستكون هناك مشكلة عندما يرسل Arduino الأمر لتنفيذ المسار المحدد. لذلك ، يجب عليك التكوين كما هو موضح أدناه.
الخطوة الرابعة:
بعد تسمية الملفات ، اكتب الكود التالي على Arduino.
// ينتظر إدخال البيانات عبر التسلسل أثناء (Serial.available ()> 0) {command = Serial.read () ؛ if ((الأمر> = '1') && (الأمر <= '9')) {Serial.print ("إعادة إنتاج الموسيقى") ؛ Serial.println (الأمر) ؛ الأمر = الأمر - 48 ؛ myDFPlayer.play (الأمر) ؛ menu_opcoes () ؛ } // Reproduction // Stop if (command == 's') {myDFPlayer.stop ()؛ Serial.println ("توقفت الموسيقى!") ؛ menu_opcoes () ؛ } // Pausa / Continua a musica if (command == 'p') {pausa =! pausa؛ إذا (وقفة == 0) {Serial.println ("متابعة …") ؛ myDFPlayer.start () ، } if (pausa == 1) {Serial.println ("Music Paused!")؛ myDFPlayer.pause () ، } menu_opcoes () ؛ }
// يزيد الحجم
إذا (الأمر == '+') {myDFPlayer.volumeUp () ؛ Serial.print ("الحجم الحالي:") ؛ Serial.println (myDFPlayer.readVolume ()) ، menu_opcoes () ؛ } إذا (الأمر == '') {myDFPlayer.next () ؛ Serial.println ("التالي:") ؛ Serial.print ("المسار الحالي:") ؛ Serial.println (myDFPlayer.readCurrentFileNumber () + 1) ؛ menu_opcoes () ؛ } // تقليل الحجم إذا (الأمر == '-') {myDFPlayer.volumeDown ()؛ Serial.print ("المجلد الحالي:") ؛ Serial.println (myDFPlayer.readVolume ()) ، menu_opcoes () ؛ }}} void menu_opcoes () {Serial.println ()؛ Serial.println ("============================================ ==================================================== ===================================== ")) ؛ Serial.println (F ("الأوامر:")) ؛ Serial.println (F ("[1-3] لتحديد ملف MP3")) ؛ Serial.println (F ("[s] stop reproduction")) ؛ Serial.println (F ("[p] وقفة / متابعة الموسيقى")) ؛ Serial.println (F ("[+ أو -] يزيد حجم الصوت أو ينقصه")) ؛ Serial.println (F (" للأمام أو للخلف المسار")) ؛ Serial.println () ، Serial.println ("============================================ ==================================================== ==================================== ")) ؛ }
الكود المعروض أعلاه بسيط للغاية وسيساعدك على تحديد الأغنية برقمها والتوقف والإيقاف المؤقت والتحكم في مستوى الصوت وتمرير المسارات.
يتكون التحكم الموسيقي من إرسال البيانات من Arduino IDE التسلسلي إلى لوحة Arduino الخاصة بنا. في البداية ، يقوم النظام بإجراء التكوين في الإعداد ويتحقق مما إذا تم إدخال بطاقة SD في الوحدة.
إذا لم يتم إدراجه ، يعرض النظام رسالة لتنبيه المستخدم.
بالإضافة إلى ذلك ، يعرض النظام رسائل مع خيارات تكوين النظام.
إعداد باطل () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600) ؛ // Inicializa مسلسل فعل Arduino Serial.begin (115200) ؛ // Verifica se o modulo esta responseendo e se o // cartao SD foi encontrado Serial.println () ؛ Serial.println (F ("DFRobot DFPlayer Mini")) ؛ Serial.println (F ("تهيئة وحدة DFPlayer … انتظر!")) ؛ if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Not initialized:"))؛ Serial.println (F ("1. تحقق من اتصالات DFPlayer Mini")) ؛ Serial.println (F ("2. أدخل بطاقة SD")) ؛ احيانا صحيح)؛ } Serial.println () ، Serial.println (F ("تمت تهيئة DFPlayer Mini module!")) ؛ // Definicoes iniciais myDFPlayer.setTimeOut (500) ؛ // المهلة التسلسلية 500 مللي ثانية myDFPlayer.volume (5) ؛ // المجلد 5 myDFPlayer. EQ (0) ؛ // Equalizacao normal menu_opcoes () ؛ }
إذا تم إدخال بطاقة الذاكرة ، فسيدخل تدفق الرمز إلى وظيفة الحلقة.
حلقة باطلة () {// ينتظر إدخال البيانات عبر المسلسل أثناء (Serial.available ()> 0) {command = Serial.read () ؛ if ((الأمر> = '1') && (الأمر <= '3')) {Serial.print ("إعادة إنتاج الموسيقى") ؛ Serial.println (الأمر) ؛ الأمر = الأمر - 48 ؛ myDFPlayer.play (الأمر) ؛ menu_opcoes () ؛ } // Reproduction // Stop if (command == 's') {myDFPlayer.stop ()؛ Serial.println ("توقفت الموسيقى!") ؛ menu_opcoes () ؛ } // Pausa / Continua a musica if (command == 'p') {pausa =! pausa؛ إذا (وقفة == 0) {Serial.println ("متابعة …") ؛ myDFPlayer.start () ، } if (pausa == 1) {Serial.println ("Music Paused!")؛ myDFPlayer.pause () ، } menu_opcoes () ؛ }
// يزيد الحجم
إذا (الأمر == '+') {myDFPlayer.volumeUp () ؛ Serial.print ("الحجم الحالي:") ؛ Serial.println (myDFPlayer.readVolume ()) ، menu_opcoes () ؛ } إذا (الأمر == '') {myDFPlayer.next () ؛ Serial.println ("التالي:") ؛ Serial.print ("المسار الحالي:") ؛ Serial.println (myDFPlayer.readCurrentFileNumber () + 1) ؛ menu_opcoes () ؛ } // تقليل الحجم إذا (الأمر == '-') {myDFPlayer.volumeDown ()؛ Serial.print ("المجلد الحالي:") ؛ Serial.println (myDFPlayer.readVolume ()) ، menu_opcoes () ؛ }}}
يمكن للمستخدم إرسال رموز التحكم التالية:
الأرقام من 1 إلى 3: حدد الأغنية المراد تشغيلها ؛
- Letter s: إيقاف الأغنية ؛ Letter p: إيقاف الأغنية مؤقتًا ؛
- أرسل علامة +: ارفع مستوى صوت الأغنية ؛
- إرسال إشارة -: خفض مستوى صوت الأغنية ؛
- إرسال الإشارة <: حدد الأغنية السابقة ؛
- إرسال الإشارة>: حدد الأغنية التالية ؛
من هذه الإشارات والأحرف والأرقام ، سيستقبلها Arduino عبر المسلسل وسيتحكم في الموسيقى التي سيتم تشغيلها.
يتم عرض كل شرط أدناه وداخليًا ، مع الأوامر الخاصة به.
if ((الأمر> = '1') && (الأمر <= '3')) {Serial.print ("إعادة إنتاج الموسيقى") ؛ Serial.println (الأمر) ؛ الأمر = الأمر - 48 ؛ myDFPlayer.play (الأمر) ؛ menu_opcoes () ؛ } // Reproduction // Stop if (command == 's') {myDFPlayer.stop ()؛ Serial.println ("توقفت الموسيقى!") ؛ menu_opcoes () ؛ } // Pausa / Continua a musica if (command == 'p') {pausa =! pausa؛ إذا (وقفة == 0) {Serial.println ("متابعة …") ؛ myDFPlayer.start () ، } if (pausa == 1) {Serial.println ("Music Paused!")؛ myDFPlayer.pause () ، } menu_opcoes () ؛ }
// يزيد الحجم
إذا (الأمر == '+') {myDFPlayer.volumeUp () ؛ Serial.print ("الحجم الحالي:") ؛ Serial.println (myDFPlayer.readVolume ()) ، menu_opcoes () ؛ } إذا (الأمر == '') {myDFPlayer.next () ؛ Serial.println ("التالي:") ؛ Serial.print ("المسار الحالي:") ؛ Serial.println (myDFPlayer.readCurrentFileNumber () + 1) ؛ menu_opcoes () ؛ } // تقليل الحجم إذا (الأمر == '-') {myDFPlayer.volumeDown ()؛ Serial.print ("المجلد الحالي:") ؛ Serial.println (myDFPlayer.readVolume ()) ، menu_opcoes () ؛ }}
لذلك ، إذا قمت بتطبيق جميع الخطوات المقدمة ، فستتمكن من معرفة:
- دائرة التشغيل الأساسية لمشغل DFMini MP3 ؛
- تنظيم وتكوين ملفات الصوت على بطاقة الذاكرة ؛
- التحكم الموسيقي باستخدام Arduino. من خلال هذا الرمز ، يمكنك تطوير مشاريع أخرى تحتاج إلى استخدام الصوت كوظيفة للنظام.
شكر وتقدير
في النهاية ، نشكرك على قراءتك ودعم PCBWAY. COM لدعم Silício Lab في إنتاج هذه المقالة من أجلك.
يشكر مختبر Silícios Lab UTSOURCE على تقديم المكونات الإلكترونية لبناء هذا المشروع.
موصى به:
كيفية استخدام وحدة RFID-RC522 مع Arduino: 5 خطوات
كيفية استخدام وحدة RFID-RC522 مع Arduino: في هذا Instructable ، سأقدم إرشادات حول مبدأ العمل الأساسي لوحدة RFID إلى جانب علاماتها ورقائقها. سأقدم أيضًا مثالًا موجزًا لمشروع قمت به باستخدام وحدة RFID هذه مع RGB LED. كالعادة مع إضافاتي
كيفية استخدام وحدة ساعة الوقت الفعلي (DS3231): 5 خطوات
كيفية استخدام وحدة ساعة الوقت الحقيقي (DS3231): DS3231 هي ساعة منخفضة التكلفة ودقيقة للغاية في الوقت الحقيقي (RTC) مع مذبذب بلوري مدمج معوض لدرجة الحرارة (TCXO) وكريستال. يشتمل الجهاز على مدخل للبطارية ويحافظ على عرض توقيت دقيق عندما تصل الطاقة الرئيسية إلى
كيفية استخدام وحدة تحكم Wled RGB: 5 خطوات
كيفية استخدام Wled RGB Controller: مرحبًا ، أتمنى أن يكون الجميع على ما يرام وآمنًا تمامًا في الوباء المستمر ، أنا آسف للغاية لأنني عالق مع Work & amp؛ مشاريع والكثير من التحرير لم يتم إنجازه بعد في هذا الفيديو ، سأعرض لك Wled وحدة تحكم RGB Pixel بسيطة حيث
كيفية استخدام Mac Terminal ، وكيفية استخدام الوظائف الرئيسية: 4 خطوات
كيفية استخدام Mac Terminal ، وكيفية استخدام الوظائف الرئيسية: سنعرض لك كيفية فتح محطة MAC. سنعرض لك أيضًا بعض الميزات داخل Terminal ، مثل ifconfig وتغيير الأدلة والوصول إلى الملفات و arp. سيسمح لك Ifconfig بالتحقق من عنوان IP الخاص بك وإعلان MAC الخاص بك
كيفية استخدام وحدة مستشعر الأشعة تحت الحمراء TCRT5000 مع Arduino UNO: 7 خطوات (بالصور)
كيفية استخدام وحدة مستشعر الأشعة تحت الحمراء TCRT5000 مع Arduino UNO: في هذا البرنامج التعليمي ، سنعلمك بعض الأساسيات حول استخدام وحدة مستشعر الأشعة تحت الحمراء TCRT5000. توضح لك هذه العناصر الأساسية القيم التناظرية والرقمية على الشاشة التسلسلية. الوصف: يستخدم مستشعر الأشعة تحت الحمراء العاكس جهاز TCRT5000 لاكتشاف اللون و