Мазмұны:
- 1 -қадам: BH1715 шолу:
- 2 -қадам: Сізге не керек..
- 3 -қадам: Жабдықты қосу:
- 4 -қадам: Жарықтың қарқындылығын өлшеу Arduino коды:
- 5 -қадам: Өтініштер:
Бейне: BH1715 және Arduino Nano көмегімен жарық қарқындылығын есептеу: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Кеше біз LCD дисплейлерде жұмыс істедік, ал олармен жұмыс жасау кезінде біз жарық қарқындылығын есептеудің маңыздылығын түсіндік. Жарықтың қарқындылығы бұл әлемнің физикалық саласында ғана маңызды емес, сонымен қатар оның биологиялық салада жақсы айтылған рөлі бар. Жарық интенсивтілігін дәл бағалау біздің экожүйеде, өсімдіктердің өсуінде және т.б. маңызды рөл атқарады. Сондықтан осы мақсатта біз BH1715 сенсорын зерттедік, ол 16 разрядты сериялық шығыс типті сыртқы жарық сенсоры.
Бұл оқулықта біз BH1715 Arduino Nano -мен қалай жұмыс жасайтынын көрсетеміз.
Осы мақсатта сізге қажет аппараттық құралдар:
1. BH1715 - Қоршаған ортадағы жарық сенсоры
2. Arduino нано
3. I2C кабелі
4. Arduino Nano үшін I2C қалқаны
1 -қадам: BH1715 шолу:
Ең алдымен, біз сенсорлық модульдің BH1715 негізгі мүмкіндіктерімен және ол жұмыс істейтін байланыс хаттамасымен таныстырғымыз келеді.
BH1715 - бұл I²C шинасы бар интерфейсі бар цифрлық жарық сенсоры. BH1715 әдетте мобильді құрылғылар үшін СКД мен пернетақта жарығының қуатын реттеу үшін қоршаған жарық туралы мәліметтерді алу үшін қолданылады. Бұл құрылғы 16-биттік ажыратымдылықты және реттелетін өлшеу диапазонын ұсынады.23-тен 100 000 люкске дейін анықтауға мүмкіндік береді.
Сенсор жұмыс істейтін байланыс протоколы I2C болып табылады. I2C интегралды схеманы білдіреді. Бұл байланыс хаттамасы, онда байланыс SDA (сериялық деректер) және SCL (сериялық сағат) желілері арқылы жүзеге асады. Бұл бірнеше құрылғыны бір уақытта қосуға мүмкіндік береді. Бұл қарапайым және тиімді байланыс протоколдарының бірі.
2 -қадам: Сізге не керек..
Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:
1. BH1715 - Қоршаған ортадағы жарық сенсоры
2. Ардуино Нано
3. I2C кабелі
4. Arduino наноға арналған I2C қалқаны
3 -қадам: Жабдықты қосу:
Аппаратты қосу бөлімі негізінен сенсор мен таңқурай пи арасындағы қажетті сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:
BH1715 I2C режимінде жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.
Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!
Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.
Бұл байланыстар жоғарыдағы суреттерде көрсетілген.
4 -қадам: Жарықтың қарқындылығын өлшеу Arduino коды:
Енді Arduino кодынан бастайық.
Сенсорлық модульді Arduino -мен қолданған кезде біз Wire.h кітапханасын қосамыз. «Wire» кітапханасында сенсор мен Arduino тақтасы арасындағы i2c байланысын жеңілдететін функциялар бар.
Пайдаланушыға ыңғайлы болу үшін барлық Arduino коды төменде келтірілген:
#қосу
// BH1715 I2C мекенжайы - 0x23 (35) #define Addr 0x23 void setup () {// I2C байланысын MASTER Wire.begin () ретінде инициализациялау; // Serial Communication -ды инициализациялау, жіберу жылдамдығы = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write (0x01) пәрменін қосу. // I2C Transmission Wire.endTransmission тоқтату (); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write (0x10) үздіксіз өлшеу командасын жіберу; // 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 (); деректер [1] = Wire.read (); } кешіктіру (300); // деректердің өзгергіштігінің жарықтығын түрлендіру = ((деректер [0] * 256) + деректер [1]) /1.20; // Serial.print сериялы мониторға деректер шығару («Қоршаған орта жарығының жарықтығы:»); Сериялық баспа (жарықтық); Serial.println («lux»); }
Кодтың келесі бөлігі i2c байланысын және сериялық байланысты Wire.begin () және Serial.begin () функциясының көмегімен бастайды.
// I2C байланысын MASTER ретінде баптаңыз
Wire.begin (); // Serial Communication -ты инициализациялаңыз, жіберу жылдамдығы = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write (0x01) пәрменін қосу. // I2C Transmission Wire.endTransmission тоқтату (); // Start I2C Transmission Wire.beginTransmission (Addr); // Wire.write (0x10) үздіксіз өлшеу командасын жіберу; // 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 (); деректер [1] = Wire.read (); } кешіктіру (300); // деректердің өзгергіштігінің жарықтығын түрлендіру = ((деректер [0] * 256) + деректер [1]) /1.20; // Serial.print сериялы мониторға деректер шығару («Қоршаған орта жарығының жарықтығы:»); Сериялық баспа (жарықтық); Serial.println («lux»);
Сізге кодты arduino -да жазу және сериялық порттағы көрсеткіштерді тексеру жеткілікті. Шығару сілтеме үшін жоғарыдағы суретте көрсетілген.
5 -қадам: Өтініштер:
BH1715 - бұл ұялы телефонға, СКД теледидарына, ЕСКЕРТПЕ ДК -ге қосуға болатын сандық шығыс қоршаған жарық сенсоры, оны портативті ойын машинасында, сандық камерада, сандық бейнекамерада, PDA, СКД дисплейінде және басқа да көптеген құрылғыларда қолдануға болады. жарықты сезудің тиімді қосымшалары.
Ұсынылған:
Температура мен жарық қарқындылығын қалай тіркеуге болады - Proteus модельдеу - Қиындық - Liono Maker: 5 қадам
Температура мен жарық қарқындылығын қалай тіркеуге болады | Proteus модельдеу | Қиындық | Liono Maker: Сәлеметсіз бе, бұл Liono Maker, бұл менің ресми YouTube каналым. Бұл ашық YouTube Channel.here сілтемесі бар: Liono Maker YouTube Channel бейне бейне сілтемесі бар: Temp & жарық интенсивті тіркеу Бұл оқулықта біз темперамент жасауды үйренеміз
Ылғалдылық, қысым және температураны есептеу BME280 және фотон интерфейсін қолдана отырып: 6 қадам
Ылғалдылық, қысым мен температураны есептеу BME280 мен фотонды интерфейсті қолдану арқылы: Біз температураны, қысымды және ылғалдылықты бақылауды қажет ететін әр түрлі жобаларды кездестіреміз. Біз бұл параметрлер әр түрлі атмосфералық жағдайда жүйенің жұмыс тиімділігін бағалауда маңызды рөл атқаратынын түсінеміз
BH1715 және Raspberry Pi көмегімен жарық қарқындылығын өлшеу: 5 қадам
BH1715 және Raspberry Pi көмегімен жарық қарқындылығын өлшеу: Кеше біз СКД дисплейлерінде жұмыс істедік, ал олармен жұмыс істеу кезінде біз жарық қарқындылығын есептеудің маңыздылығын түсіндік. Жарықтың қарқындылығы бұл әлемнің физикалық саласында ғана маңызды емес, сонымен қатар оның биологияда жақсы айтылған рөлі бар
Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам
Arduino мен Python Arduino Master кітапханасын қолдана отырып, жарықтың қарқындылығын анықтау: Arduino үнемді, бірақ өте тиімді және функционалды құрал, оны Embedded C -де программалау жобаларды қиындатады! Python Arduino_Master модулі мұны жеңілдетеді және есептеулер жүргізуге, қоқыс мәндерін жоюға мүмкіндік береді
BH1715 және бөлшек фотонының көмегімен жарық қарқындылығын есептеу: 5 қадам
BH1715 және бөлшек фотонының көмегімен жарық қарқындылығын есептеу: Кеше біз СКД дисплейлерінде жұмыс істедік, ал олармен жұмыс жасау кезінде біз жарық қарқындылығын есептеудің маңыздылығын түсіндік. Жарықтың қарқындылығы бұл әлемнің физикалық саласында ғана маңызды емес, сонымен қатар оның биологияда жақсы айтылған рөлі бар