مواجهة حساس شدة الضوء الرقمي BH1750 مع اردوينو اكتب تعليقُا

تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث أي مشكلة لا سمح الله.

شرح فكرة المشروع

  • في هذا المشروع، سنقوم بمواجهة حساس شدة الضوء الرقمي BH1750 مع اردوينو
  • يُعد حساس شدة الضوء الرقمي BH1750 الأكثر ملاءمة للحصول على قيمة شدة الإضاءة المحيطة، حيث يمكن استخدامه مثلا من أجل ضبط وتعديل إضاءة شاشة LCD أو إضاءة لوحة المفاتيح في الهواتف المحمولة.
  • نطاق كشف الحساس واسع وذو دقة عالية (1 – 65535 لوكس).
  • يتم عرض البيانات على شاشة Serial Monitor.

ادوات المشروع

  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • حساس شدة الضوء الرقمي BH1750 Intensity Sensor Module: عدد 1
  • أسلاك ذكر لانثى 20 سم 40 دبوس wires 40pcs Male to male

مخطط المشروع

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • قبل تحميل الكود البرمجي، عليك تحميل المكتبات التالية:
  • Wire.h
  • BH1750.h من هنا
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

/*

Example of BH1750 library usage.

This example initialises the BH1750 object using the default high resolution
continuous mode and then makes a light level reading every second.

Connections

– VCC to 3V3 or 5V
– GND to GND
– SCL to SCL (A5 on Arduino Uno, Leonardo, etc or 21 on Mega and Due, on
esp8266 free selectable)
– SDA to SDA (A4 on Arduino Uno, Leonardo, etc or 20 on Mega and Due, on
esp8266 free selectable)
– ADD to (not connected) or GND

ADD pin is used to set sensor I2C address. If it has voltage greater or equal
to 0.7VCC voltage (e.g. you’ve connected it to VCC) the sensor address will be
0x5C. In other case (if ADD voltage less than 0.7 * VCC) the sensor address
will be 0x23 (by default).

*/

#include <BH1750.h>
#include <Wire.h>

BH1750 lightMeter;

void setup() {
Serial.begin(9600);

// Initialize the I2C bus (BH1750 library doesn’t do this automatically)
Wire.begin();
// On esp8266 you can select SCL and SDA pins using Wire.begin(D4, D3);
// For Wemos / Lolin D1 Mini Pro and the Ambient Light shield use
// Wire.begin(D2, D1);

lightMeter.begin();

Serial.println(F(“BH1750 Test begin”));
}

void loop() {
float lux = lightMeter.readLightLevel();
Serial.print(“Light: “);
Serial.print(lux);
Serial.println(” lx”);
delay(1000);
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *