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

بيانو اردوينو مع أزرار ضغط: 3 خطوات
بيانو اردوينو مع أزرار ضغط: 3 خطوات

فيديو: بيانو اردوينو مع أزرار ضغط: 3 خطوات

فيديو: بيانو اردوينو مع أزرار ضغط: 3 خطوات
فيديو: مشروع اردوينو: تحكم بليد من خلال 3 أزرار 2024, يوليو
Anonim
اردوينو بيانو مع مفاتيح الضغط
اردوينو بيانو مع مفاتيح الضغط
اردوينو بيانو مع مفاتيح الضغط
اردوينو بيانو مع مفاتيح الضغط

صممه: Haotian Ye

ملخص

هذه لوحة بيانو بها ثمانية مفاتيح ضغط تسمح لك بتشغيل أوكتاف واحد (Do Re Mi Fa So La Si Do) ومع هذا الأوكتاف يمكنك محاولة تشغيل بعض الأغاني التي تعجبك. بالنسبة لهذا المشروع ، هناك بعض المعرفة المهمة التي تحتاج إلى معرفتها قبل البدء.

أولاً ، نحتاج إلى معرفة ترددات النغمات الأساسية للبيانو.

الترددات مذكورة أدناه:

افعل - 261 هرتز

إعادة - 294 هرتز

Mi - 329 هرتز

Fa - 349 هرتز

لذلك - 392 هرتز

لا - 440 هرتز

سي - 493 هرتز

هل - 523 هرتز

ثانيًا ، سأوضح لك كيفية بناء الدائرة باستخدام الأجزاء التي يمكن شراؤها من متجر Lee’s Electronic Store. أخيرًا , سأقدم وأشرح الكود الذي يجب تحميله على لوحة Arduino.

الأجزاء التي ستحتاجها:

Arduino Uno R3 (معرف المنتج: 10997)

كبل USB A إلى B M / M (معرف المنتج: 29861)

10 كيلو المقاوم * 8 (معرف المنتج: 91516)

ألوان مختلفة لمفتاح Tack * 8 (معرف المنتج: 3124 ، 31242 ، 31243 ، 31245 ، 31246)

مكبر صوت صغير (معرف المنتج: 41680)

اللوح (معرف المنتج: 106861)

أسلاك العبور (معرف المنتج: 21801)

الخطوة 1: الخطوة 1: بناء الدائرة

الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة
الخطوة 1: بناء الدائرة

أولاً ، أدخل جميع مفاتيح الأزرار الانضغاطية والسماعة الصغيرة على لوح التجارب واحدًا تلو الآخر وقم بمطابقتها في صف واحد. ثم قم بتوصيل دبابيس كل مفتاح ضغط بالأرض. ثانيًا ، قم بتوصيل مقاومات 10 كيلو بين الطاقة الإيجابية والمسامير الأخرى لكل مفاتيح زر ضغط. وقم بتوصيل هذا العمود بالدبابيس 2-9 على لوحة Arduino. أيضًا ، قم بتوصيل الأرض بالدبوس الأرضي والطاقة الإيجابية إلى دبوس 3.3 فولت في Arduino. أخيرًا ، قم بتوصيل السماعة الصغيرة بالدبوس 10 على Arduino.

الخطوة 2: الخطوة 2: التعليمات البرمجية والشرح

الكود أدناه هو ما كتبته

const int أسود = 2 ؛

const int الأبيض = 3 ؛

كونست إنت أحمر = 4 ؛

كونست إنت جرين = 5 ؛

كونست int أزرق = 6 ؛

const int black2 = 7 ؛

const int green2 = 8 ؛

const int red2 = 9 ؛

const int speaker = 10 ؛ // اربط جميع مفاتيح أزرار الضغط ومكبر الصوت بدبابيس إشارة اردوينو

تردد int = {262، 294، 330، 349، 392، 440، 493، 523}؛ // تحتوي المصفوفة على جميع ترددات أوكتاف واحد

الإعداد باطل() {

// ضع رمز الإعداد هنا ، للتشغيل مرة واحدة:

pinMode (أسود ، الإدخال) ؛

pinMode (أبيض ، المدخلات) ؛

pinMode (أحمر ، INPUT) ؛

pinMode (أخضر ، INPUT) ؛

pinMode (أزرق ، INPUT) ؛

pinMode (black2 ، الإدخال) ؛

pinMode (green2 ، الإدخال) ؛

pinMode (red2 ، الإدخال) ؛

pinMode (مكبر الصوت ، الإخراج) ؛

نغمة (المتحدث ، 2000) ؛

Serial.begin (9600) ؛

}

حلقة فارغة() {

// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر:

if (digitalRead (black) == LOW) // عند الضغط على مفتاح زر الضغط "DO"

{نغمة (مكبر الصوت ، التردد [0] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (أبيض) == LOW) // عند الضغط على مفتاح زر الدفع "RE"

{نغمة (مكبر الصوت ، التردد [1] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (أحمر) == منخفضة) // عند الضغط على مفتاح زر الضغط "MI"

{نغمة (مكبر الصوت ، التردد [2] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (أخضر) == LOW) // عند الضغط على مفتاح زر الضغط "FA"

{نغمة (مكبر الصوت ، التردد [3] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (أزرق) == LOW) // عند الضغط على مفتاح زر الضغط "SO"

{نغمة (مكبر الصوت ، التردد [4] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (black2) == LOW) // عند الضغط على مفتاح زر الضغط "LA"

{نغمة (مكبر الصوت ، التردد [5] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (green2) == LOW) // عندما تضغط على مفتاح زر الضغط "SI"

{نغمة (مكبر الصوت ، التردد [6] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

وإلا إذا (digitalRead (red2) == LOW) // عند الضغط على مفتاح زر الدفع "DO"

{نغمة (مكبر الصوت ، التردد [7] ، 50) ؛

تأخير (50) ؛

noTone (مكبر الصوت) ؛}

else // عندما لا تضغط على شيء

noTone (مكبر الصوت) ؛

}

أولاً ، يتعين علينا أن نعلن أن جميع مفاتيح ومكبرات الصوت التي تعمل بالضغط هي الدبوس من 2 إلى 10 في Arduino. يمثل كل مفتاح لملاحظة واحدة. ثم استخدم مصفوفة واحدة لوضع جميع الترددات بالداخل. بعد ذلك ، إذا كان بيان If and else هو ما أستخدمه لإعلام Arduino بمفتاح زر الضغط الذي أضغط عليه.

أخيرًا ، قم بتوصيل لوحة Arduino بجهاز الكمبيوتر أو الكمبيوتر المحمول باستخدام كابل USB A إلى B. قبل تحميل الكود الخاص بك ، ما زلت بحاجة إلى تنزيل برنامج Arduino والقيام ببعض الإعدادات الافتراضية. حدد أدوات -> لوحة -> Arduino / Genuino Uno ؛ ثم نحتاج إلى تحديد منفذ الاتصال المتصل بلوحة Arduino. حدد Tools -> Port ، ثم أي اسم منفذ يسمى "(Arduino / Genuino Uno)." بعد ذلك ، يمكنك تحميل الكود على لوحة Arduino.

موصى به: