جدول المحتويات:

كيفية استخدام وحدة DFMini Player MP3 مع Arduino: 4 خطوات
كيفية استخدام وحدة DFMini Player MP3 مع Arduino: 4 خطوات

فيديو: كيفية استخدام وحدة DFMini Player MP3 مع Arduino: 4 خطوات

فيديو: كيفية استخدام وحدة DFMini Player MP3 مع Arduino: 4 خطوات
فيديو: How DF Player Mini Play Audio File DFPlayer Mini Module - Play MP3 DF Player Mini Project 2024, شهر نوفمبر
Anonim
كيفية استخدام وحدة DFMini Player MP3 مع الأردوينو
كيفية استخدام وحدة DFMini Player MP3 مع الأردوينو

تتطلب العديد من المشاريع استنساخ الصوت لإضافة نوع من الوظائف. من بين هذه المشاريع ، نسلط الضوء على: إمكانية الوصول للمعاقين بصريًا ، ومشغلات موسيقى MP3 وتنفيذ الأصوات الصوتية بواسطة الروبوتات ، على سبيل المثال.

في كل هذه الأنظمة ، نحتاج إلى جهاز استنساخ صوت MP3 للاتصال بـ Arduino. لذلك ، في هذه المقالة سوف نتعلم النقاط التالية: دائرة التشغيل الأساسية لمشغل DFMini MP3 ؛ تنظيم وتكوين ملفات الصوت على بطاقة الذاكرة ؛ التحكم الموسيقي باستخدام Arduino.

اللوازم

PCBWay مخصص ثنائي الفينيل متعدد الكلور ؛

وحدة MP3 DFPlayer Mini - UTSOURCE ؛

10kR المقاوم - UTSOURCE ؛

زر التبديل - UTSOURCE ؛

اللوح - UTSOURCE ؛

اردوينو UNO - UTSOURCE ؛

رأس دبوس - UTSOURCE ؛

الخطوة 1: ما هي وحدة DF Mini Player MP3

ما هي وحدة DF Mini Player MP3
ما هي وحدة DF Mini Player MP3
ما هي وحدة DF Mini Player MP3
ما هي وحدة 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

التحكم في مشغل DFMini باستخدام Arduino
التحكم في مشغل DFMini باستخدام Arduino
التحكم في مشغل DFMini باستخدام Arduino
التحكم في مشغل 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 على تقديم المكونات الإلكترونية لبناء هذا المشروع.

موصى به: