سنسورهای نور محیطی در کاربردهای مرتبط با نور و تصویر استفاده می شود، BH1750FVI یک آی سی سنسور نور محیط دیجیتال برای رابط I2C است. این آی سی مناسب ترین قطعه برای به دست آوردن داده های نور محیط با محدوده وسیع و وضوح بالا است. در این مقاله اتصال این سنسور به آردینو و کد پروژه با مثال توضیح داده شده است.
حسگر BH1750 دارای طیف تشخبصی نور تقریباً همسان با چشم انسان و قبلیت اصلاح نویز نور 50 هرتز / 60 هرتز را دارااست. این سنسور قابلیت تنظیم برای سازگاری با نور پنجره را می دهد و با استفاده از این سنسور می توانیم حداقل 0.11 lx و حداکثر 100000 lx را تشخیص دهیم.
سنسور نور محیطی BH1750FVI
سنسور BH1750 در بسته بندی WSOF6I عرضه می شود و استفاده از برد یا ماژول بریک اوت BH1750 توصیه می شود. این سنسور می تواند مقدار نور محیط را در اندازه گیری مداوم یا لحظه ای اندازه گیری کند. خروجی را از طریق شش حالت مختلف عملیاتی می توان به دست آورد.
اندازه گیری یک بار
- حالت وضوح پایین – (دقت 4 lx، زمان اندازه گیری 16 میلی ثانیه)
- حالت وضوح بالا – (دقت 1 lx، زمان اندازه گیری 120 میلی ثانیه)
- حالت وضوح بالا – (0.5 lx دقت، 120ms زمان اندازه گیری)
سنسور یک نمونه داده اندازه گیری را می گیرد و به حالت خاموش شدن می رود.
اندازه گیری پیوسته
- حالت وضوح کم – (دقت 4 lx، زمان اندازه گیری 16 میلی ثانیه)
- حالت وضوح بالا – (دقت 1 lx، زمان اندازه گیری 120 میلی ثانیه)
- حالت وضوح بالا – (دقت 0.5 lx، زمان اندازه گیری 120 میلی ثانیه)
کد مثال آردوینو زیر داده های نور محیط را در حالت وضوح بالا می گیرد.
کد آردینو BH1750
کتاب خانه BH1750 برای آردینو : https://github.com/claws/BH1750
#include <Wire.h>
#include <BH1750.h>
BH1750 lightMeter;
void setup(){
Serial.begin(9600);
// Initialize the I2C bus (BH1750 library doesn't do this automatically)
// On esp8266 devices you can select SCL and SDA pins using Wire.begin(D4, D3);
Wire.begin();
lightMeter.begin();
Serial.println(F("BH1750 Test"));
}
void loop() {
uint16_t lux = lightMeter.readLightLevel();
Serial.print("Light: ");
Serial.print(lux);
Serial.println(" lx");
delay(1000);
}
خروجی مانیتور سریال
Light: 71 lx
Light: 72 lx
Light: 57 lx
Light: 318 lx
Light: 330 lx
Light: 336 lx
Light: 338 lx