![جرس الباب اردوينو: 4 خطوات جرس الباب اردوينو: 4 خطوات](https://i.howwhatproduce.com/images/001/image-756-j.webp)
جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53
![اردوينو الجرس اردوينو الجرس](https://i.howwhatproduce.com/images/001/image-756-1-j.webp)
اليوم ، سأوضح لك كيفية صنع جرس الباب باستخدام Arduino. يقوم جرس الباب هذا بتشغيل نغمة عشوائية من مكتبة الأغاني. يمكنك تخصيص جرس الباب الخاص بك وإضافة المزيد من الأغاني. قم بتثبيته خارج غرفة نومك أو حجرة الدراسة أو المكتب أو حتى باب منزلك!
اللوازم:
- Arduino Uno (معظم الأنواع الأخرى تفي بالغرض)
- كمبيوتر مع Arduino IDE للبرمجة
- كابل USB-A إلى USB-B لبرمجة Arduino
- اللوح
- 4x أسلاك العبور
- زر الضغط أو مفتاح آخر
- 10 كيلو أوم المقاوم
- الجرس السلبي (أي مكبر الصوت الكهرضغطية)
-
للتثبيت الدائم:
- 9V DC Power Supply أو بطارية 9V لتشغيل Arduino
- 2x أسلاك طويلة لزر الأسلاك خارج الباب
الخطوة 1: إعداد الجهاز
![إعداد الأجهزة إعداد الأجهزة](https://i.howwhatproduce.com/images/001/image-756-2-j.webp)
![إعداد الأجهزة إعداد الأجهزة](https://i.howwhatproduce.com/images/001/image-756-3-j.webp)
![إعداد الأجهزة إعداد الأجهزة](https://i.howwhatproduce.com/images/001/image-756-4-j.webp)
أولاً ، سنقوم بإعداد الأجهزة. سنبدأ بالجرس السلبي (أي المتحدث). نريد توصيل الطرف الموجب للجرس السلبي (المشار إليه بعلامة "+") بالدبوس الرقمي 8 على Arduino. سنقوم بتوصيل الطرف الآخر من جرس المرور بالأرض.
بعد ذلك ، سنقوم بتثبيت زر الضغط على جرس الباب. سنستخدم المقاوم المنسدل الخارجي 10 كيلو أوم للمفتاح ، لذلك لا يوجد جهد عائم أو حالة غير مستقرة على الإدخال إلى Arduino. باستخدام المقاوم المنسدل ، يقرأ Arduino الجهد على أنه 0 فولت عندما لا يتم الضغط على الزر و 5 فولت عند الضغط على الزر. لمزيد من المعلومات حول مقاومات السحب أو المنسدلة ، يمكنك قراءة هذا المقال:
سنقوم بتوصيل جانب واحد من زر الضغط بجهد 5 فولت. سيتم توصيل الجانب الآخر من الزر الانضغاطي بالأرض من خلال المقاوم المنسدل 10 كيلو أوم. تذكر: الأزرار الانضغاطية متصلة أفقيًا داخليًا. يتم توصيلها عموديًا فقط عند الضغط عليها. يتم توفير مزيد من المعلومات في هذه المقالة:
الخطوة 2: إعداد البرنامج
كل الكود مرفق. فيما يلي وصف لكل وظيفة مع لقطات من الكود.
اقامة:
في وظيفة الإعداد () ، نريد تكوين المسامير الرقمية لزرنا ومكبر الصوت الخاص بنا. نريد تكوين الدبوس 2 كمدخل للزر الخاص بنا ، ونريد تكوين الدبوس 8 كإخراج لمكبر الصوت الخاص بنا.
نريد أيضًا "زرع" مولد الأرقام العشوائي الخاص بنا لاختيار نغمة عشوائية عندما يقرع شخص ما جرس الباب. إن زرع مولد الأعداد العشوائية الخاص بنا يعني إطعامه بمدخل عشوائي. سنقوم بتزويد مولد الأرقام العشوائي الخاص بنا بقيمة الجهد على المدخلات التناظرية 0. نظرًا لأنه لا يوجد شيء متصل بهذا الإدخال ، سيكون هناك جهد متذبذب "عشوائي" على هذا الدبوس مما يوفر مولد الأرقام العشوائي الخاص بنا مع العديد من القيم المختلفة. هذا يضمن أنه سيكون لدينا ترتيب مختلف لاختيار الأغاني لجرس الباب لدينا. لمزيد من المعلومات حول وظيفة Arduino random () ، انتقل هنا:
# تضمين "pitches.h"
# تضمين "songs.h" #define BUTTON_PIN 2 #define SPEAKER_PIN 8 / * إعداد وظيفة * / void setup () {// تمكين دبابيس الإدخال / الإخراج pinMode (BUTTON_PIN ، INPUT) ؛ pinMode (SPEAKER_PIN ، الإخراج) ؛ // دالة عشوائي () حتى نحصل على ترتيب مختلف للبذور العشوائية (analogRead (0)) ؛ }
حلقة:
في وظيفة الحلقة () الخاصة بنا ، سوف نتحقق باستمرار لمعرفة ما إذا كان الزر مضغوطًا (الدبوس الرقمي 2 مرتفع). إذا كان الدبوس مرتفعًا ، ننتظر 50 مللي ثانية ونتحقق مرة أخرى للتأكد من أنه لا يزال مرتفعًا. هذا يضمن أن الزر مضغوط ولم يكن هناك ضوضاء طائشة على دبوس الإدخال الرقمي مما تسبب في إيجابية خاطئة.
بمجرد التأكد من الضغط على الزر ، نستخدم مولد الأرقام العشوائي الخاص بنا لتحديد واحدة من الأغاني الخمس باستخدام بيان التبديل. يتم تخزين بيانات هذه الأغاني في "songs.h" ويتم تخزين معلومات درجة الصوت في "الملعب. h". بمجرد اختيار أغنية ، نقوم بتمرير هذه المعلومات إلى الوظيفة play_song ().
/ * الوظيفة الرئيسية أثناء الحلقة * /
حلقة باطلة () {// تحقق لمعرفة ما إذا كان الزر مضغوطًا إذا كان (digitalRead (BUTTON_PIN) == HIGH) {// تأخير 50 مللي ثانية للتأكد من أنه لا يزال مضغوطًا // لتجنب أي تأخير في أخطاء القراءة الشاردة (50) ؛ if (digitalRead (BUTTON_PIN) == HIGH) {// اختر أغنية عشوائيًا int song_choice = random (5) ؛ // حدد الأغنية المراد تشغيلها (song_choice) {الحالة 0: play_song (haircutLength ، haircut ، haircutDurations ، haircutTempo) ؛ استراحة؛ الحالة 1: play_song (marioLength ، mario ، marioDurations ، marioTempo) ؛ استراحة؛ الحالة 2: play_song (miiLength ، mii ، miiDurations ، miiTempo) ؛ استراحة؛ الحالة 3: play_song (hpLength ، hp ، hpDurations ، hpTempo) ؛ استراحة؛ الحالة 4: play_song (takeonmeLength ، takeonme ، takeonmeDurations ، takeonmeTempo) ؛ استراحة؛ الافتراضي: play_song (miiLength ، mii ، miiDurations ، miiTempo) ؛ استراحة؛ }}}}
تشغيل الأغنية:
تأخذ play_song () 4 وسيطات: عدد صحيح من النغمات في الأغنية ، ومجموعة عدد صحيح من النغمات في اللحن ، ومجموعة عدد صحيح من المدة ، وإيقاع عدد صحيح لتلك الأغنية المعينة. يجب عليك تحديد كل من هذه لكل أغنية ترغب في تشغيلها. لمزيد من المعلومات حول كيفية استخدام وظائف نغمة Arduino ، يمكنك إلقاء نظرة على هذا البرنامج التعليمي: https://www.arduino.cc/en/Tutorial/ToneMelody. لقد أضفت بعض الوظائف أعلى هذا البرنامج التعليمي للملاحظات المنقطة. إذا كانت القيمة في مصفوفة مدة الملاحظة سالبة ، فهذا يعني أنها ملاحظة منقطة (الطول أكبر بمقدار 1.5 مرة).
/ * تشغيل الأغنية * /
void play_song (int num_notes، int melody ، int noteDurations ، int tempo) {// step through and play of the notes for (int i = 0؛ i 0) {duration = tempo / noteDurations ؛ } // إذا كان رقمًا سالبًا ، يعني ملاحظة منقطة // يزيد المدة بمقدار النصف للملاحظات المنقطة الأخرى إذا (noteDurations <0) {duration = tempo / abs (noteDurations ) * 1.5؛ } نغمة (SPEAKER_PIN ، لحن ، مدة) ؛ // لتمييز الملاحظات ، حدد حدًا أدنى للوقت بينهما. // يبدو أن مدة الملاحظة + 30٪ تعمل بشكل جيد: int pauseBetweenNotes = المدة * 1.30 ؛ تأخير (وقفة بين الملاحظات) ؛ // إيقاف تشغيل النغمة: noTone (SPEAKER_PIN) ؛ }}
عينة من الأغاني. ح:
يوجد أدناه عينة من إحدى الأغاني في أغنية "songs.h". الملاحظات هي وحدات ماكرو محددة في "الملعب". تتوافق الأرقام مع ترددات النغمات بالهرتز (هرتز). يتم تحديد مدة النغمات على النحو التالي: 1 = نغمة كاملة ، 2 = نصف نغمة ، 4 = نوتة ربع سنوية ، 8 = نغمة ثامنة ، -4 = نغمة ربع منقط ، إلخ. الطول هو إجمالي عدد النغمات في الأغنية. الإيقاع عبارة عن مقسم لسرعة الأغنية (الرقم الأعلى يعني سرعة أبطأ). سيكون عليك اللعب بهذا الرقم حتى تحصل على الإيقاع الذي تريده.
/* هاري بوتر */
int hp = {NOTE_D4، NOTE_G4، NOTE_AS4، NOTE_A4، NOTE_G4، NOTE_D5، NOTE_C5، NOTE_A4، NOTE_G4، NOTE_AS4، NOTE_A4، NOTE_F4، NOTE_GS4، NOTE_D4}؛ int hpDurations = {4، -4، 8، 4، 2، 4، -2، -2، -4، 8، 4، 2، 4، 1} ؛ طول حصان كثافة العمليات = 14 ؛ عدد int hpTempo = 1050 ؛
الخطوة 3: القرص
أضف مزيد من الأغاني! اتبع التنسيق الموضح في "songs.h" واستخدم البرنامج التعليمي للمساعدة: https://www.arduino.cc/en/Tutorial/ToneMelody. لكل أغنية جديدة تضيفها ، تذكر أن تضيف حالة جديدة إلى بيان التبديل وزيادة العدد الأقصى الذي يمكن إنشاؤه بواسطة وظيفة عشوائية (). ترميز سعيد!
الخطوة 4: المزيد من المشاريع
لمزيد من المشاريع ، قم بزيارة صفحاتي:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
موصى به:
جرس الباب بالفيديو من UK Ring يعمل مع الرنين الميكانيكي: 6 خطوات (بالصور)
![جرس الباب بالفيديو من UK Ring يعمل مع الرنين الميكانيكي: 6 خطوات (بالصور) جرس الباب بالفيديو من UK Ring يعمل مع الرنين الميكانيكي: 6 خطوات (بالصور)](https://i.howwhatproduce.com/images/001/image-277-j.webp)
UK Ring Video Doorbell Pro يعمل مع الرنين الميكانيكي: ****************************************** *************** يرجى ملاحظة أن هذه الطريقة تعمل فقط مع طاقة التيار المتردد في الوقت الحالي وسوف أقوم بالتحديث إذا / عندما أجد حلًا لأجراس الباب باستخدام طاقة التيار المستمر في غضون ذلك ، إذا كان لديك طاقة تيار مستمر العرض ، سوف تحتاج إلى
جرس الباب اردوينو: 5 خطوات
![جرس الباب اردوينو: 5 خطوات جرس الباب اردوينو: 5 خطوات](https://i.howwhatproduce.com/preview/how-to/10417219-arduino-doorbell-5-steps-0.webp)
اردوينو جرس الباب: التوريدات - 2 لوح خبز - صفارة - أسلاك توصيل - 2 اردوينو / جينوينو مع كبلات طاقة - جهاز إرسال RF وجهاز استقبال - زر ضغط - مقاوم 100 أوم
حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام IFTTT: 8 خطوات
![حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام IFTTT: 8 خطوات حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام IFTTT: 8 خطوات](https://i.howwhatproduce.com/images/003/image-6429-9-j.webp)
حوّل جرس الباب السلكي إلى جرس باب ذكي مع IFTTT: يحول جرس الباب اللاسلكي جرس الباب السلكي الحالي إلى جرس باب ذكي. https://www.fireflyelectronix.com/product/wifidoor
حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام مساعد المنزل: 6 خطوات
![حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام مساعد المنزل: 6 خطوات حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام مساعد المنزل: 6 خطوات](https://i.howwhatproduce.com/images/005/image-13963-22-j.webp)
حوّل جرس الباب السلكي إلى جرس باب ذكي باستخدام مساعد المنزل: حوّل جرس الباب السلكي الحالي إلى جرس باب ذكي. تلقي إشعارًا بهاتفك أو إقرانه بكاميرا الباب الأمامي الموجودة لديك لتلقي تنبيه بالصور أو الفيديو في أي وقت يرن فيه شخص ما جرس الباب. تعرف على المزيد على: fireflyelectronix.com/pro
أرخص اردوينو -- أصغر اردوينو -- اردوينو برو ميني -- البرمجة -- اردوينو نينو: 6 خطوات (مع صور)
![أرخص اردوينو -- أصغر اردوينو -- اردوينو برو ميني -- البرمجة -- اردوينو نينو: 6 خطوات (مع صور) أرخص اردوينو -- أصغر اردوينو -- اردوينو برو ميني -- البرمجة -- اردوينو نينو: 6 خطوات (مع صور)](https://i.howwhatproduce.com/images/003/image-6862-42-j.webp)
أرخص اردوينو || أصغر اردوينو || اردوينو برو ميني || البرمجة || اردوينو نينو: …………………………. الرجاء الاشتراك في قناتي على يوتيوب لمزيد من مقاطع الفيديو ……. يدور هذا المشروع حول كيفية التعامل مع أصغر وأرخص اردوينو على الإطلاق. أصغر وأرخص اردوينو هو اردوينو برو ميني. إنه مشابه لاردوينو