Мазмұны:

BH1715 және Raspberry Pi көмегімен жарық қарқындылығын өлшеу: 5 қадам
BH1715 және Raspberry Pi көмегімен жарық қарқындылығын өлшеу: 5 қадам

Бейне: BH1715 және Raspberry Pi көмегімен жарық қарқындылығын өлшеу: 5 қадам

Бейне: BH1715 және Raspberry Pi көмегімен жарық қарқындылығын өлшеу: 5 қадам
Бейне: Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial 2024, Қыркүйек
Anonim
Image
Image

Кеше біз LCD дисплейлерде жұмыс істедік, ал олармен жұмыс жасау кезінде біз жарық қарқындылығын есептеудің маңыздылығын түсіндік. Жарықтың қарқындылығы бұл әлемнің физикалық саласында ғана маңызды емес, сонымен қатар оның биологиялық салада жақсы айтылған рөлі бар. Жарық интенсивтілігін дәл бағалау біздің экожүйеде, өсімдіктердің өсуінде және т.б. маңызды рөл атқарады. Сондықтан осы мақсатта біз BH1715 сенсорын зерттедік, ол 16 разрядты сериялық шығыс типті сыртқы жарық сенсоры.

Бұл оқулықта біз BH1715 -тің Raspberry pi -мен жұмыс жасауын, Java -ны бағдарламалау тілі ретінде көрсететін боламыз.

Бұл үшін сізге қажет жабдықтар келесідей:

1. BH1715 - Қоршаған ортадағы жарық сенсоры

2. Raspberryy Pi

3. I2C кабелі

4. Raspberry Pi үшін I2C қалқаны

5. Ethernet кабелі

1 -қадам: BH1715 шолу:

Сізге не керек.. !!
Сізге не керек.. !!

Ең алдымен, біз сенсорлық модульдің BH1715 негізгі мүмкіндіктерімен және ол жұмыс істейтін байланыс хаттамасымен таныстырғымыз келеді.

BH1715 - бұл I²C шинасы бар интерфейсі бар цифрлық жарық сенсоры. BH1715 әдетте мобильді құрылғылар үшін СКД мен пернетақта жарығының қуатын реттеу үшін қоршаған жарық туралы мәліметтерді алу үшін қолданылады. Бұл құрылғы 16-биттік ажыратымдылықты және реттелетін өлшеу диапазонын ұсынады.23-тен 100 000 люкске дейін анықтауға мүмкіндік береді.

Сенсор жұмыс істейтін байланыс протоколы I2C болып табылады. I2C интегралды схеманы білдіреді. Бұл байланыс хаттамасы, онда байланыс SDA (сериялық деректер) және SCL (сериялық сағат) желілері арқылы жүзеге асады. Бұл бірнеше құрылғыны бір уақытта қосуға мүмкіндік береді. Бұл қарапайым және тиімді байланыс протоколдарының бірі.

2 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!
Сізге не керек.. !!
Сізге не керек.. !!
Сізге не керек.. !!
Сізге не керек.. !!

Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:

1. BH1715 - Қоршаған ортадағы жарық сенсоры

2. Raspberry Pi

3. I2C кабелі

4. Raspberry Pi үшін I2C қалқаны

5. Ethernet кабелі

3 -қадам: Жабдықты қосу:

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Аппаратты қосу бөлімі негізінен сенсор мен таңқурай пи арасындағы қажетті сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:

BH1715 I2C режимінде жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.

Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!

Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.

Бұл байланыстар жоғарыдағы суреттерде көрсетілген.

4 -қадам: Java кодын қолдана отырып, жарық қарқындылығын өлшеу:

Java кодының көмегімен жарық қарқындылығын өлшеу
Java кодының көмегімен жарық қарқындылығын өлшеу
Java кодының көмегімен жарық қарқындылығын өлшеу
Java кодының көмегімен жарық қарқындылығын өлшеу

Таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз мұнда Java тілінде бағдарламалауды көрсетеміз. BH1715 Java кодын біздің GitHub қауымдастығынан жүктеуге болады, бұл Dcube Store.

Пайдаланушыларға ыңғайлы болу үшін біз кодты осында түсіндіреміз:

Кодтаудың бірінші қадамы ретінде сіз java жағдайында pi4j кітапханасын жүктеуіңіз керек, себебі бұл кітапхана кодта қолданылатын функцияларды қолдайды. Сонымен, кітапхананы жүктеу үшін келесі сілтемеге кіруге болады:

pi4j.com/install.html

Сіз осы сенсордың жұмыс істейтін java кодын мына жерден көшіре аласыз:

// Ерікті лицензиямен таратылды.

// Оны қалаған жолмен пайдаланыңыз немесе тегін, егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе.

// BH1715

// Бұл код ControlEverything.com сайтынан қол жетімді BH1715_I2CS I2C шағын модулімен жұмыс істеуге арналған.

//

com.pi4j.io.i2c. I2CBus импорттау;

com.pi4j.io.i2c. I2CDevice импорттау;

com.pi4j.io.i2c. I2CFactory импорттау;

java.io. IOException импорттау;

BH1715 қоғамдық класы

{

public static void main (String args ) Ерекшеліктерді шығарады

{

// I2C шинасын жасаңыз

I2CBus шинасы = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C құрылғысын алыңыз, BH1715 I2C мекенжайы 0x23 (35)

I2CDevice құрылғысы = bus.getDevice (0x23);

// Қуатты қосу пәрменін жіберіңіз

device.write ((байт) 0x01);

// Үздіксіз өлшеу командасын жіберу

device.write ((байт) 0x10);

Thread.sleep (500);

// 2 байт деректерді оқу

// жарықтық msb, жарықтық lsb

байт деректер = жаңа байт [2];

device.read (деректер, 0, 2);

// Деректерді түрлендіру

қос жарықтық = ((деректер [0] & 0xFF) * 256 + (деректер [1] & 0xFF)) / 1.20;

// Деректерді экранға шығару

System.out.printf («Қоршаған орта жарығының жарықтығы: %.2f люкс %n», жарықтық);

}

}

Сенсор мен тақта арасындағы i2c байланысын жеңілдететін кітапхана pi4j, оның әр түрлі пакеттері I2CBus, I2CDevice және I2CFactory байланыс орнатуға көмектеседі.

com.pi4j.io.i2c. I2CBus импорттау; com.pi4j.io.i2c. I2CD құрылғыны импорттау; com.pi4j.io.i2c. I2CFactory импорттау; java.io. IOException импорттау;

Кодтың бұл бөлігі сенсорды write () функциясының көмегімен тиісті пәрмендерді жазу арқылы жарық қарқындылығын өлшеуге мүмкіндік береді, содан кейін деректер read () функциясы арқылы оқылады.

device.write ((байт) 0x01); // қуат қосу пәрмені

device.write ((байт) 0x10); // үздіксіз өлшеу командасы

байт деректер = жаңа байт [2]; // 2 байт деректерді оқу

device.read (деректер, 0, 2);

Сенсордан алынған мәліметтер келесі жолмен сәйкес форматқа түрлендіріледі:

қос жарықтық = ((деректер [0] & 0xFF) * 256 + (деректер [1] & 0xFF)) / 1.20;

Шығару System.out.println () функциясы арқылы келесі форматта басып шығарылады.

System.out.printf («Қоршаған орта жарығының жарықтығы: %.2f люкс %n», жарықтық);

Сенсордың шығысы жоғарыдағы суретте көрсетілген.

5 -қадам: Өтініштер:

Қолданбалар
Қолданбалар

BH1715 - бұл ұялы телефонға, СКД теледидарына, ЕСКЕРТПЕ ДК -ге қосуға болатын сандық шығыс қоршаған жарық сенсоры, оны портативті ойын машинасында, сандық камерада, сандық бейнекамерада, PDA, СКД дисплейінде және басқа да көптеген құрылғыларда қолдануға болады. жарықты сезудің тиімді қосымшалары.

Ұсынылған: