جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
مرحبا جميعا! سعيد الهالووين !! لقد قمنا ببناء فانوس اليقطين الذي سيعزف الموسيقى ويبصق الحلوى عندما يأتي شخص ما إليه.
الخطوة 1: الأشياء المستخدمة في هذا المشروع
مكونات الأجهزة
- Arduino UNO / Seeeduino V4.2
- قاعدة درع V2.0
- جروف - جهاز استشعار الحركة PIR
- جروف - MP3 v2.0
- Grove - WS2813 RGB LED Strip مقاوم للماء - 60 LED / m - 1m
- EMax 12g ES08MD أجهزة عالية الحساسية
تطبيقات البرمجيات والخدمات عبر الإنترنت
اردوينو IDE
الخطوة الثانية: القصة
عيد الهالوين قادم ، فوانيس اليقطين ضرورية. نحن نستخدم Seeeduino و PIR Motion Senser قاموا ببناء فانوس اليقطين ، عندما يأتي شخص ما إليه ، سيعزف الموسيقى ويبصق الحلوى.
الهيكل الميكانيكي
** الخطوة 1: ** اشترِ بعض الحلوى واليقطين ، واحفر حفرة خلف اليقطين حتى نتمكن من وضع Seeeduino فيه.
** الخطوة 2: ** قص صندوقًا مثل هذا ، وثبته في فم اليقطين.
** Setp 3: ** قم بتركيب ذراع على محرك سيرفو. لإصلاح محرك سيرفو داخل اليقطين ، نستخدم العلبة كحامل.
** الخطوة 4: ** تأكد عند تشغيل ذراع محرك المؤازرة ، سيتم بصق الحلوى الموجودة في الصندوق من فم اليقطين.
الخطوة 3: توصيل الأجهزة
** الخطوة 1: ** قم بإنشاء مجلد باسم MP3 في قطعة من بطاقة SD ، وانسخ ملف mp3 إليه ، وقم بتسميته 0001.mp3. قم بتوصيل مكبر صوت إلى MP3 Grove عبر منفذ 3.5 ملم ، وقم بتوصيل MP3 Grove بالمنفذ D2 على Base Shield.
** الخطوة 2: ** قم بتوصيل PIR Motion Sensor Grove بمنفذ D4 الخاص بـ Base Shield ، وقم بتوصيل شريط NeoPixel بمنفذ D5 الخاص بـ Base Shield.
** الخطوة 3: ** قم بتوصيل Servo Grove بالدبوس الرقمي 9 الخاص بـ Base Shield ، لذلك قد نحتاج إلى استخدام خطوط DuPont.
** الخطوة 4: ** قم بتوصيل Base Shield إلى Seeeduino.
** الخطوة 5: ** لتنزيل البرنامج على موقع Seeeduino ، نستخدم كابل USB للتوصيل بالكمبيوتر. بعد التنزيل ، يمكننا فقط استخدام كابل طاقة داخل اليقطين.
الخطوة 4: برمجة البرمجيات
** الخطوة 1: ** تثبيت المكتبات
للحصول على تأثير أفضل ، نستخدم نظام تشغيل يسمى FreeRTOS ، ويمكن تنزيله من هنا.
إلى جانب ذلك ، يحتاج هذا المشروع إلى المكتبات التالية وتنزيلها وتثبيتها:
- جروف - MP3 v2.0
- Adafruit NeoPixel
- Adafruit TicoServo
أو يمكنك ببساطة تضمين MP3.h في مجلد المشروع لاستخدام MP3 Grove.
** الخطوة الثانية: ** أنشئ البرنامج وحمّله
* ملاحظة: يتحكم Marco MAX_BRIGHTNESS في أقصى سطوع لـ NeoPixel ، ويقلل سطوعه لتقليل استهلاك الطاقة. *
قد يكون من الصعب فهم البرنامج إذا لم تستخدم نظام التشغيل على Seeeduino من قبل ، فالمقالة التالية ستجعله بسيطًا.
في طريقة الإعداد () ، قمنا بتهيئة Serial و MP3 Grove و Servo Motor بشكل طبيعي ، وأنشأنا متغيرًا نسميه semaphore ، يمكنك اعتباره متغير علامة يستخدم للإشارة إلى ما إذا كان شخص ما يأتي أم لا.
vSemaphoreCreateBinary (xPIRBinarySemaphore) ؛
ثم أنشأنا 3 مهام ، يمكن تشغيلها معًا. لكن الأولويات في ذلك الوقت قد لا تكون هي نفسها.
s1 = xTaskCreate (vFadingLEDsTask ، NULL ، configMINIMAL_STACK_SIZE ، NULL ، 1 ، NULL) ؛
s2 = xTaskCreate (vScaningPIRTask، NULL، configMINIMAL_STACK_SIZE، NULL، 1، NULL) ؛ s3 = xTaskCreate (vHandlePIRTask ، NULL ، configMINIMAL_STACK_SIZE ، NULL ، 2 ، NULL) ؛
بعد التحقق من الإشارة وتهيئة المهام بشكل صحيح ، تبدأ طريقة vTaskSetartScheduler () في FreeRTOS بالكامل.
إذا (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)
{ ل (؛؛)؛ } vTaskStartScheduler () ،
الطريقة الحلقية () المستخدمة في FreeRTOS. الآن الباقي بسيط ، vFadingLEDsTask مهمة تتلاشى متغير اللون LED و vScanPIRTask مهمة مسح PIR Motion Sensor 'دبوس طوال الوقت. عندما يكتشف PIR Motion Sensor أن شخصًا ما قادم ، فإنه يقوم بتعيين العلم ، ثم تبدأ مهمة vHandlePIRTask في العمل. لأن أولوية مهمة vHandlePIRTask هي 2 ، عندما تكون قيد التشغيل ، سيتم تعليق مهمتين متبقيتين.
يتم استخدام المكالمات التالية لضبط أو إعادة تعيين العلم.
xSemaphoreGive (xPIRBinarySemaphore) ؛
xSemaphoreTake (xPIRBinarySemaphore ، portMAX_DELAY) ،
الخطوة 5: العملية
ضع السماعة و Seeeduino و Groves داخل فانوس اليقطين ، وقم بتشغيله. الآن يمكنك انتظار شخص ما يأتي إليه ، خدعة أو علاج:-).
تحقق من الفيديو عن طريق النقر فوق ضوء اليقطين هالوين. (https://www.youtube.com/embed/CFjuWXOIUN4)