تتحول نقرة على علبة معدنية وطرقة على لوح خشب إلى صوتين مختلفين، ويستطيع الزائر تكوين إيقاع قصير ثم تشغيله من جديد. هذا المشروع مناسب ضمن مشاريع تخرج Arduino في التفاعل والصوت، لا يحتاج لوحة مفاتيح موسيقية جاهزة ولا نموذجاً مولداً. جوهره أن حساساً piezo يلتقط تغيراً ميكانيكياً، وأن البرنامج يقرر متى تبدأ الضربة ومتى ينتهي أثرها كي لا يحسب الارتداد ضربات كثيرة.
رتب محطات لعب واضحة
ابدأ بأربع وسادات صغيرة من مواد مختلفة مثبتة على قاعدة. يختار المستخدم لكل وسادة صوتاً من مجموعة نغمات أو إيقاعات قصيرة، ثم يطرقها بيده. تعرض الشاشة الصغيرة اسم المحطة وآخر ضربة، مع زرين لتسجيل تسلسل وتشغيله وإيقافه. اترك مساحة تفصل الوسادات حتى لا تنتقل الضربة الميكانيكية إلى الحساس المجاور.
لا تبنِ ادعاء «التعرف على المادة» من شكل الموجة في النسخة الأولى. تختلف قوة الضرب ومكانه وطريقة تثبيت الحساس، وقد يتشابه لوحان من مادتين مختلفتين. يمكن للدراسة أن تسأل هل يستطيع المستخدم تمييز صوتين مصممين للواجهتين، وهذا يتطلب اختباراً منفصلاً وموافقة المشاركين؛ لا تستنتج تفضيل الجمهور من أصدقاء الفريق وحدهم.
حوّل الاهتزاز إلى حدث لا إلى ضربة ثابتة
يوضح مثال Arduino للمدخل التناظري طريقة أخذ قيمة من مدخل لوحة، لكن حساس piezo قد يعطي نبضة عابرة وموجات مرتدة. استخدم مقاومة حماية مناسبة لدارة الحساس وفق مخطط موثق، ولا توصل قرصاً piezo مباشرة قبل مراجعة حدود دخل المتحكم واحتمال ظهور جهد موجب أو سالب لحظي. اختبر أولاً على مقياس إشارة أو دائرة آمنة بإشراف.
في البرنامج ضع عتبة بدء، ونافذة تجاهل قصيرة، وعتبة تحرير أدنى، مع حفظ شكل العينة بدلاً من رقم الذروة فقط. النافذة تمنع ارتداد الضربة من احتسابها عدة مرات، لكنها قد تبتلع طرقة سريعة تالية. لذلك اجعلها قابلة للضبط، واحتفظ بزمن كل انتقال لتعرف أثر الإعداد على الأداء.
افصل كشف الطرق عن توليد الصوت
ليكن لكل وسادة معرف مستقل، وحدثاً يحتوي زمن الضربة وقيمتها التقريبية والبرنامج الصوتي المختار. تمر الأحداث إلى مولد بسيط يحدد النغمة أو العينة والمدة، ثم إلى خرج صوتي مناسب. يشرح مثال Arduino للنغمات توليد تردد على خرج رقمي؛ لكنه لا ينتج كل أنواع الصوت ولا يحل وحده مشكلة تعدد الأصوات. يمكن للنسخة الأولى استخدام buzzer أو وحدة صوت خارجية معروفة الحدود، مع مكبر مناسب لمستوى الصوت.
خزّن الأداء كسلسلة أحداث نسبية، مثل (وسادة، 0 مللي ثانية)، ثم (وسادة، 320 مللي ثانية). هذه صيغة توضيحية وليست توقيتاً مختبراً. عند التشغيل، أعد الأحداث وفق الجدول، ولا تجعل زمن النغمة يمنع استقبال الضربات الجديدة. افصل ساعة التسجيل عن وظيفة الصوت حتى لا يؤدي انتظار طويل إلى إسقاط الحدث التالي.
من طرقة إلى ملف يمكن إعادة تشغيله
المسار الوظيفي المقترح: أخذ عينة قصيرة، اكتشاف تجاوز العتبة، إنشاء حدث واحد، إسناد الصوت، تشغيله، ثم إضافة الحدث إلى الذاكرة إذا كان التسجيل فعالاً. اعرض مؤشراً لكل مرحلة لتعرف هل المشكلة في الالتقاط أم الخرج. بعد انتهاء التسجيل، يستطيع المستخدم حفظ الإيقاع باسم محلي واستعادته من قائمة، مع زر مسح صريح.
لوحة المتحكم لا تحتاج Wi-Fi كي يثبت الفريق التفاعل الأساسي. إبقاء البيانات محلية يقلل التعقيد ومخاطر نشر تسجيلات صوتية؛ المشروع لا يحتاج ميكروفوناً أصلاً. إذا أضفت التصدير لاحقاً، صدر توقيت الضربات لا صوت الغرفة أو أسماء المستخدمين، ووثق صيغة الملف.
اختبر النقر السريع والطرق الضعيف
جهز قائمة تجارب: طرقة واحدة، ضربتان متقاربتان، ضربتان بعيدتان، لمس خفيف، ضربة قوية، هز القاعدة، طرقة على حافة الوسادة، وضغط مستمر. استخدم مصدر طرق ميكانيكياً بسيطاً أو دليلاً مرئياً لتقليل تغير القوة بين المحاولات. قس نسبة الأحداث المفردة التي تنتج حدثاً واحداً، والضربات المفقودة، وزمن الانتقال إلى الصوت على الجهاز نفسه.
قارن العتبة وحدها بخط أساس فيه عتبة مع نافذة حظر، ثم سجل الحالات التي تحسنت والتي ساءت. لا تختَر الإعداد وفق عينة واحدة. اختبر أيضاً بطارية ضعيفة، وفصل حساس، وخرجاً صوتياً غير موصول؛ يجب أن تظهر رسالة مفهومة ولا يتوقف النظام كله. اختبر مستوى الصوت في مكان هادئ كي لا يصير العرض مزعجاً لمن حوله.
اكتب النتيجة بوصفها واجهة وتجربة
إذا كانت القطع المتاحة لديك مختلفة، فابدأ بتجربتين على حساس واحد قبل تصميم الوسادات الأربع. تساعد صفحة مشاريع التخرج في ترتيب السؤال والمخرجات ضمن وقت الفصل، بينما تمنحك نتائج معايرة الحساس أساساً عملياً لاختيار عدد المحطات.
المصادر
مراجعة المصادر: .
اختبار المثال وحدوده
تصميم تفاعلي مقترح لم يُبنَ أو يختبر مع مستخدمين. النغمات وتسلسل الأحداث أمثلة تخطيطية، وليست قياسات زمن استجابة أو نتائج تجربة موسيقية.
مقالات ذات صلة
الخدمة المرتبطة: برمجة Arduino والأجهزة المتصلة والروبوتات.
أرسل متطلبات مشروعك