جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
مقدمة
بعد تجربة بناء مُركِّبات مختلفة ، شرعت في إنشاء جهاز أخذ عينات صوتي ، والذي كان من السهل استنساخه وغير مكلف.
للحصول على جودة صوت جيدة (44.1 كيلو هرتز) وسعة تخزين كافية ، تم استخدام وحدة DFPlayer ، والتي تستخدم بطاقات ذاكرة micro SD لتخزين ما يصل إلى 32 جيجا بايت من المعلومات. هذه الوحدة قادرة فقط على تشغيل صوت واحد في كل مرة ، لذلك سنستخدم صوتين.
متطلب آخر للمشروع هو أن الدائرة يمكن أن تكون قابلة للتكيف مع واجهات مختلفة ، ولهذا السبب اخترنا أجهزة استشعار سعوية بدلاً من الأزرار.
يمكن تنشيط المستشعرات السعوية بمجرد ملامسة اليد لأي سطح معدني متصل بالمستشعر.
لقراءة المستشعرات سنستخدم Arduino nano ، نظرًا لقدراته وصغر حجمه.
مميزات
6 أصوات مختلفة
يتم تنشيطه بواسطة أجهزة استشعار سعوية.
تعدد الأصوات من 2 أصوات في وقت واحد.
الخطوة 1: المواد والأدوات
المواد
اردوينو نانو https://www.taydaelectronics.com/nano-3-0-control …
2x DFPlayer
2x micro SD
3.5 مقبس الصوت
2.1 مقبس تيار مستمر
10x10 لوح نحاسي
كلوريد الحديديك
سلك اللحام https://www.ebay.com/itm/Fine-Solder-Wire-0-6mm-6 …
نقل ثنائي الفينيل متعدد الكلور papper https://www.ebay.com/itm/10PCS-White-A4-Heat-Tone …
أدوات
لحام الحديد
قطع الرصاص المكون
الحاسوب
حديد
برمجة
Arduino Ide
كيكاد
ADTouch Librarie
مكتبة DFPlayer السريعة
الخطوة 2: كيف يعمل
يعمل جهاز أخذ العينات على النحو التالي ، باستخدام مكتبة ADTouch ، قمنا بتحويل 6 من المنافذ التناظرية في Arduino Nano إلى مستشعرات سعوية.
كجهاز استشعار ، يمكننا استخدام أي قطعة معدنية متصلة بأحد هذه المسامير عن طريق كابل.
يمكنك قراءة المزيد عن المكتبة وأجهزة الاستشعار السعوية على الرابط التالي
عندما يتم لمس أحد هذه المستشعرات ، يكتشف اردوينو تغيرًا في السعة وبعد ذلك يرسل الأمر لتنفيذ الصوت المقابل لذلك المستشعر إلى وحدات DFPlayer.
يمكن لكل وحدة DFPlayer تشغيل صوت واحد فقط في كل مرة ، لذلك للحصول على إمكانية تنفيذ صوتين في المرة الواحدة ، تستخدم الأداة وحدتين.
الخطوة 3: التخطيطي
في الرسم التخطيطي ، يمكننا أن نرى كيف يتم توصيل وحدتي arduino ووحدتي DFPlayer
R1 و R2 (1 k) لتوصيل الوحدات بطبقات DFP.
R 3 4 5 و 6 (10k) مخصصان لخلط مخرجات القناتين l و r للوحدات النمطية.
R 7 (330) هي مقاومة الحماية لمصباح LED الذي سيتم استخدامه كمؤشر على تنشيط اردوينو.
الخطوة 4: بناء ثنائي الفينيل متعدد الكلور
بعد ذلك ، سنقوم بتصنيع اللوحة باستخدام طريقة نقل الحرارة الموضحة في هذه التعليمات:
تم وضع 6 وسادات على السبورة مما يسمح باستخدام جهاز أخذ العينات دون الحاجة إلى أجهزة استشعار خارجية.
الخطوة 5: لحام المكونات
بعد ذلك سنلحم المكونات.
أولا المقاومات.
يوصى باستخدام الرؤوس لتركيب Arduino والوحدات النمطية دون لحامها مباشرة.
لتلحيم الرؤوس ، ابدأ بدبوس ، ثم تحقق من أنها في مكان جيد ، ثم قم بلحام بقية المسامير.
أخيرًا سنلحم الموصلات
الخطوة 6: قم بتثبيت المكتبات
سنستخدم في هذا المشروع ثلاث مكتبات نحتاج إلى تثبيتها:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
في الرابط التالي ، يمكنك أن ترى بالتفصيل كيفية تثبيت المكتبات في Arduino
www.arduino.cc/en/guide/libraries
الخطوة 7: الكود
الآن يمكننا تحميل الكود على لوحة Arduino.
لهذا يجب علينا تحديد لوحة Arduino Nano.
# تضمين # تضمين # تضمين
int ref0، ref1، ref2، ref3، ref4، ref5؛ كثافة العمليات
SoftwareSerial mySerial (8 ، 9) ؛ // RX، TX DFPlayerMini_Fast myMP3؛
SoftwareSerial mySerial2 (10 ، 11) ؛ // RX ، TX DFPlayerMini_Fast myMP32 ؛
إعداد باطل () {int th = 550 ؛ // Serial.begin (9600) ؛ mySerial.begin (9600) ، mySerial2.begin (9600) ، myMP3.begin (mySerial) ؛ myMP32.begin (mySerial2) ، myMP3.volume (18) ، ref0 = ADCTouch.read (A0، 500) ؛ المرجع 1 = ADCTouch.read (A1، 500) ؛ المرجع 2 = ADCTouch.read (A2، 500) ؛ ref3 = ADCTouch.read (A3، 500) ؛ المرجع 4 = ADCTouch.read (A4، 500) ؛ ref5 = ADCTouch.read (A5، 500) ؛
}
حلقة فارغة() {
int total1 = ADCTouch.read (A0، 20) ؛ int total2 = ADCTouch.read (A1، 20) ؛ int total3 = ADCTouch.read (A2، 20) ؛ int total4 = ADCTouch.read (A3، 20) ؛ int total5 = ADCTouch.read (A4 ، 20) ؛ int total6 = ADCTouch.read (A5، 20) ؛
المجموع 1 - = المرجع 0 ؛ المجموع 2 - = المرجع 1 ؛ المجموع 3 - = المرجع 2 ؛ المجموع 4 - = المرجع 3 ؛ المجموع 5 - = المرجع 4 ؛ المجموع 6 - = المرجع 5 ؛ // // Serial.print (total1> th) ؛ // Serial.print (total2> th) ؛ // Serial.print (total3> th) ؛ // Serial.print (total4> th) ؛ // Serial.print (total5> th) ؛ // Serial.println (total6> th) ؛
// Serial.print (total1) ؛ // Serial.print ("\ t") ؛ // Serial.print (total2) ؛ // Serial.print ("\ t") ؛ // Serial.print (total3) ؛ // Serial.print ("\ t") ؛ // Serial.print (total4) ؛ // Serial.print ("\ t") ؛ // Serial.print (total5) ؛ // Serial.print ("\ t") ؛ // Serial.println (total6) ؛ إذا (total1> 100 && total1> th) {myMP32.play (1)؛ // Serial.println ("o1") ؛ }
إذا (total2> 100 && total2> th) {myMP32.play (2)؛ //Serial.println("o2 ") ؛ }
إذا (total3> 100 && total3> th) {
myMP32.play (3) ، //Serial.println("o3 ") ؛
}
إذا (total4> 100 && total4> th) {
myMP3.play (1) ، //Serial.println("o4 ") ؛
}
إذا (total5> 100 && total5> th) {
myMP3.play (2) ، //Serial.println("o5 ") ؛
}
إذا (total6> 100 && total6> th) {
myMP3.play (3) ، //Serial.println("o6 ") ؛
} // لا تفعل شيئًا تأخيرًا (1) ؛ }
الخطوة 8: قم بتحميل الأصوات في بطاقات الذاكرة
الآن يمكنك تحميل الأصوات الخاصة بك في بطاقات micro SD
يجب أن يكون التنسيق 44.1 كيلو هرتز و 16 بت wav
يجب تحميل 3 أصوات على كل بطاقة SD.
الخطوة 9: الواجهة
في هذا الوقت ، يمكنك بالفعل تشغيل جهاز أخذ العينات الخاص بك باستخدام وسادات في PCB ، ولكن لا يزال لديك إمكانية تخصيصه ، واختيار حالة وأشياء مختلفة أو أسطح معدنية لاستخدامها كمستشعرات.
في هذه الحالة ، استخدمت 3 رؤوس معصم وضعت عليها مسامير معدنية كصوت تلامس معدني.
لهذا الغرض ، قم بتوصيل المسامير بمسامير اللوح بواسطة الكابلات.
يمكنك استخدام أي جسم معدني أو شريط موصل أو تجربة الحبر الموصل.