ماژول سنسور نور BH1750
ماژول سنسور نور BH1750 و GY-302 هر دو سنسورهای دیجیتال نور هستند که قابلیت اندازه گیری شدت نور را دارا میباشند. با استفاده از این سنسورها، میتوان شدت نور محیط را اندازه گیری کرد و در پروژههای مختلف از جمله روشنایی خودکار و یا کنترل سطح نور استفاده کرد.سنسور BH1750 یک سنسور نور دقیق و با پاسخگویی سریع است. این سنسور توانایی اندازه گیری شدت نور در محدوده 1 تا 65535 لوکس را داراست و از رابط I2C برای ارتباط با میکروکنترلر استفاده میکند.سنسور GY-302 همچنین یک سنسور نور دیجیتال است که از رابط I2C برای ارتباط با میکروکنترلر استفاده میکند. این سنسور از یک LED IR برای ارسال نور استفاده میکند و شدت نور را در محدوده 0 تا 65535 لوکس اندازه گیری میکند.هر دو سنسور BH1750 و GY-302 به دلیل دقت و سرعت بالایی که دارند، در بسیاری از پروژههای الکترونیکی و روباتیکی کاربرد دارند.
ویژگی های سنسور BH1750
- ولتاژ کاری: 2.4 تا 3.6 ولت
- محدوده اندازه گیری شدت نور: 1 تا 65535 لوکس
- دقت اندازه گیری: 0.5 لوکس
- رابط ارتباطی: I2C
- حالت کاری: مصرفی و تعلیقی (power down mode)
- دمای کاری: -40 تا 85 درجه سلسیوس
بررسی پایه های سنسور BH1750
- پایه تغذیه VCC 2.4 - 3.6V
- پایه GND زمین
- پایه Serial Clock
- پایه Serial Data
- I2C انتخاب آدرس
به همراه سنسور BH1750 چه اقلامی باید خریداری شود؟
- برد آردوینو
- سایر میکروکنترلرها مانند ESP32, ESP8266, RP2040
- کابل فلت
- ال ای دی
- مقاومت
- نمایشگر LCD , OLED
راه اندازی سنسور BH1750 با آردوینو
کد آردوینوی زیر به عنوان مثال برای خواندن دادههای سنسور BH1750 قابل استفاده است. در این کد، از کتابخانه Wire برای ارتباط با سنسور از طریق اتصالات I2C استفاده شده است. همچنین از کتابخانه BH1750 برای ارتباط با سنسور و خواندن سطح نور استفاده شده است. در تابع setup()، سنسور شروع به کار میکند و حالت اندازهگیری به حالت با وضوح بالا تنظیم میشود. در تابع loop()، سطح نور فعلی خوانده میشود و در مانیتور سریال چاپ میشود، سپس قبل از اندازهگیری بعدی، مدتی صبر میشود. میتوانید زمان تاخیر را تغییر داده و فرکانس اندازهگیری را تغییر دهید.
#include <Wire.h>
#include <BH1750.h>
BH1750 lightMeter;
void setup() {
Serial.begin(9600);
Wire.begin();
// شروع کار با سنسور BH1750
lightMeter.begin();
// تنظیم حالت اندازهگیری به حالت با وضوح بالا
lightMeter.setMode(BH1750::MODE_HIGH_RES);
}
void loop() {
// خواندن سطح نور فعلی
float lux = lightMeter.readLightLevel();
// چاپ مقدار در مانیتور سریال
Serial.print("Light level: ");
Serial.print(lux);
Serial.println(" lux");
// صبر کردن برای مدتی قبل از اندازهگیری بعدی
delay(500);
}
راه اندازی سنسور BH1750 با میکروپایتون و ESP32 و RP2040
در این کد از ماژول machine برای شروع کار با اتصالات I2C و ایجاد ارتباط با سنسور BH1750 استفاده شده است. همچنین از ماژول bh1750 برای ارتباط با سنسور و خواندن سطح نور استفاده شده است. در حلقه اصلی کد، سطح نور فعلی خوانده میشود و در کنسول چاپ میشود، سپس قبل از اندازهگیری بعدی، مدتی صبر میشود. میتوانید زمان تاخیر را تغییر داده و فرکانس اندازهگیری را تغییر دهید.توجه داشته باشید که باید قبل از اجرای این کد، ماژول bh1750 را نصب کنید. برای این کار، ابتدا به برد مایکروپایتون خود متصل شوید و سپس دستور زیر را اجرا کنید.
from machine import I2C, Pin
from bh1750 import BH1750
# شروع کار با اتصالات I2C و سنسور BH1750
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000)
light_meter = BH1750(i2c)
# تنظیم حالت اندازهگیری به حالت با وضوح بالا
light_meter.mode(BH1750.ONCE_HI_RES)
while True:
# خواندن سطح نور فعلی
lux = light_meter.luminance(BH1750.ONCE_HI_RES)
# چاپ مقدار در کنسول
print("Light level: {:.2f} lux".format(lux))
# صبر کردن برای مدتی قبل از اندازهگیری بعدی
time.sleep_ms(500)
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- سنسور نوری - Light
- ابعاد فیبر
- 13.9 * 18.5 میلی متر
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ مورد نياز
- 3 تا 5 ولت
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 5 پایه
- اقلام همراه محصول
- 5 پین هدر مخصوص
- ترتیب پایه ها
- VCC - GND - SCL - SDA -ADDR
- نوع کانکتور
- پین هدر
- پروتکل ارتباطی
- I2C
- کد تجاری ماژول و برد
- BH1750
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.