جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
في هذا Instructable ، سأوضح لك كيفية إنشاء عداد ضوئي باستخدام شاشة Nokia 5110 LCD كبيرة باستخدام Arduino.
يعد بناء عداد ضوئي تجربة تعليمية رائعة. عند الانتهاء من بناء هذا المشروع ، سيكون لديك فهم أفضل لكيفية عمل عدادات الضوء وسترى أثناء العمل مدى قوة منصة Arduino. مع هذا المشروع كقاعدة والخبرة المكتسبة ، ستتمكن بسهولة من بناء مشاريع أكثر تعقيدًا في المستقبل. يمكنك استخدام هذا المشروع لمراقبة ظروف الإضاءة لبيئة عملك ، ومصانعك وما إلى ذلك. دون مزيد من التأخير ، فلنبدأ!
الخطوة 1: احصل على جميع الأجزاء
الأجزاء اللازمة لبناء هذا المشروع هي:
- اردوينو اونو ▶
- BH1750 ▶
- نوكيا 5110 LCD ▶
- لوحة توصيل صغيرة ▶
- الأسلاك ▶
تبلغ تكلفة المشروع حوالي 12 دولارًا.
الخطوة الثانية: مستشعر الضوء BH1750
يعد مستشعر شدة الضوء BH1750 مستشعرًا رائعًا وسهل الاستخدام للغاية. تأتي لوحة الاختراق هذه مع محول AD 16 بت مدمج والذي يمكنه إخراج إشارة رقمية مباشرة ، ليست هناك حاجة لعمليات حسابية معقدة.
هذه اللوحة أفضل من LDR التي تنتج جهدًا كهربائيًا فقط. مع BH1750 يمكن قياس شدة مستشعر الضوء مباشرة بواسطة مقياس الكم ، دون الحاجة إلى إجراء حسابات. يتم إخراج البيانات التي يتم إخراجها بواسطة هذا المستشعر مباشرة في Lux (Lx).
يستخدم المستشعر واجهة I2C لذلك من السهل جدًا استخدامه مع Arduino. ما عليك سوى توصيل سلكين.
كما أن سعر المستشعر منخفض جدًا فهو يقارب 2 دولار.
يمكنك الحصول عليه هنا: ▶
الخطوة 3: Nokia 5110 LCD
Nokia 5110 هو شاشتي المفضلة لمشاريع Arduino الخاصة بي.
Nokia 5110 عبارة عن شاشة LCD رسومية أساسية تم تصميمها في الأصل لتكون شاشة هاتف محمول. يستخدم جهاز التحكم PCD8544 وهو وحدة تحكم / برنامج تشغيل CMOS LCD منخفض الطاقة. وبسبب هذا ، تتمتع هذه الشاشة باستهلاك مذهل للطاقة. يستخدم 0.4 مللي أمبير فقط عندما يكون قيد التشغيل ولكن الإضاءة الخلفية معطلة. يستخدم أقل من 0.06 مللي أمبير في وضع السكون! هذا أحد الأسباب التي تجعل هذا العرض المفضل لدي. واجهات PCD8544 للميكروكونترولر من خلال واجهة ناقل تسلسلي. هذا يجعل الشاشة سهلة الاستخدام للغاية مع Arduino.
ما عليك سوى توصيل 8 أسلاك واستخدام المكتبة التالية:
تم تطوير هذه المكتبة الرائعة بواسطة Henning Karlsen الذي بذل قدرًا كبيرًا من الجهد لمساعدة مجتمع Arduino على المضي قدمًا في مكتباته.
لقد قمت بإعداد برنامج تعليمي مفصل حول كيفية استخدام شاشة Nokia 5110 LCD مع Arduino. لقد أرفقت هذا الفيديو في Instructable هذا ، وسوف يوفر معلومات مفيدة حول العرض ، لذلك أشجعك على مشاهدته بعناية.
تبلغ تكلفة العرض حوالي 4 دولارات.
يمكنك الحصول عليه هنا: ▶
الخطوة 4: بناء عداد الضوء
دعنا الآن نربط جميع الأجزاء معًا.
في البداية نقوم بتوصيل وحدة مستشعر الضوء BH1750. يحتوي على 5 دبابيس فقط ولكننا سنقوم بتوصيل 4 منهم.
توصيل مستشعر الجهد
يذهب Vcc Pin إلى Arduino's 5V
يذهب GND Pin إلى Arduino's GND
ينتقل SCL Pin إلى Analog Pin 5 من Arduino Uno
ينتقل SDA Pin إلى Analog Pin 4 من Arduino Uno
يظل دبوس العنوان غير متصل
الخطوة التالية هي توصيل شاشة Nokia 5110 LCD.
توصيل شاشة Nokia 5110 LCD
ينتقل RST إلى Digital Pin 12 من Arduino
CE تذهب إلى Digital Pin 11 في Arduino
يذهب DC إلى Digital Pin 10 من Arduino
ينتقل DIN إلى Digital Pin 9 في Arduino
ينتقل CLK إلى Digital Pin 8 في Arduino
ينتقل VCC إلى Arduino 3.3V LIGHT يذهب إلى Arduino GND (الإضاءة الخلفية)
يذهب GND إلى Arduino GND
الآن بعد أن قمنا بتوصيل جميع الأجزاء معًا ، كل ما علينا فعله هو تحميل الكود. يتم عرض شاشة Splash لبضع ثوان وبعد ذلك يمكننا البدء في قياس شدة الضوء في الوقت الفعلي!
الخطوة الخامسة: كود المشروع
يتكون كود المشروع من 3 ملفات.
دفقة
ui.c
BH1750LightMeter.ino
كود - صورة شاشة البداية
في الملف الأول splash.c ، توجد القيم الثنائية لشاشة البداية التي يتم عرضها على شاشة Nokia 5110 LCD عند بدء تشغيل المشروع. يرجى مشاهدة الفيديو المرفق الذي أعددته لمعرفة كيفية تحميل الرسومات المخصصة الخاصة بك إلى مشروع Arduino الخاص بك.
ui.c Code - واجهة المستخدم
في الملف ui.c ، توجد القيم الثنائية لواجهة المستخدم التي تظهر بعد أن يعرض المشروع شاشة البداية. يرجى مشاهدة الفيديو المرفق الذي أعددته لمعرفة كيفية تحميل الرسومات المخصصة الخاصة بك إلى مشروع Arduino الخاص بك.
UVMeter.ino Code - البرنامج الرئيسي
الكود الرئيسي للمشروع بسيط للغاية. نحتاج إلى تضمين مكتبة Nokia 5110. بعد ذلك نعلن عن بعض المتغيرات. نقوم بتهيئة العرض ونعرض شاشة البداية لمدة 3 ثوانٍ. بعد ذلك نطبع رمز واجهة المستخدم مرة واحدة ونقرأ القيمة من المستشعر 150 مللي ثانية. كل السحر يحدث في وظيفة الحلقة:
حلقة باطلة () {int stringLength = 0 ؛ uint16_t lux = lightSensor.readLightLevel () ، // اقرأ ضوء المستشعر = سلسلة (لوكس) ؛ // التحويل إلى سلسلة stringLength = light.length () ؛ // نحتاج إلى معرفة طول السلسلة lcd.clrScr () ؛ lcd.drawBitmap (0 ، 0 ، ui ، 84 ، 48) ؛ printLight (stringLength) ؛ // اطبع السلسلة على شاشة العرض lcd.update () ؛ تأخير (150) ؛ }
لقد أرفقت الرمز بهذا Instructable. لتنزيل أحدث إصدار من الكود ، يمكنك زيارة صفحة الويب الخاصة بالمشروع:
الخطوة السادسة: اختبار المشروع
الآن بعد أن تم تحميل الكود ، يمكننا اختبار Light Meter في الداخل والخارج. أختبرها في يوم ربيعي مشمس هنا في اليونان. النتيجة إذا كانت رائعة. يمكننا قياس شدة الضوء بدقة مع سهولة بناء المشروع.
كما ترى في الصور المرفقة ، يعمل Light Meter بشكل جيد. يعد هذا المشروع عرضًا رائعًا لما يمكن أن تقدمه الأجهزة والبرامج مفتوحة المصدر. في غضون دقائق قليلة يمكن للمرء أن يبني مثل هذا المشروع الرائع! هذا المشروع مثالي للمبتدئين وكما قلت في البداية ، هذا المشروع هو تجربة تعليمية رائعة. أود أن أسمع رأيك في هذا المشروع. هل تجد أنه من المفيد؟ هل هناك أي تحسينات يمكن تنفيذها على هذا المشروع؟ يرجى نشر تعليقاتك أو أفكارك في قسم التعليقات أدناه!