وحدة استشعار الضوء المحيط الرقمية BH1750FVI

45,00 DH 60,00 DH

التوفر:

214 متوفر في المخزون

رمز المنتج: 0176 التصنيفات: ,

الوصف

وحدة استشعار الضوء المحيط الرقمية BH1750FVI

تستخدم هذه الوحدة المستشعر الرقمي BH1750FVI لقياس شدة الإضاءة المحيطة وإرسال القراءة الرقمية عبر واجهة I²C. وهي مناسبة لمراقبة مستوى الضوء ومشاريع ضبط سطوع الشاشات تلقائيًا وغيرها من النماذج الأولية التي تحتاج إلى قراءة الإضاءة المحيطة.

🔧 المواصفات المذكورة لهذه الوحدة

  • المستشعر: BH1750FVI، مستشعر رقمي للضوء المحيط
  • الواجهة: I²C
  • نطاق القياس المذكور: 1–65,535 lx
  • خطوة القياس عالية الدقة المذكورة: 1 lx
  • التيار النموذجي المذكور: 0.12 mA
  • تفاوت القياس المذكور: ±20%
  • ذروة الحساسية الطيفية: نحو 560 nm
  • رفض تشويش الإضاءة بتردد 50/60 Hz
  • أبعاد اللوحة: 13.9 × 18.5 mm

ملاحظة الجهد: تذكر قائمة المنتج أن الوحدة مناسبة لأنظمة 3–5 V، لكن شريحة BH1750FVI نفسها محددة للعمل بجهد تغذية 2.4–3.6 V. تختلف لوحات التوصيل في وجود منظم الجهد ومحوّل مستويات إشارات I²C؛ لذلك تحقّق من علامات اللوحة أو وثائقها قبل تطبيق 5 V أو توصيل SDA وSCL بإشارات 5 V. استخدم منطق 3.3 V ما لم تتأكد من توافق اللوحة.

⚙️ القياس وعنوان I²C

تحوّل الشريحة الضوء الساقط إلى نتيجة رقمية من 16 bit. يحدد طرف ADDR أحد عنواني I²C: عند ADDR منخفضًا يكون العنوان 0x23، وعند ADDR مرتفعًا يكون 0x5C. قد تعرض بعض المكتبات العنوان بصيغة مختلفة أو بعد إزاحته. خطوة القياس الاسمية في وضع الدقة العالية هي 1 lx؛ وتعتمد القراءة وزمن التحويل على وضع القياس المختار.

💡 الاستخدامات الشائعة

  • مراقبة الضوء المحيط
  • التحكم التلقائي في سطوع الشاشات
  • نماذج أولية للإضاءة والمنزل الذكي
  • مشاريع Arduino والمتحكمات الدقيقة الأخرى

📌 أطراف الوحدة

  • VCC: تغذية الوحدة؛ تحقّق من الجهد الذي تدعمه لوحة التوصيل المرفقة
  • GND: الأرضي
  • SDA: بيانات I²C
  • SCL: ساعة I²C
  • ADDR: اختيار عنوان I²C إذا كان موصولًا بطرف في اللوحة

🔌 مثال Arduino أساسي

نُبقي الشيفرة الأصلية أدناه. يهيئ المثال المستشعر ويطبع مستوى الضوء المقاس في Serial Monitor.

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


BH1750 lightMeter;


void setup(){
  Serial.begin(9600); // Initialiser la communication série
  Wire.begin(); // Initialiser la communication I2C
  lightMeter.begin(); // Initialiser le capteur BH1750
  Serial.println("BH1750 Test"); // Message de test
}


void loop() {
  float lux = lightMeter.readLightLevel(); // Lire la valeur de luminosité
  Serial.print("Light: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(1000); // Attendre 1 seconde avant la prochaine lecture
}

مكونات المثال الأساسي

  • Arduino Uno
  • وحدة مستشعر الضوء BH1750FVI
  • أسلاك توصيل

التوصيلات الموضحة في المصدر

  • VCC: ‏5 V في Arduino فقط إذا كانت لوحة التوصيل الفعلية تدعم ذلك صراحةً؛ وإلا فاستخدم 3.3 V
  • GND: ‏GND في Arduino
  • SDA: ‏A4 في Arduino Uno
  • SCL: ‏A5 في Arduino Uno

🌟 مثال متقدم مع شاشة I²C ‏1602

نُبقي مثال الشيفرة الأصلي الثاني أدناه. يقرأ المثال المستشعر في وضع الدقة العالية المستمر ويعرض النتيجة على شاشة I²C.

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


// Initialiser le capteur BH1750
BH1750 lightMeter;


// Initialiser l'écran LCD I2C à l'adresse 0x27 avec 16 colonnes et 2 lignes
LiquidCrystal_I2C lcd(0x27, 16, 2);


void setup(){
  Serial.begin(9600); // Initialiser la communication série
  Wire.begin(); // Initialiser la communication I2C
  lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE); // Initialiser le capteur en mode haute résolution continue
  lcd.begin(); // Initialiser l'écran LCD
  lcd.backlight(); // Allumer le rétroéclairage de l'écran LCD
  lcd.print("BH1750 Test"); // Message de test
  Serial.println("BH1750 Advanced Test"); // Message de test pour le Moniteur Série
}


void loop() {
  float lux = lightMeter.readLightLevel(); // Lire la valeur de luminosité
  lcd.setCursor(0, 0); // Positionner le curseur à la première ligne
  lcd.print("Light: "); // Afficher le texte "Light:" sur l'écran LCD
  lcd.setCursor(0, 1); // Positionner le curseur à la deuxième ligne
  lcd.print(lux); // Afficher la valeur de luminosité sur l'écran LCD
  lcd.print(" lx"); // Afficher l'unité de mesure "lx"
  Serial.print("Light: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(500); // Attendre 500 ms avant la prochaine lecture
}

التوصيلات الموضحة في المصدر

  • VCC للمستشعر: ‏5 V في Arduino فقط عند دعم اللوحة الفعلية لذلك؛ وإلا فاستخدم 3.3 V
  • GND للمستشعر: ‏GND في Arduino
  • SDA/SCL للمستشعر: ‏A4/A5 في Arduino Uno
  • VCC/GND للشاشة: وصّلهما وفق جهد التشغيل المحدد لوحدة الشاشة
  • SDA/SCL للشاشة: يمكن مشاركتهما مع المستشعر على ناقل I²C بشرط توافق الجهد ومقاومات السحب

يشترك الجهازان في خطي بيانات وساعة I²C، لكن يجب أن تتوافق مقاومات السحب مع جهد المنطق في المتحكم. تحقّق من مخطط الأطراف وإعدادات المكتبات قبل تشغيل الدائرة.

شكرًا لولائك!

AR