1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/RT-Thread-Mirror-bh1750_sensor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

BH1750FVI датчик: программное обеспечение

1. Введение

Программное обеспечение датчика 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 лк

1.1 Структура каталога

Название Описание
bh1750.h, sensor_rohm_bh1750.h Заголовочные файлы для датчика
bh1750.c, sensor_rohm_bh1750.c Исходный код для датчика
SConscript Стандартный скрипт сборки для RT-Thread
README.md Инструкция по использованию программного обеспечения
BH1750FVI_datasheet.pdf Официальная документация

1.2 Лицензия

Программное обеспечение BH1750FVI следует лицензии Apache-2.0, см. файл LICENSE.

1.3 Зависимости

Зависит от RT-Thread I2C устройства драйвера.

2. Получение программного обеспечения

Чтобы использовать программное обеспечение 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.

3. Использование программного обеспечения на основе sensor

После получения программного обеспечения v2.0.0 или latest на основе sensor вы можете использовать API датчика bh1750 и команды Finsh/MSH для тестирования, как описано ниже.

3.1 API

Функция инициализации программного обеспечения BH1750FVI выглядит следующим образом:

int rt_hw_bh1750_init(const char *name, struct rt_sensor_config *cfg);

Эта функция должна быть вызвана пользователем и выполняет следующие функции:

  • Настройка и инициализация устройства (на основе предоставленной конфигурации);
  • Регистрация соответствующего устройства датчика и завершение регистрации bh1750;

3.2 Пример инициализации

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 >

3.3 Команды Finsh/MSH тестирования

Программное обеспечение BH1750FVI предлагает множество команд тестирования, которые можно активировать на RT-Thread с включением Finsh/MSH. Эти команды полезны при разработке и отладке приложений, использующих BH1750FVI. Они позволяют точно считывать интенсивность света, измеренную датчиком.

3.3.1 Ввод list_device
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 >

Отображение успешного подключения устройства и регистрации.

3.3.2 Ввод sensor probe li_bh1750
msh >sensor probe li_bh1750
[I/sensor.cmd] device id: 0xff!
msh >
3.3.3 Ввод sensor read
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 >

Считывание данных интенсивности света в люксах.

4. Замечания

Если используется программное обеспечение на основе 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;

5. Контакты

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сенсорный пакет драйверов для BH1750FVI. Развернуть Свернуть
C и 2 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/RT-Thread-Mirror-bh1750_sensor.git
git@api.gitlife.ru:oschina-mirror/RT-Thread-Mirror-bh1750_sensor.git
oschina-mirror
RT-Thread-Mirror-bh1750_sensor
RT-Thread-Mirror-bh1750_sensor
bh1750-v1.0.0