Мазмуну:
- 1 -кадам: BH1715 Обзор:
- 2 -кадам: Сизге эмне керек..
- 3 -кадам: Аппараттык туташуу:
- 4 -кадам: Жарык интенсивдүүлүгүн өлчөө Arduino коду:
- 5 -кадам: Тиркемелер:
Video: BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Кечээ биз 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 менен сенсор модулун колдонуп жатып, биз 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, ЖК дисплейинде жана башка көптөгөн түзмөктөрдө колдонсо болот. натыйжалуу жарык сезүү колдонмолору.
Сунушталууда:
Температураны жана жарык интенсивдүүлүгүн кантип каттоо керек - Proteus Simulation - Fritzing - Liono Maker: 5 кадам
Температураны жана жарык интенсивдүүлүгүн кантип каттоо керек | Proteus Simulation | Fritzing | Liono Maker: Саламатсызбы бул Liono Maker, бул менин расмий YouTube каналым. Бул ачык булак YouTube Channel.here шилтемеси бар: Liono Maker YouTube Channel бул жерде видео шилтеме: Temp & Жарык интенсивдүүлүгүн каттоо Бул үйрөткүчтө биз Темперди кантип жасоону үйрөнөбүз
BME280 жана Photon Interfacing колдонуу менен нымдуулук, басым жана температураны эсептөө: 6 кадам
BME280 жана Photon Interfacing аркылуу нымдуулукту, басымды жана температураны эсептөө. Биз температура, басым жана нымдуулуктун мониторингин талап кылган ар кандай долбоорлорго туш болобуз. Ошентип, биз бул параметрлер чындыгында ар кандай атмосфералык шарттарда системанын иштөө эффективдүүлүгүн баалоодо маанилүү роль ойной турганын түшүнөбүз
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 жана Particle Photon аркылуу жарык интенсивдүүлүгүн эсептөө: Кечээ биз ЖК дисплейлерде иштеп жатканбыз жана алардын үстүндө иштеп жатканда жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарык интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок анын биологияда жакшы айтылган ролу бар