جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53
بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال الفيزيائي لهذا العالم ولكن لها دورها الجيد في المجال البيولوجي أيضًا. يلعب التقدير الدقيق لشدة الضوء دورًا محوريًا في نظامنا البيئي ، وفي نمو النباتات ، وما إلى ذلك ، لذلك ، لخدمة هذا الغرض ، درسنا هذا المستشعر BH1715 ، وهو مستشعر إضاءة محيطة من نوع الإخراج التسلسلي 16 بت.
في هذا البرنامج التعليمي ، سنشرح عمل BH1715 مع Raspberry pi ، باستخدام Java كلغة برمجة.
الأجهزة التي ستحتاجها لهذا الغرض هي كما يلي:
1. BH1715 - مستشعر الضوء المحيط
2. Raspberryy Pi
3. كابل I2C
4. I2C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة 1: نظرة عامة على BH1715:
بادئ ذي بدء ، نود أن نطلعك على الميزات الأساسية لوحدة المستشعر BH1715 وبروتوكول الاتصال الذي تعمل عليه.
BH1715 هو مستشعر رقمي للضوء المحيط بواجهة ناقل I²C. يتم استخدام BH1715 بشكل شائع للحصول على بيانات الإضاءة المحيطة لضبط طاقة الإضاءة الخلفية لشاشات الكريستال السائل ولوحة المفاتيح للأجهزة المحمولة. يوفر هذا الجهاز دقة 16 بت ونطاق قياس قابل للتعديل ، مما يسمح بالكشف من 0.23 إلى 100000 لوكس.
بروتوكول الاتصال الذي يعمل عليه المستشعر هو I2C. I2C تعني الدائرة المتكاملة. إنه بروتوكول اتصال يتم فيه الاتصال من خلال خطوط SDA (البيانات التسلسلية) و SCL (الساعة التسلسلية). يسمح بتوصيل أجهزة متعددة في نفس الوقت. إنه أحد أبسط بروتوكولات الاتصال وأكثرها كفاءة.
الخطوة الثانية: ماذا تحتاج..
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. BH1715 - مستشعر الضوء المحيط
2. Raspberry Pi
3. كابل I2C
4. I2C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة 3: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر و raspberry pi. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل BH1715 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!
مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة 4: قياس شدة الضوء باستخدام كود Java:
تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة بها لربط المستشعر بها. من خلال الاستفادة من هذه الميزة في هذا المنتدى ، نعرض هنا البرمجة بلغة Java. يمكن تنزيل كود Java الخاص بـ BH1715 من مجتمع GitHub وهو Dcube Store.
ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:
كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة pi4j في حالة java ، لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:
pi4j.com/install.html
يمكنك نسخ كود جافا العامل لهذا المستشعر من هنا أيضًا:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// BH1715
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية البسيطة BH1715_I2CS I2C المتاحة من ControlEverything.com.
//
استيراد com.pi4j.io.i2c. I2CBus ؛
استيراد com.pi4j.io.i2c. I2CDevice ؛
استيراد com.pi4j.io.i2c. I2CFactory ؛
استيراد java.io. IOException ؛
فئة عامة BH1715
{
يطرح main static void main (String args ) استثناء
{
// إنشاء ناقل I2C
حافلة I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ؛
// احصل على جهاز I2C ، عنوان BH1715 I2C هو 0x23 (35)
جهاز I2CDevice = bus.getDevice (0x23) ؛
// أرسل السلطة عند القيادة
device.write ((بايت) 0x01) ؛
// إرسال أمر قياس مستمر
device.write ((بايت) 0x10) ؛
Thread.sleep (500) ؛
// قراءة 2 بايت من البيانات
// luminance msb، luminance lsb
بايت بيانات = بايت جديد [2] ؛
قراءة الجهاز (البيانات ، 0 ، 2) ؛
// تحويل البيانات
السطوع المزدوج = ((البيانات [0] & 0xFF) * 256 + (البيانات [1] & 0xFF)) / 1.20 ؛
// إخراج البيانات للشاشة
System.out.printf ("إنارة الضوء المحيط:٪.2f lux٪ n" ، الإنارة) ؛
}
}
المكتبة التي تسهل اتصال i2c بين المستشعر واللوحة هي pi4j ، وتساعد حزمها المختلفة I2CBus و I2CDevice و I2CFactory على إنشاء الاتصال.
استيراد com.pi4j.io.i2c. I2CBus ؛ استيراد com.pi4j.io.i2c. I2CDevice ؛ استيراد com.pi4j.io.i2c. I2CFactory ؛ استيراد java.io. IOException ؛
هذا الجزء من الكود يجعل المستشعر يعمل لقياس شدة الضوء عن طريق كتابة الأوامر المعنية باستخدام وظيفة الكتابة () ثم قراءة البيانات باستخدام وظيفة القراءة ().
device.write ((بايت) 0x01) ؛ // السلطة عند القيادة
device.write ((بايت) 0x10) ؛ // أمر القياس المستمر
بايت بيانات = بايت جديد [2] ؛ // قراءة 2 بايت من البيانات
قراءة الجهاز (البيانات ، 0 ، 2) ؛
يتم تحويل البيانات الواردة من المستشعر إلى التنسيق المناسب باستخدام ما يلي:
السطوع المزدوج = ((البيانات [0] & 0xFF) * 256 + (البيانات [1] & 0xFF)) / 1.20 ؛
تتم طباعة الإخراج باستخدام وظيفة System.out.println () بالتنسيق التالي.
System.out.printf ("إنارة الضوء المحيط:٪.2f lux٪ n" ، الإنارة) ؛
يظهر خرج المستشعر في الصورة أعلاه.
الخطوة 5: التطبيقات:
BH1715 عبارة عن مستشعر إضاءة محيطة رقمي يمكن دمجه في الهاتف المحمول وتليفزيون LCD وجهاز كمبيوتر الملاحظات وما إلى ذلك ، ويمكن استخدامه أيضًا في آلة الألعاب المحمولة ، والكاميرا الرقمية ، وكاميرا الفيديو الرقمية ، و PDA ، وشاشة LCD والعديد من الأجهزة الأخرى التي تتطلب تطبيقات فعالة لاستشعار الضوء.
موصى به:
كيفية جعل درجة الحرارة وتسجيل شدة الضوء محاكاة Proteus - فريتزينج - صانع Liono: 5 خطوات
كيفية جعل درجة الحرارة وتسجيل شدة الضوء محاكاة Proteus | فريتزينج | Liono Maker: مرحبًا ، هذا Liono Maker ، هذه قناتي الرسمية على YouTube. هذه قناة YouTube مفتوحة المصدر ، وهناك الرابط: قناة Liono Maker على YouTube ، يوجد رابط الفيديو: Temp & amp؛ تسجيل كثافة الضوء في هذا البرنامج التعليمي سوف نتعلم كيفية صنع المزاج
تخطيط شدة الضوء باستخدام مكتبة Arduino و Python الرئيسية في Arduino: 5 خطوات
تخطيط شدة الضوء باستخدام مكتبة Arduino الرئيسية في Arduino و Python: تعتبر Arduino أداة اقتصادية وفعالة للغاية ، فإن برمجتها في Embedded C تجعل عملية جعل المشاريع مملة! تعمل الوحدة النمطية Arduino_Master في Python على تبسيط هذا الأمر وتتيح لنا إجراء العمليات الحسابية وإزالة قيم القمامة ،
حساب شدة الضوء باستخدام BH1715 و Arduino Nano: 5 خطوات
حساب شدة الضوء باستخدام BH1715 و Arduino Nano: بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال المادي لهذا العالم ولكن لها دورها الجيد في علم الأحياء
حساب شدة الضوء باستخدام BH1715 والفوتون الجسيمي: 5 خطوات
حساب شدة الضوء باستخدام BH1715 وفوتون الجسيمات: بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال المادي لهذا العالم ولكن لها دورها الجيد في علم الأحياء
موفر طاقة شدة الضوء باستخدام الخلايا الضوئية والثرمستورات: 6 خطوات
موفر طاقة شدة الضوء باستخدام الخلايا الضوئية والثرمستورات: تم تصميم هذا الدليل لتعليمك كيفية توفير الطاقة عن طريق تغيير شدة الضوء باستخدام الخلايا الكهروضوئية والثرمستورات. سنوضح لك كيفية إنشاء الدائرة وترميز Arduino باستخدام MATLAB