تصميمُ قارئ ِصوتياتٍ بسيطٍ مع مضخِّمٍ باستخدامِ الأردوينو والدّارة LM386

إنّ إضافةَ الأصواتِ والموسيقا إلى مشروعِك ستجعلهُ ُيبدو رائعاً، خصوصاً إذا استخدمْتَ الأردوينو ولديكَ الكثير ُمن أرجل ِالتّوصيلِ غيرِ المستخدمة، وبالتّالي يمكنُكَ أن تُضيفَ التّأثيرات الصّوتيّة إلى المشروع بسهولة عن طريق استخدامِ دارةِ مساعدةِ بطاقة ذاكرة (SD Card Module) ومكبّر صوتٍ عادي.سنرى في هذه المقالة ِمدى سهولةِ إضافة ِالموسيقا والمؤثّراتِ الصّوتية ِباستخدام الأردوينو -نشكرُ في هذا السياقِ العاملِينَ في مجالِ الأردوينو الّذين طوَّروا بعضَ المكتباتِ الّتي تجعلُ تصميمَ هكذا مشروع ٍأسرعَ وأبسطَ- حيثُ سنستخدمُ الدَّارةَ المتكاملة LM386 للقيام بعملياتِ التضخيمِ وكتم ِالتشويش.

                                  الشكل (1):قارئ ِصوتياتٍ بسيطٍ مع مضخِّمٍ باستخدامِ الأردوينو والدّارة LM386

 

القطع المطلوبة:

  • Arduino UNO.
  • دارة لقراءة بطاقة الذّاكرة (SD Card Reader Module).
  • بطاقة ذاكرة (SD Card).
  • الدّارة المتكاملة LM386 المضخّمة للصّوت.
  • مكثفتان بسعة 10 ميكرو فاراد.
  • مكثفتان بسعة 100 ميكرو فاراد.
  • مقاومتان (1 kΩ) و (10 kΩ).
  • كباسات (أزرار) (Push Buttons) عدد 2.
  • لوح توصيل.
  • أسلاك توصيل.
  • تجهيز ملفّات الصّوت:

لتشغيلِ ملفاّتِ الصّوتِ من بطاقة الذّاكرةِ باستخدام الأردوينو يجبُ أن تكون َالملفاّتُ بصيغة ِ(.wav) ،لأنّ لوحَ الأردوينو يستطيعُ قراءةَ الملفاّت ِبهذه الصيغة فقط، أمّا إذا كنْتَ تريدُ أن تصنعَ مشغِّلَ ملفّاتٍ (.mp3) باستخدام الأردوينو، فإنّه يوجدُ أكثرُ من نوع ٍمن شيلد (Shields) MP3 ، أو يمكنُكَ أن تستخدمَ العديدَ من المواقع ِالّتي تقومُ بتحويلِ أيّ ملفٍّ صوتيٍّ إلى صيغة (.wav).

 

ولتحويل ِأيّ ملفٍّ صوتيّ إلى صيغة (.wav) اتبع الخطوات ِالتالية:

أولاً:

ادخلْ إلى موقع تحويلِ ملفّاتِ الصّوت إلى ملفّات (.wav):

للانتقال الى الموقع : اضغط هنا

ثانياً:

تمّ اختبارُ هذه إعداداتِ التّالية بشكلٍ ناجح ٍعلى المشروع ِوأعطَتْ أفضلَ نتيجةٍ، (يمكنُكَ تجريبُ إعداداتٍ أخرى بنفسِك):

Bit Resolution:  8 Bit

Sampling Rate: 16000 Hz

Audio Channel: Mono

PCM format: PCM unsigned 8-bit

ثالثاً:

عندما تصبحُ في الموقع اضغط على أيقونة ِاختيار الملفِّ “choose file” ،  و قُمْ بتحديد ِالملف ِّالّذي تريدُ تحويلَهُ ثمّ أدخِلْ الإعداداتِ السابقةَ الذّكرِ،

رابعاً:

اضغط زرَّ تحويلِ الملفِّ “convert file” عندها سيتمُّ تحويلُّ الملفِّ إلى الصّيغةِ المطلوبة ، وغالباً سيتم ُّتحميلُ الملف ِّالّذي تمَّ تحويلُهُ عند انتهاءِ عمليّةِ التّحويلِ بشكلٍ تلقائي.ّ

خامساً:

أخيراً قُمْ بتهيئةِ بطاقة ِالذّاكرة الّتي تريدُ استخدامَها، واحفظْ ملفَّ الصّوتِ ذا اللاحقةِ (.wav) عليها.

تذكّرْ أسماءَ الملفاتِ لأنّكَ ستحتاجُها لاحقاً،ُ كما يجب أن تبقى هذه الأسماءُ دونَ تغيير.

هنا قُمْنا بحفظ ِأربعةِ ملفّاتٍ بالأسماءِ التالية 1،2،3،4 على بطاقةِ الذّاكرة بعد تحويلهِم إلى صيغة (.wav).

 

  • الدّارة والتّجهيزات:

إنّ مخطّطَ الدّارةِ لهذا المشروعِ بسيطٌ وهو موضّحٌ في الشّكلِ التّالي:

 الشكل (2):مخطّطَ الدّارةِ

الشكل (2):مخطّطَ الدّارةِ

بما أنَّنا قُمْنا بحفظِ ملفّاتِ الصّوتِ إلى بطاقةِ ذاكرةٍ، لذلك سنقومُ بربطِ شيلد بطاقة ذاكرة ٍإلى لوح ِالأردوينو، حيث يتخاطبُ شيلد بطاقةِ الذّاكرة مع لوحِ الأردوينو باستخدام بروتوكول SPI، وبالتّالي سنقومُ بتوصيلِ الشيلد إلى أرجلِ الـ SPI على الّلوحِ كما هو موضّحٌ في الشّكل (2) والجدولِ التّالي:

+5V VCC
Gnd Gnd
Pin 12 MISO (Master In Slave Out)
Pin 11 MOSI (Master Out Slave In)
Pin 13 SCK (Synchronous Clock)
Pin 4 CS (Chip Select)

وبهذا يصبحُ لوحُ الأردوينو قادراً على قراءةِ الموسيقا من بطاقة الذّاكرةِ وإخراجِها على الرِّجل 9، ولكنّ إشارةَ الصّوتِ على الرِّجل 9 لن تكونَ جاهزةً للتشغيلِ مالم نقُمْ بتضخيمِها باستخدامِ دارة تضخيمِ الصّوتِ منخفضِ الجهد LM386.
صُمِّمَ هذا المضخِّمُ بقدرةٍ على التضخيم 200 مرّة، حيث يتمُّ تغذيةُ الرِّجل 6 (Vdd) بوساطة رجلِ التّغذيةِ ذاتِ الجهد 5V. في حال أردْتَ أن تقومَ برفعِ أو خفضِ الصّوتِ يمكنُكَ أن تزيدَ أو تخفِضَ الجهدَ المطبّقَ على هذه الرِّجل، حيثُ يمكنُه أن يتحمّلَ حتى 15V.
كما يُوجدُ في هذا المشروعِ زرّان (كبستان) يتمّ توصيلُهما إلى كلٍّ من الرِّجلين 2 و3 للوح الأردوينو، يُستخدَم أحدُهُما للانتقالِ إلى المقطعِ الصّوتيّ التّالي، أمّا الزرّ الثاّني يعملُ كزرِّ إيقاف / تشغيل للملفّ الحالي، ويمكنُ تجميعُ الدّارةِ كاملةً باستخدامِ لوحِ توصيلٍ كما هو موضّح في الشكل (3).

                                   الشكل 3:قارئ ِصوتياتٍ بسيطٍ مع مضخِّمٍ باستخدامِ الأردوينو والدّارة LM386

 

برمجة الأردوينو:

عندما تصبحُ جاهزاً بما يتعلّقُ بالتجهيزاتِ وبطاقةِ الذّاكرة، يتبقى لك خطوةٌ واحدةٌ لتشغيلِ مقاطعِ الصّوتِ الموجودةِ على بطاقة الذّاكرةِ، أدخِلْ بطاقةَ الذّاكرةِ في الشيلد واتبعْ الخطواتِ التّالية:

أولاً:

قُمْ بتحميلِ المكتبة ِمن الرّابطِ التّالي حيث سنقومُ باستخدامِها في المشروع.

للتحميل: اضغط هنا

ثانياً:

قمْ بإضافةِ المكتبةِ إلى بيئة الأردوينو كالتّالي:

Sketch -> Include Library -> Add .ZIP Library

وبعدها قمْ بتحديدِ ملفِّ المكتبةِ الّذي قمْتَ بتحميلِه في الخطوة السّابقة.


ثالثاً:

قمْ بنسخِ الكودِ البرمجيّ التّالي إلى بيئةِ العملِ، ثمّ ارفعْهُ إلى الأردوينو لتصبحَ جاهزاً لتشغيلِ ملفّاتِ الصّوت.

الكود البرمجيّ 1: التحميل من  هنا

 تشغيلُ الملفِّ الصّوتيّ: يمكنُكَ تشغيلُ أيّ ملفٍّ صوتيّ تمَّ تخزينُهُ بصيغة wav على بطاقةِ الذّاكرةِ باستخدامِ السّطر التّالي:

(“music.play(“3.wav
(“object name.play (“FileName.wav//

حيثُ يمكنُكَ أن تضعَ هذا الكودَ في الأماكنِ الّتي تريدُ فيها أن يعملَ ملفُّ الصّوت.

تشغيلُ وإيقاف ُتشغيل ِالملفِّ مؤقتاً: لإيقافِ تشغيلِ الملفِّ الصّوتيِّ مؤقتاً استخدمْ الكودَ التّالي:

()music.pause
()objectname.pause

تقريبُ وإعادةُ الملفِّ للخلف: لا يوجدُ طريقة ٌمباشرةٌ لتقريبِ أو إعادةِ الملفِّ إلى نقطةٍ سابقةٍ، ولكن يمكنُكَ استخدامُ الكودِ التّالي لتشغيلِ الأغنيةِ من نقطةٍ محدّدٍة، حيثُ يمكنُ استخدامُ هذه الطّريقةِ للقيام بالعمليّةِ مع القليلِ من البرمجة:

music.play(“2.wav”,33); //Plays the song from 33rd second
objectname.play(“Filename.wav”); //time in second

حيث يقوم ُهذا الكودُ بتشغيلِ الأغنيةِ من الثانيةِ الثالثةِ والثلاثين.

ضبطُ جودةِ الصّوت: تسمحُ لنا هذه المكتبةُ بجودتَين لتشغيلِ الموسيقا، الأولى: تشغيلُ الصّوتِ في الوضعِ العادي، والثانية: تشغيلُ الصّوتِ بجودةٍ مضاعفة (2*oversampling).

music.quality(0); //Normal Mode
music.quality(1); //2X over sampling mode

 ضبطُ مستوى الصّوت: يمكنُ أن نتحكمَ بمستوى الصّوتِ عن طريقِ البرنامجِ، حيثُ يمكننا ضبطُ مستوى الصّوت عن طريق الكود التّالي، ولكن رفعُ مستوى الصّوت يؤثِّر على جودةِ الصّوت، وبالتّالي يجبُ أن نعمدَ إلى تعديلِ الصّوتِ باستخدامِ الدّارة ِعند الإمكان.

music.setVolume(5); //Plays the song at volume 5
(objectname.setVolume(Volume level//

استخدامُ مشغِّل الموسيقا المصمَّم على أساسِ الأردوينو:

بعد القيامِ ببرمجةِ لوحِ الأردوينو يمكن ُتشغيلُ الأغنيةِ الأولى عن طريقِ ضغطِ الزرِّ الموصولِ إلى الرِّجلِ 2 للأردوينو، كما يمكنُكَ أن تضغطَ الزرَّ مرّةً أخرى للانتقال إلى الأغنيةِ الثّانيةِ ومن ثمّ الثالثة وهكذا.
كما يمكنُ تشغيلُ وإيقافُ تشغيلِ الأغنيةِ مؤقتاً عن طريقِ الضّغطِ على الزرِّ الموصولِ إلى الرِّجل 3 للأردوينو، فعندَ الضّغط ِعلى الزرِّ يتمّ إيقافُ الأغنيةِ مؤقَّتَاً، وعند الضّغطِ مجدّداً يكملُ تشغيلَ الأغنيةِ من المكان الّذي توقّفَتْ عندَه.

نتمنى أن تكونَ قد أُعجِبْتَ بهذا المشروع. والآن يمكنُكَ أن تستخدمَ إبداعَكَ في استخدامِه في مشاريعِكَ المستقبليّةِ، فهو يمكِّنُك من تصميمِ ساعةٍ ناطقةٍ، مساعدٍ صوتيٍّ، روبوتٍ ناطقٍ، ونظامٍ أمنيّ بمنبّهٍ صوتيّ، والعديد من المشاريع الأخرى.

يمكنكم مشاهدة التطبيق العملي من خلال الفيديو التالي :


المصدر: هنا
ترجمة:لؤي ديب ، مراجعة: عبدالله الفارس ، تدقيق لغوي: رنيم العلي ، تصميم:علي العلي ، تحرير:قحطان غانم.

Leave a Reply

Your email address will not be published. Required fields are marked *