Мазмуну:

Жарык интенсивдүүлүгүн эсептөө BH1715 жана бөлүкчө фотонун колдонуу: 5 кадам
Жарык интенсивдүүлүгүн эсептөө BH1715 жана бөлүкчө фотонун колдонуу: 5 кадам

Video: Жарык интенсивдүүлүгүн эсептөө BH1715 жана бөлүкчө фотонун колдонуу: 5 кадам

Video: Жарык интенсивдүүлүгүн эсептөө BH1715 жана бөлүкчө фотонун колдонуу: 5 кадам
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Ноябрь
Anonim
Image
Image

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

Бул окуу куралында биз BH1715тин Particle Photon менен иштешин көрсөтөбүз. Particle Photon - бул интернет аркылуу каалаган түзмөктү башкарууну жеңилдете турган такта.

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

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

2. Бөлүкчөлөрдүн фотону

3. I2C кабели

4. I2C Shield for Particle Photon

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

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

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

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

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

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

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

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

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

2. Бөлүкчөлөрдүн фотону

3. I2C кабели

4. I2C Shield for Particle Photon

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

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

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

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

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

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

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

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

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

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

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

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

#кошуу

#кошуу

// BH1715 I2C дареги 0x23 (35)

#define Addr 0x23

int luminance = 0;

жараксыз орнотуу ()

{

// Өзгөрмөнү коюу

Particle.variable ("i2cdevice", "BH1715");

Бөлүкчө.өзгөрмөлүү ("жаркыроо", жаркыроо);

// I2C байланышын MASTER катары баштаңыз

Wire.begin ();

// Сериялык байланышты баштоо, байдын ылдамдыгын = 9600

Serial.begin (9600);

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Күчтү буйрукка жөнөтүү

Wire.write (0x01);

// I2C берүүнү токтотуу

Wire.endTransmission ();

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Үзгүлтүксүз өлчөө буйругун жөнөтүү

Wire.write (0x10);

// I2C берүүнү токтотуу

Wire.endTransmission ();

кечигүү (300);

}

боштук цикл ()

{

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

// 2 байт маалымат сураңыз

Wire.requestFrom (Addr, 2);

// 2 байт маалыматтарды окуңуз

// ALS msb, ALS lsb

эгер (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

кечигүү (300);

// Маалыматты конвертациялоо

жаркыроо = ((маалымат [0] & 0xFF) * 256 + (маалымат [1] & 0xFF)) / 1.20;

// Маалыматтарды тактасына чыгаруу

Particle.publish ("Айланадагы жарыктын жарыгы:", Жип (жаркыроо));

}

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

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

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

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