Мазмуну:

BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: 5 кадам
BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: 5 кадам

Video: BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: 5 кадам

Video: BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: 5 кадам
Video: Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial 2024, Июль
Anonim
Image
Image

Кечээ биз LCD дисплейлердин үстүндө иштеп жатканбыз жана алардын үстүндө иштеп жатып, биз жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарыктын интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок биологиялык чөйрөдө анын жакшы айтылган ролу бар. Жарыктын интенсивдүүлүгүн так баалоо экосистемабызда, өсүмдүктөрдүн өсүшүндө ж.

Бул окуу куралында биз BH1715тин Arduino Nano менен иштешин көрсөтөбүз.

Бул үчүн сизге керектүү болгон жабдыктар төмөндөгүдөй:

1. BH1715 - Айланадагы жарык сенсору

2. Arduino nano

3. I2C кабели

4. Arduino Nano үчүн I2C Shield

1 -кадам: BH1715 Обзор:

Сизге эмне керек.. !!
Сизге эмне керек.. !!

Биринчиден, биз сизди BH1715 сенсор модулунун негизги өзгөчөлүктөрү жана ал иштеген байланыш протоколу менен тааныштыргыбыз келет.

BH1715 - I²C автобус интерфейси бар санариптик жарык сенсору. BH1715, адатта, мобилдик түзмөктөр үчүн ЖК жана Баскычтоптун арткы жарык кубатын тууралоо үчүн айланадагы жарык маалыматтарды алуу үчүн колдонулат. Бул түзмөк 16-биттик чечимди жана жөнгө салынуучу өлчөө диапазонун сунуштайт.23төн 100гө чейин люкс.

Сенсор иштеген байланыш протоколу I2C. I2C интегралдык схеманы билдирет. Бул байланыш протоколу, анда байланыш SDA (сериялык маалыматтар) жана SCL (сериялык саат) линиялары аркылуу ишке ашат. Бул бир эле учурда бир нече түзмөктү туташтырууга мүмкүндүк берет. Бул эң жөнөкөй жана эффективдүү байланыш протоколунун бири.

2 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!

Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:

1. BH1715 - Айланадагы жарык сенсору

2. Ардуино Нано

3. I2C кабели

4. Arduino нано үчүн I2C Shield

3 -кадам: Аппараттык туташуу:

Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу

Аппараттык туташуу бөлүмү негизинен сенсор менен малина пи ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:

BH1715 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.

Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!

Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.

Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.

4 -кадам: Жарык интенсивдүүлүгүн өлчөө Arduino коду:

Жарык интенсивдүүлүгүн өлчөө Arduino коду
Жарык интенсивдүүлүгүн өлчөө Arduino коду
Жарык интенсивдүүлүгүн өлчөө Arduino коду
Жарык интенсивдүүлүгүн өлчөө Arduino коду

Эми Arduino коду менен баштайлы.

Arduino менен сенсор модулун колдонуп жатып, биз Wire.h китепканасын кошобуз. "Wire" китепканасы сенсор менен Arduino тактасынын ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.

Колдонуучунун ыңгайлуулугу үчүн бүт Arduino коду төмөндө келтирилген:

#кошуу

// BH1715 I2C дареги 0x23 (35) #define Addr 0x23 void setup () {// I2C байланышын MASTER Wire.begin () катары баштоо; // Serial Communicationти баштоо, baud rate = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write (0x01) буйругу боюнча кубатты жөнөтүү; // Stop I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write үзгүлтүксүз өлчөө буйругун жөнөтүү (0x10); // Stop I2C Transmission Wire.endTransmission (); кечигүү (300); } void loop () {unsigned int data [2]; // Wire.requestFrom маалыматынын 2 байтын сурануу (Addr, 2); // 2 байт маалымат окуу // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [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 (); // Serial Communicationти баштоо, baud rate = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write (0x01) буйругу боюнча кубатты жөнөтүү; // Stop I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write үзгүлтүксүз өлчөө буйругун жөнөтүү (0x10); // Stop I2C Transmission Wire.endTransmission (); кечигүү (300);

Жарыктын интенсивдүүлүгү коддун кийинки бөлүмүндө өлчөнөт.

кол коюлбаган int маалыматтары [2];

// Wire.requestFrom маалыматынын 2 байтын сурануу (Addr, 2); // 2 байт маалымат окуу // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } кечигүү (300); // маалыматтарды калкып чыгаруунун жарыктыгы = ((маалымат [0] * 256) + маалымат [1]) /1.20; // Сериалдык мониторго чыгаруу маалыматы Serial.print ("Айланадагы жарыктын жарыгы:"); Serial.print (жаркыроо); Serial.println ("lux");

Болгону, кодду arduinoдо өрттөп, сериялык порттогу окууңузду текшериңиз. Чыгаруу жогорудагы сүрөттө сиздин маалымдама үчүн дагы көрсөтүлгөн.

5 -кадам: Тиркемелер:

Колдонмолор
Колдонмолор

BH1715 - бул санариптик чыгуучу тышкы жарык сенсору, аны уюлдук телефонго, ЖК ТВга, ЭСКЕРТҮҮ ПК ж.б. киргизүүгө болот, ошондой эле Портативдик оюн машинасында, Санарип камерада, Санарип видеокамерада, PDA, ЖК дисплейинде жана башка көптөгөн түзмөктөрдө колдонсо болот. натыйжалуу жарык сезүү колдонмолору.

Сунушталууда: