جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
بواسطة IanCumming متابعة المزيد من قبل المؤلف:
حول: أحب صنع أشياء من الصواريخ إلى الإلكترونيات. المزيد حول 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
ضع رقاقة 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
الخطوة السادسة: الخاتمة
لدي سلسلة من الأضواء التي ستلعب بشكل عشوائي أجراس جلجل لتذكيرني بأن هذا هو موسم الأعياد.