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

بيانو آلي: 5 خطوات
بيانو آلي: 5 خطوات

فيديو: بيانو آلي: 5 خطوات

فيديو: بيانو آلي: 5 خطوات
فيديو: تعليم البيانو 3# اهم 5 تمارين يومية لإحتراف البيانو 2024, شهر نوفمبر
Anonim
بيانو آلي
بيانو آلي

أردت أن أصنع بيانوًا يمكنه العزف تلقائيًا من خلال الاستماع إلى موسيقاي على الفور ، لذلك جربته باستخدام اردوينو أونو الذي كنت أرقده حوله ، يمكن أن يكون أفضل بكثير مع اردوينو صفر باستخدام مكتبة بسيطة لمقياس التردد. في هذه اللحظة وواصلت مع uno.

الخطوة 1: النظرية

يتم العزف على البيانو من خلال مطابقة تردد المغني مع البيانو ، لذلك نحن بحاجة إلى أخذ عينات من تردد المغني وتشغيله في الوقت الفعلي. التعامل مع الفولتية السالبة لذلك استخدم الجهد الذي يوفره مقسم الجهد كمرجع وقم بإعداده عند 2.5 فولت. يتم توفير الإدخال عند A0 pin من arduino ، ثم قمت ببرمجة اردوينو للتحقق عندما يكون الجهد عند المستوى المرجعي الذي قمت بقياسه وتسميته مبدئيًا ثم قمت بقياس الفاصل الزمني بين الجهد المرجعي المتتالي ثم حساب التردد. متغير يستخدم لتخزين السعة اللحظية للإشارة الصوتية لإزالة الضوضاء التي لها سعة أقل من 15 قيمة adc أو 0.0733 فولت. يتم وضع حد على التردد بحيث لا تقاطع القيم القصوى الأغنية.

الخطوة 2: المواد المطلوبة

المواد المطلوبة
المواد المطلوبة
المواد المطلوبة
المواد المطلوبة
المواد المطلوبة
المواد المطلوبة

1) Arduino Uno أو ما يعادلها

2) الجرس الكهربائي السلبي بيزو أو مكبر الصوت مع دائرة مكبر للصوت

3) أداة تقليم عالية المقاومة (تأكد من أن التيار المتدفق خلالها عند 5 فولت يجب أن يكون صغيراً في بضعة مللي أمبير)

4) أسلاك العبور

5) اللوح

6) مقبس صوت 3.5 مم أو ميكروفون به دائرة مضخم (لقد استخدمت هاتفي المحمول كمكبر للصوت لأنني وجدت نفسي كسولًا جدًا لإنشاء واحد)

7) هاتف Android (لتشغيل الصوت)

8) كابل اردوينو (لبرمجته)

الخطوة 3: التوصيلات

روابط
روابط
روابط
روابط

1) قم بتركيب Trimpot على لوح الخبز وقم بتزويده بالأرض و + 5 فولت من اردوينو باستخدام أسلاك توصيل.

2) قم بتوصيل الأرض لمقبس 3.5 مم بالدبوس الثالث من trimpot للعمل كتكوين مقسم للجهد والقناة إلى دبوس A0 من اردوينو.

3) قم بتوصيل أرض الجرس بأرض اردوينو والإشارة إلى دبوس 13 من اردوينو.

الخطوة 4: كود اردوينو

كود اردوينو
كود اردوينو

ها هو الكود الكامل

لقد علقت على بعض عبارات الطباعة التسلسلية المستخدمة للاختبار

uint64_t Curtime = 0 ، ltime = 0 ؛ uint32_t freq = 0 ؛ uint16_t الأولي ، val ، del = 0 ؛ منطقي ، تيار ؛ إعداد باطل () {// ضع كود الإعداد هنا ، للتشغيل مرة واحدة: delay (1000) ؛ /*Serial.begin (115200) ، تأخير (1000) ؛ Serial.println ("بدأ النظام") ؛ * / initial = analogRead (A0) ؛ إذا (analogRead (A0)

حلقة باطلة () {// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر: val = analogRead (A0)؛ إذا (val> = أولي) تيار = 1 ؛ آخر تيار = 0 ؛ del = (int) val- (int) الأولي ؛ إذا (آخر == 0 && Current == 1) {Curtime = micros () ؛ التكرار = 1000000 / (2 * (Curtime-ltime)) ؛ /*Serial.print (متغير ، ديسمبر) ؛ Serial.print ("أسفل") ؛ Serial.println (del) ؛ * / if (freq> 50 && freq15) نغمة (13 ، freq ، 500) ؛ تأخير (100) ؛ ltime = ميكرو () ؛ آخر = 1 ؛ }

الخطوة 5: قم بتشغيله !

قم بتوصيل هاتفك لتشغيل بعض الموسيقى وإذا كنت تريد الغناء فيمكنك استخدام جميع الأدوات التي يمكن تنزيلها من متجر play.

play.google.com/store/apps/details؟id=com.pradhyu.alltoolseveryutility&hl=ar

بعد التنزيل ، افتح خيار الميكروفون وغني!

هنا كيف يعمل!

موصى به: