فهرست مطالب:

محاسبه شدت نور با استفاده از BH1715 و آردوینو نانو: 5 مرحله
محاسبه شدت نور با استفاده از BH1715 و آردوینو نانو: 5 مرحله

تصویری: محاسبه شدت نور با استفاده از BH1715 و آردوینو نانو: 5 مرحله

تصویری: محاسبه شدت نور با استفاده از BH1715 و آردوینو نانو: 5 مرحله
تصویری: روش لومن برای محاسبه مقدار نور مورد نیاز یک اطاق 2024, جولای
Anonim
Image
Image

دیروز ما روی نمایشگرهای LCD کار می کردیم و در حین کار بر روی آنها به اهمیت محاسبه شدت نور پی بردیم. شدت نور نه تنها در حوزه فیزیکی این جهان مهم است ، بلکه نقش برجسته خود را در حوزه بیولوژیکی نیز دارد. برآورد دقیق شدت نور نقش مهمی در اکوسیستم ما ، در رشد گیاهان و غیره ایفا می کند. بنابراین ، برای خدمت به این منظور ، ما این سنسور BH1715 را مطالعه کردیم ، که یک سنسور نور محیطی خروجی سریال 16 بیتی است.

در این آموزش ، ما قصد داریم کار BH1715 را با آردوینو نانو نشان دهیم.

سخت افزاری که برای این منظور نیاز دارید به شرح زیر است:

1. BH1715 - سنسور نور محیط

2. آردوینو نانو

3. کابل I2C

4. I2C Shield برای آردوینو نانو

مرحله 1: مرور کلی BH1715:

آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!

اول از همه ما می خواهیم شما را با ویژگی های اساسی ماژول سنسور BH1715 و پروتکل ارتباطی که بر روی آن کار می کند آشنا کنیم.

BH1715 یک سنسور نور محیطی دیجیتالی با رابط گذرگاه I²C است. BH1715 معمولاً برای به دست آوردن داده های نور محیط برای تنظیم قدرت نور پس زمینه LCD و صفحه کلید برای دستگاه های تلفن همراه استفاده می شود. این دستگاه دارای وضوح 16 بیتی و محدوده اندازه گیری قابل تنظیم است که امکان تشخیص از 0.23 تا 100 ، 000 لوکس را فراهم می کند.

پروتکل ارتباطی که سنسور روی آن کار می کند I2C است. I2C مخفف مدار بین یکپارچه است. این یک پروتکل ارتباطی است که در آن ارتباط از طریق خطوط SDA (داده های سریال) و SCL (ساعت سریال) انجام می شود. این امکان اتصال همزمان چندین دستگاه را فراهم می کند. این یکی از ساده ترین و کارآمدترین پروتکل های ارتباطی است.

مرحله 2: آنچه شما نیاز دارید..

آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!

مواد مورد نیاز برای تحقق هدف ما شامل اجزای سخت افزاری زیر است:

1. BH1715 - سنسور نور محیط

2. آردوینو نانو

3. کابل I2C

4. I2C Shield برای آردوینو نانو

مرحله 3: اتصال سخت افزاری:

اتصال سخت افزاری
اتصال سخت افزاری
اتصال سخت افزاری
اتصال سخت افزاری

بخش اتصال سخت افزاری اساساً اتصالات سیم کشی مورد نیاز بین سنسور و تمشک pi را توضیح می دهد. اطمینان از اتصالات صحیح ضروری ترین ضرورت در هنگام کار بر روی هر سیستم برای خروجی مورد نظر است. بنابراین ، اتصالات مورد نیاز به شرح زیر است:

BH1715 بر روی I2C کار خواهد کرد. در اینجا مثال نمودار سیم کشی است که نحوه اتصال هر رابط سنسور را نشان می دهد.

خارج از جعبه ، برد برای یک رابط I2C پیکربندی شده است ، بنابراین توصیه می کنیم در غیر این صورت آگنوستیک از این اتصال استفاده کنید. تنها چیزی که نیاز دارید چهار سیم است!

فقط چهار اتصال نیاز به پین های Vcc ، Gnd ، SCL و SDA دارد و این اتصالات با کمک کابل I2C متصل می شوند.

این اتصالات در تصاویر بالا نشان داده شده است.

مرحله 4: اندازه گیری شدت نور کد آردوینو:

کد اندازه گیری شدت نور آردوینو
کد اندازه گیری شدت نور آردوینو
کد اندازه گیری شدت نور آردوینو
کد اندازه گیری شدت نور آردوینو

بیایید اکنون با کد آردوینو شروع کنیم.

هنگام استفاده از ماژول سنسور با آردوینو ، ما کتابخانه Wire.h را شامل می شود. کتابخانه "Wire" شامل عملکردهایی است که ارتباط i2c بین سنسور و برد آردوینو را تسهیل می کند.

برای راحتی کاربر ، کل کد آردوینو در زیر آورده شده است:

#عبارتند از

// آدرس BH1715 I2C 0x23 (35) #define Addr 0x23 void setup () {// شروع ارتباط I2C به عنوان MASTER Wire.begin ()؛ // Inialialise Serial Communication ، set baud rate = 9600 Serial.begin (9600)؛ // راه اندازی I2C Transmission Wire.beginTransmission (Addr) ؛ // ارسال قدرت روی فرمان Wire.write (0x01) ؛ // توقف I2C Transmission Wire.endTransmission ()؛ // راه اندازی I2C Transmission Wire.beginTransmission (Addr) ؛ // ارسال فرمان اندازه گیری مداوم Wire.write (0x10)؛ // توقف I2C Transmission Wire.endTransmission ()؛ تأخیر (300) ؛ } void loop () {unsigned int data [2]؛ // درخواست 2 بایت داده Wire.requestFrom (Addr، 2)؛ // 2 بایت داده را بخوانید // ALS msb، ALS lsb if (Wire.available () == 2) {data [0] = Wire.read ()؛ داده [1] = Wire.read ()؛ } تأخیر (300) ؛ // تبدیل روشنایی شناور داده = ((داده [0] * 256) + داده [1]) /1.20 ؛ // خروجی داده ها به مانیتور سریال Serial.print ("روشنایی نور محیط:") ؛ Serial.print (روشنایی) ؛ Serial.println ("lux") ؛ }

قسمت زیر کد ارتباط i2c و ارتباط سریال را با استفاده از تابع Wire.begin () و Serial.begin () آغاز می کند.

// راه اندازی ارتباط I2C به عنوان MASTER

Wire.begin ()؛ // Initialise Serial Communication ، set baud rate = 9600 Serial.begin (9600)؛ // راه اندازی I2C Transmission Wire.beginTransmission (Addr) ؛ // ارسال قدرت روی فرمان Wire.write (0x01) ؛ // توقف I2C Transmission Wire.endTransmission ()؛ // راه اندازی I2C Transmission Wire.beginTransmission (Addr) ؛ // ارسال فرمان اندازه گیری مداوم Wire.write (0x10)؛ // توقف I2C Transmission Wire.endTransmission ()؛ تأخیر (300) ؛

شدت نور در قسمت زیر کد اندازه گیری می شود.

اطلاعات int بدون علامت [2] ؛

// درخواست 2 بایت داده Wire.requestFrom (Addr، 2)؛ // 2 بایت داده را بخوانید // ALS msb، ALS lsb if (Wire.available () == 2) {data [0] = Wire.read ()؛ داده [1] = Wire.read ()؛ } تأخیر (300) ؛ // تبدیل روشنایی شناور داده = ((داده [0] * 256) + داده [1]) /1.20 ؛ // خروجی داده ها به مانیتور سریال Serial.print ("روشنایی نور محیط:") ؛ Serial.print (روشنایی) ؛ Serial.println ("lux") ؛

تنها کاری که باید انجام دهید این است که کد را در arduino بسوزانید و خوانش های خود را در پورت سریال بررسی کنید. خروجی در تصویر بالا نیز برای مرجع شما نشان داده شده است.

مرحله 5: برنامه های کاربردی:

برنامه های کاربردی
برنامه های کاربردی

BH1715 یک سنسور خروجی دیجیتال نور محیط است که می تواند در تلفن همراه ، تلویزیون LCD ، NOTE PC و غیره گنجانده شود. همچنین می تواند در دستگاه بازی قابل حمل ، دوربین دیجیتال ، دوربین فیلمبرداری دیجیتال ، PDA ، صفحه نمایش LCD و بسیاری از دستگاه های دیگر مورد نیاز استفاده شود برنامه های کارآمد سنجش نور

توصیه شده: