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

أضواء الجنية الموسيقية: 6 خطوات (بالصور)
أضواء الجنية الموسيقية: 6 خطوات (بالصور)

فيديو: أضواء الجنية الموسيقية: 6 خطوات (بالصور)

فيديو: أضواء الجنية الموسيقية: 6 خطوات (بالصور)
فيديو: خدع بصرية رائعة حتما ستجعلكم تهلوسون..!! 2024, شهر نوفمبر
Anonim
Image
Image

بواسطة IanCumming متابعة المزيد من قبل المؤلف:

اردوينو Intervalometer
اردوينو Intervalometer
ليس مجرد ساعة توقيت
ليس مجرد ساعة توقيت
ليس مجرد ساعة توقيت
ليس مجرد ساعة توقيت
ترمومتر واحد بكسل
ترمومتر واحد بكسل
ترمومتر واحد بكسل
ترمومتر واحد بكسل

حول: أحب صنع أشياء من الصواريخ إلى الإلكترونيات. المزيد حول IanCumming »

مرحبًا بالجميع

إنه موسم الأعياد تقريبًا وبدأت عدد من المتاجر في وضع زينة الأعياد الخاصة بهم ، واعتقدت أن الوقت مناسب لإنشاء بعض الأضواء الموسيقية الخيالية!

الخطوة 1: الأجزاء المستعملة

الأجزاء المستعملة
الأجزاء المستعملة

سأستخدم ما يلي:

  • 12 ليد
  • 12 مقاومات الحد الحالية
  • 1 ULN 2803 صفيف دارلينجتون الترانزستور
  • بعض الأسلاك الطائر
  • مكبر صوت بيزو
  • A اللوح و
  • اردوينو
  • لصنع سلسلة الأضواء الخيالية ، استخدمت 5 أسلاك من كابل Ethernet

الخطوة الثانية: الكود

// GLOBAL VARS int barTime = 1200 ؛ // 8/8 = 1000 مللي ثانية بايت nrLEDS = 4 ؛ // 4 مصابيح LED أساسية ، يمكنك إضافة العديد من مصابيح البايت المتوازية = {3 ، 4 ، 5 ، 6} ؛ مكبر الصوت بايت = 11 ؛ نمط البايت الطول = 64 ؛ // نمط طول البايت songLength = 51 ؛ أغنية const بايت = {// Jingle Bells Data 29، 2، 29، 2، 29، 4، 29، 2، 29، 2، 29، 4، 29، 2، 32، 2، 25، 3، 27، 1 ، 29 ، 8 ، 30 ، 2 ، 30 ، 2 ، 30 ، 3 ، 30 ، 1 ، 30 ، 2 ، 29 ، 2 ، 29 ، 2 ، 29 ، 1 ، 29 ، 1 ، 29 ، 2 ، 27 ، 2 ، 27 ، 2 ، 29 ، 2 ، 27 ، 4 ، 32 ، 4 ، 29 ، 2 ، 29 ، 2 ، 29 ، 4 ، 29 ، 2 ، 29 ، 2 ، 29 ، 4 ، 29 ، 2 ، 32 ، 2 ، 25 ، 3 ، 27 ، 1 ، 29 ، 8 ، 30 ، 2 ، 30 ، 2 ، 30 ، 2 ، 30 ، 2 ، 30 ، 2 ، 29 ، 2 ، 29 ، 2 ، 29 ، 1 ، 29 ، 1 ، 32 ، 2 ، 32 ، 2 ، 30 ، 2 ، 27 ، 2 ، 25 ، 8} ؛ // الهيكل هو رقم الملاحظة ثم // ملاحظة الطول في نمط البايت الثامن = {// بيانات النمط 0b0001 ، 0b0010 ، 0b0100 ، 0b1000 ، // بت تتطابق مع المصابيح في المصفوفة 0b0001 ، 0b0010 ، 0b0100 ، 0b1000 ، 0b0001 ، 0b0010 ، 0b0100 ، 0b1000 ، 0b0001 ، 0b0010 ، 0b0100 ، 0b1000 ، 0b1000 ، 0b1100 ، 0b0100 ، 0b0110 ، 0b0010 ، 0b0011 ، 0b0001 ، 0b1001 ، 0b1000 ، 0b1100 ، 0b0100 ، 0b101000 ، 0b1000 ، 0b0100 ، 0b10110 ، 0b110 ، 0b0010 ، 0b0011 ، 0b0001 ، 0b1001 ، 0b1000 ، 0b1100 ، 0b0100 ، 0b10110 ، 0b1000 0b1010 ، 0b0101 ، 0b1010 ، 0b0101 ، 0b1010 ، 0b0101 ، 0b1010 ، 0b0101 ، 0b1010 ، 0b0101 ، 0b1010 ، 0b0101 ، 0b1010 ، 0b0101 ، 0b1100 ، 0b0011 ، 0b1100 ، 01100 ، 0b11 ، 0b0011 ، 0b1100 ، 01100 ، 0b11 ، 0b0011 ، 0b1100 ، 01100 ، 011 0b0011 ، 0b1100 ، 0b0011 ، 0b1100 ، 0b0011 ،} ؛

أولاً ، أعلن عن المتغيرات الخاصة بي ، والمتغيرات المثيرة للاهتمام هي الأغنية والنمط.

  • الأغنية تخزن اللحن ؛ في هذه الحالة هي أجراس جلجل.
  • يخزن النمط داخل وخارج المواضع في بتات القيم في المصفوفة.

وظائف مخصصة

// FUNCTIONS int noteToHz (int note) {// Convert a Note Nr. لتعويم التردد التكرار = 440 * (الأسرى (1.059463094359 ، الملاحظة 21)) ؛ // -21 يمنحك الملاحظة 1 في C3 (أعتقد) return int (freq) ؛ // النتائج دقيقة حتى 1 هرتز} مصباح فارغ LEDs (بايت PORT_X) {// حالة LED للتحكم لـ (int q = 0 ؛ q

الوظيفتان اللتان لديّهما سأفعل ما يلي:

  • احسب تردد وظيفة النغمة في الحلقة
  • قم بتشغيل أو إيقاف تشغيل مصابيح LED اعتمادًا على القيمة التي تم تمريرها إلى الوظيفة

وظيفة الإعداد

إعداد باطل () {// setup OUTPUT pinMode (مكبر الصوت ، الإخراج) ؛ لـ (int t = 0 ؛ t <nrLEDS ؛ t ++) {pinMode (المصابيح [t] ، الإخراج) ؛ }}

في وظيفة الإعداد ، قمت بتعيين المسامير المطلوبة على الإخراج.

وظيفة الحلقة

void loop () {// Music Loop for (int t = 0؛ t <songLength؛ t ++) {// Notes، طول وتشغيل اللحن int note = noteToHz (song [t * 2]) ؛ طول int = ((أغنية [(t * 2) +1] * barTime) / 8) ؛ نغمة (المتحدث ، ملاحظة ، الطول - 50) ؛ // الأضواء الساطعة! المصابيح المضيئة (النمط [t٪ patternLength]) ؛ تأخير (الطول) ؛ } // Silence Loop int randomSilence = عشوائي (1000 ، 5000) ؛ من أجل (int t = 0 ؛ t

لدي حلقتان في وظيفة الحلقة الرئيسية. حلقة أغنية وحلقة صمت

ستقرأ حلقة الأغنية البيانات من مجموعة الأغاني ، وتلعب النغمة باستخدام وظيفة النغمة

سوف حلقة الأغنية ،

  • اقرأ البيانات من مجموعة الأغاني ،
  • ثم قم بتشغيل النغمة باستخدام وظيفة النغمة
  • تضيء مصابيح LED ، مجموعة أنماط القراءة.

في حلقة الصمت

فقط مصابيح LED مضاءة

قم بتوصيل Arduino وتحميل الكود. (ثم افصله)

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

بدء الدائرة
بدء الدائرة
بدء الدائرة
بدء الدائرة
بدء الدائرة
بدء الدائرة
بدء الدائرة
بدء الدائرة

سأبدأ بسلسلة الأضواء

  • لقد استخدمت سلكًا من كبل Ethernet ولحمت 3 مصابيح LED بالتوازي أربع مرات ، مع التأكد من تباعد مصابيح LED بالتساوي على حوالي 2 متر
  • لقد قمت بلحام الأنود لكل منها أدى إلى سلك واحد.
  • ثم كاثود كل LED إلى 4 أسلاك منفصلة. مع المقاوم بالطبع
  • كررت هذه العملية 3 مرات للحصول على سلسلة من 12 مصباح LED ووضعت دبابيس رأس في نهاية الأسلاك الخمسة

قم بتوصيل القضبان الموجبة والأرضية باللوحة

الخطوة 4: ULN2803

ULN2803
ULN2803
ULN2803
ULN2803
ULN2803
ULN2803

ضع رقاقة ULN2308 على لوح التجارب

ULN2308 عبارة عن شريحة صفيف ترانزستور ؛ من ورقة البيانات التي يمكنني رؤيتها

  • هذا الدبوس 1 هو إدخال يقوم بتشغيل السن 18 "تشغيل"
  • يتم تشغيل Pin 2 على 17. إلخ.
  • دبوس 9 مطحون
  • قم بتوصيل السن 9 من الشريحة بالسكة الأرضية
  • قم بتوصيل السكة الموجبة بشريط طرفي ، شريط واحد فوق السن 18 (سترى السبب في غضون دقيقة)
  • قم بتوصيل الطرف 1 من الشريحة بالدبوس 3 من Arduino
  • 2 يذهب إلى 4
  • 3 من الشريحة يذهب إلى 5 و
  • 4 يذهب إلى دبوس 6 من Arduino
  • ضع سلسلة LED على اللوح. حيث يتم توصيل سلك الأنود المشترك بالشريط المتصل بجهد 5 فولت. يجب أن تذهب بقية دبابيس الإضاءة الخيالية إلى الرقم 18 و 17 و 16 و 15 من الشريحة.

الخطوة 5: إضافة الصوت

مضيفا الصوت
مضيفا الصوت
  • قم بتوصيل مكبر الصوت بيزو بين شريطين طرفيين
  • قم بتوصيل القطب السالب لعنصر بيزو بالأرض و
  • الطرف الآخر من مكبر الصوت هو رقم 11

الخطوة السادسة: الخاتمة

استنتاج
استنتاج
استنتاج
استنتاج

لدي سلسلة من الأضواء التي ستلعب بشكل عشوائي أجراس جلجل لتذكيرني بأن هذا هو موسم الأعياد.

موصى به: