BH1750FVI датчик: программное обеспечение
Программное обеспечение датчика BH1750FVI предоставляет основные функции для использования датчика интенсивности света BH1750FVI, который представляет собой цифровой датчик интенсивности света с двухпроводным последовательным интерфейсом шины. Этот интегральная схема может регулировать яркость жидкокристаллического дисплея или подсветки клавиатуры на основе собранных данных об интенсивности света. Благодаря высокому разрешению он способен обнаруживать большие изменения в интенсивности света (от 1 лк до 65 535 лк). В этой статье представлены основные функции программного обеспечения, включая команды тестирования Finsh/MSH. Здесь представлены две версии программного обеспечения: новая версия основана на фреймворке sensor, а последняя версия (latest) основана на этом же фреймворке. В этом документе описывается использование новой версии программного обеспечения на базе sensor. Использование старой версии (не основанной на sensor) описано здесь: [https://github.com/sanjaywu/bh1750_sensor/blob/bh1750-v1.0.0/old_readme.md](https://github.com/sanjaywu/bh1750_sensor/blob/bh1750-v1.0.0/old_readme.md «нажмите здесь, чтобы узнать больше»).
Основные функции определяются датчиком BH1750FVI: при входном напряжении от 2,4 В до 3,6 В диапазон измерения интенсивности света составляет:
Функция | Диапазон измерений |
---|---|
Интенсивность света | 1 лк — 65 535 лк |
Разрешение и время измерения BH1750FVI зависят от режима измерения, как показано ниже:
Режим измерения | Время измерения | Разрешение |
---|---|---|
H-resolution Mode2 | Типично 120 мс | 0,5 лк |
H-resolution Mode | Типично 120 мс | 1 лк |
L-resolution Mode | Типично 16 мс | 4 лк |
Название | Описание |
---|---|
bh1750.h, sensor_rohm_bh1750.h | Заголовочные файлы для датчика |
bh1750.c, sensor_rohm_bh1750.c | Исходный код для датчика |
SConscript | Стандартный скрипт сборки для RT-Thread |
README.md | Инструкция по использованию программного обеспечения |
BH1750FVI_datasheet.pdf | Официальная документация |
Программное обеспечение BH1750FVI следует лицензии Apache-2.0, см. файл LICENSE.
Зависит от RT-Thread I2C устройства драйвера.
Чтобы использовать программное обеспечение BH1750FVI, выберите его в диспетчере пакетов RT-Thread. Путь следующий:
RT-Thread online packages --->
peripheral libraries and drivers --->
sensors drivers --->
[*] bh1750 sensor driver package, support: ambient light. --->
Version (latest) --->
Для каждой функции есть следующие инструкции:
— bh1750 датчик пакет драйверов, поддержка: окружающая среда свет: выберите использование программного обеспечения BH1750FVI; — Version: настройка версии программного обеспечения, по умолчанию используется последняя версия; — Версия: v1.0.0 — старая версия (не основанная на sensor), v2.0.0 и latest — новые версии (основанные на sensor).
Затем обновите пакеты в BSP с помощью диспетчера пакетов RT-Thread или команды pkgs --update.
После получения программного обеспечения v2.0.0 или latest на основе sensor вы можете использовать API датчика bh1750 и команды Finsh/MSH для тестирования, как описано ниже.
Функция инициализации программного обеспечения BH1750FVI выглядит следующим образом:
int rt_hw_bh1750_init(const char *name, struct rt_sensor_config *cfg);
Эта функция должна быть вызвана пользователем и выполняет следующие функции:
int bh1750_port(void)
{
struct rt_sensor_config cfg;
cfg.intf.dev_name = "i2c2"; //согласно датчику, прикреплённому к I2C устройству, измените
cfg.intf.user_data = (void *)BH1750_ADDR;
cfg.irq_pin.pin = RT_PIN_NONE;
rt_hw_bh1750_init("bh1750", &cfg);
return 0;
}
INIT_APP_EXPORT(bh1750_port);
Перед использованием этого датчика необходимо выполнить инициализацию, как указано выше. После успешной инициализации будет напечатано следующее сообщение:
\ | /
- RT - Thread Operating System
/ | \ 4.0.1 build Apr 30 2019
2006 - 2019 Copyright by rt-thread team
[I/sensor] rt_sensor init success
[I/sensor.rohm.bh1750] light sensor init success
msh >
Программное обеспечение BH1750FVI предлагает множество команд тестирования, которые можно активировать на RT-Thread с включением Finsh/MSH. Эти команды полезны при разработке и отладке приложений, использующих BH1750FVI. Они позволяют точно считывать интенсивность света, измеренную датчиком.
msh >list_device
device type ref count
-------- -------------------- ----------
li_bh175 Sensor Device 1
i2c2 I2C Bus 0
uart1 Character Device 2
pin Miscellaneous Device 0
msh >
Отображение успешного подключения устройства и регистрации.
msh >sensor probe li_bh1750
[I/sensor.cmd] device id: 0xff!
msh >
msh >sensor read
[I/sensor.cmd] num: 0, light: 494.1, timestamp:2647042
[I/sensor.cmd] num: 1, light: 495.0, timestamp:2647268
[I/sensor.cmd] num: 2, light: 495.0, timestamp:2647494
[I/sensor.cmd] num: 3, light: 490.8, timestamp:2647720
[I/sensor.cmd] num: 4, light: 490.8, timestamp:2647946
msh >
Считывание данных интенсивности света в люксах.
Если используется программное обеспечение на основе sensor (версии v2.0.0 или latest), и после выполнения команды sensor read нет вывода данных интенсивности света, откройте файл components\drivers\sensors\sensor_cmd.c и добавьте код для печати интенсивности окружающего света после функции sensor_show_data:
case RT_SENSOR_CLASS_LIGHT:
LOG_I("num:%3d, light:%4d.%d, timestamp:%5d", num, sensor_data->data.light / 10, sensor_data->data.light % 10, sensor_data->timestamp);
break;
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )