Съдържание:
- Стъпка 1: Общ преглед на BH1715:
- Стъпка 2: Какво ви трябва..
- Стъпка 3: Свързване на хардуера:
- Стъпка 4: Измерване на интензитета на светлината Arduino код:
- Стъпка 5: Приложения:
Видео: Изчисляване на интензитета на светлината с помощта на BH1715 и Arduino Nano: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Вчера работихме върху LCD дисплеи и докато работихме над тях, осъзнахме важността на изчисляването на интензитета на светлината. Интензивността на светлината е не само важна във физическата област на този свят, но има своята добре казана роля и в биологичната област. Точната оценка на интензитета на светлината играе ключова роля в нашата екосистема, в растежа на растенията и т.н. Така че, за тази цел ние изследвахме този сензор BH1715, който е 16-битов сензор за околна светлина от сериен изход.
В този урок ще демонстрираме работата на BH1715 с Arduino Nano.
Хардуерът, който ще ви е необходим за тази цел, е следният:
1. BH1715 - Сензор за околна светлина
2. Arduino nano
3. I2C кабел
4. I2C щит за Arduino Nano
Стъпка 1: Общ преглед на BH1715:
На първо място бихме искали да ви запознаем с основните характеристики на сензорния модул BH1715 и комуникационния протокол, по който работи.
BH1715 е цифров сензор за околна светлина с интерфейс на I²C шина. BH1715 обикновено се използва за получаване на данни за околната светлина за регулиране на мощността на подсветката на LCD и клавиатурата за мобилни устройства. Това устройство предлага 16-битова резолюция и регулируем обхват на измерване, което позволява откриване от.23 до 100, 000 лукса.
Комуникационният протокол, по който работи сензорът, е I2C. I2C означава междуинтегрална схема. Това е комуникационен протокол, в който комуникацията се осъществява чрез линии SDA (серийни данни) и SCL (сериен часовник). Тя позволява свързване на няколко устройства едновременно. Това е един от най -простите и ефективни комуникационни протоколи.
Стъпка 2: Какво ви трябва..
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. BH1715 - Сензор за околна светлина
2. Arduino Nano
3. I2C кабел
4. I2C щит за Arduino nano
Стъпка 3: Свързване на хардуера:
Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и малиновото пи. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
BH1715 ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици. Всичко, от което се нуждаете, са четири проводника!
Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 4: Измерване на интензитета на светлината Arduino код:
Нека започнем с кода на Arduino сега.
Докато използваме сензорния модул с Arduino, ние включваме библиотеката Wire.h. Библиотеката "Wire" съдържа функциите, които улесняват i2c комуникацията между сензора и платката Arduino.
Целият код на Arduino е даден по -долу за удобство на потребителя:
#включва
// BH1715 I2C адресът е 0x23 (35) #define Addr 0x23 void setup () {// Инициализира 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); } void loop () {unsigned int data [2]; // Искане на 2 байта данни Wire.requestFrom (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.print (яркост); Serial.println ("lux"); }
Следващата част от кода инициира комуникацията i2c и серийната комуникация с помощта на функциите Wire.begin () и Serial.begin ().
// Инициализира 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 if (Wire.available () == 2) {data [0] = Wire.read (); данни [1] = Wire.read (); } забавяне (300); // преобразуваме яркостта на плаващите данни = ((данни [0] * 256) + данни [1]) /1,20; // Извежда данни към сериен монитор Serial.print ("Яркост на околната светлина:"); Serial.print (яркост); Serial.println ("lux");
Всичко, което трябва да направите, е да запишете кода в arduino и да проверите показанията си на сериен порт. Изходът е показан на горната снимка също за ваша справка.
Стъпка 5: Приложения:
BH1715 е сензор за околна светлина с цифров изход, който може да бъде вграден в мобилен телефон, LCD телевизор, компютър с бележки и др. Може да се използва и в преносима игрална машина, цифров фотоапарат, цифрова видеокамера, PDA, LCD дисплей и много други устройства, които изискват ефективни приложения за откриване на светлина.
Препоръчано:
Изчисляване на влажност, налягане и температура с помощта на BME280 и фотонен интерфейс .: 6 стъпки
Изчисляване на влажност, налягане и температура с помощта на BME280 и фотонен интерфейс. Срещаме различни проекти, които изискват мониторинг на температурата, налягането и влажността. Така осъзнаваме, че тези параметри всъщност играят жизненоважна роля за оценката на работната ефективност на системата при различни атмосферни условия
Измерване на интензитета на светлината с помощта на BH1715 и Raspberry Pi: 5 стъпки
Измерване на интензитета на светлината с помощта на BH1715 и Raspberry Pi: Вчера работихме върху LCD дисплеи и докато работихме над тях, осъзнахме важността на изчисляването на интензитета на светлината. Интензитетът на светлината е не само важен във физическата сфера на този свят, но има своята добре казана роля в биологията
Начертаване на интензитета на светлината с помощта на Arduino и основната библиотека на Arduino на Python: 5 стъпки
Начертаване на интензитета на светлината с помощта на Arduino и основната библиотека Arduino на Python: Arduino е икономичен, но високоефективен и функционален инструмент, програмирането му във Embedded C прави процеса на създаване на проекти досаден! Модулът Arduino_Master на Python опростява това и ни позволява да извършваме изчисления, да премахваме стойностите на боклука
Изчисляване на интензитета на светлината с помощта на BH1715 и фотон от частици: 5 стъпки
Изчисляване на интензитета на светлината с помощта на BH1715 и частичен фотон: Вчера работихме върху LCD дисплеи и докато работихме над тях, осъзнахме важността на изчисляването на интензитета на светлината. Интензитетът на светлината е не само важен във физическата сфера на този свят, но има своята добре казана роля в биологията
Измервател на интензитета на светлината без програмиране .: 7 стъпки (със снимки)
Измервател на интензитета на светлината без програмиране .: Тази инструкция е свързана с направата на основен измервател на интензитета на светлината, без да се използва Arduino или друг микроконтролер или програмиране. Измервателят на интензитета на светлината показва различни нива на интензивност на светлината с различни цветове на светодиодите. Червеният светодиод