Меню

Arduino подключение датчика света



Датчик освещённости (Troyka-модуль)

Для измерения уровня освещённости окружающей среды воспользуемся простым аналоговым датчиком освещённости на основе фоторезистора.

Подключения и настройка

Датчик общается с управляющей электроникой по трём проводам. На выходе сенсора — аналоговый сигнал, который сообщает микроконтроллеру о текущем уровне освещённости.

При подключении к Arduino или Iskra JS удобно использовать Troyka Shield.

С Troyka Slot Shield можно обойтись без лишних проводов.

Примеры использования

Программа для Arduino

Выведем значение освещённости в Serial-порт используя библиотеку TroykaLight.

Программа для IskraJS

Выведем в Serial порт значения освещённости используя четыре разные формы представления данных. Применим модульlight-sensor для Iskra JS.

Элементы платы

Фоторезистор GL5528

Фоторезистор представляет из себя полупроводниковый радиоэлемент, который меняет свое сопротивление в зависимости от освещения. Фоторезистор GL5528 предназначен для регистрации видимого света с высоким порогом чувствительности.

Контакты подключения трёхпроводного шлейфа

Модуль подключается к управляющей электронике по трём проводам. Назначение контактов трёхпроводного шлейфа:

Источник

Датчик интенсивности света GY-302 (BH1750)

Товары

Измерение освещенности является важным параметром при создании приложений домашней автоматики и Интернета вещей. Освещенность измеряют в люксах (lx). Люкс равен освещённости поверхности площадью 1 м2 при световом потоке падающего на неё излучения, равном 1 лм.

  • Обзор
  • Технические характеристики модуля
  • Подключение
  • Пример использования
  • Часто задаваемые вопросы FAQ

Измерение освещенности является важным параметром при создании приложений домашней автоматики и Интернета вещей. Освещенность измеряют в люксах (lx). Люкс равен освещённости поверхности площадью 1 м2 при световом потоке падающего на неё излучения, равном 1 лм. Самым распространенным датчиком измерения освещенности у любителей Arduino является фоторезистор аналоговый датчик, меняющий свое сопротивление в зависимости от интенсивности света, однако точность его невысока и значение от выдает не в люксах. В отличие от него, модуль GY302 на базе чипа BH1750 (рисунок 1), представляет собой высокоточный цифровой датчик интенсивности света, выдающий значение как раз в люксах.

Рисунок 1. Модуль GY-302 на базе чипа BH1750

Технические характеристики GY-302 (BH1750)

  • Напряжение питания — 5 В;
  • Интерфейс: I2C;
  • Чип: BH1750FVI;
  • АЦП: 16 бит;
  • Точность: 1 люкс;
  • Чувствительность: 65536 градаций;
  • Калибровка: не требуется;
  • Размеры: 19 х 13 х 2 мм;
  • Вес: 5 г.

Подключение к Arduino

Рисунок 2. Выводы модуля GY-302

Разберемся с возможными адресами датчика BH1750. Есть два варианта подключения датчика BH1750 к шине I2C (рис. 3).

Рисунок 3. Подключение датчика BH1750 к Arduino

Для получения адресов загрузим на Arduino скетч из листинга 1 (сканирование устройств, которые подключены к плате Arduino по шине I2C).

Листинг 1 Скетч сканирует шину I2C и выводит в последовательный порт Arduino таблицу с адресами подключенных устройств (рисунок 4).

Читайте также:  Как думаете завтра будет конец света

Рисунок 4. Сканер I2C устройств

Как видим, модуль BH1750 может иметь, в зависимости от уровня сигнала на входе ADDR два адреса (0x23 и 0x5C). Это значит, что к одной плате Arduino можно подсоединить одновременно два датчика BH1750.

Пример использования

Рассмотрим пример подключения датчика BH1750 к плате Arduino и вывода показаний на экран дисплея Nokia 5110. Нам понадобятся следующие детали:

  • плата Arduino Uno
  • датчик BH1750
  • дисплей Nokia 5110
  • макетная плата
  • провода

Соберем схему соединений согласно рис. 5.

Рисунок 5. Схема подсоединения к Arduino датчика BH1750 и дисплея Nokia 5110

Для работы с Arduino написано несколько библиотек. Будем использовать одну из них – BH1750FVI ( https://github.com/enjoyneering/BH1750FVI ). Данная библиотека поддерживает все режимы датчика BH1750, позволяет производить измерения освещенности с несколькими параметрами чувствительности (0.45 – 3.68) и разрешающей способности (0.5 – 4 lx), а также в режиме энергосбережения. К библиотеке прилагается пример (BH1750FVI_Demo) вывода в последовательный порт Arduino данных с датчика BH1750 при различных режимах измерения (см. рис. 6).

Рисунок 6. Пример вывода данных с датчика BH1750 в последовательный порт Arduino при различных режимах измерения

Текущие значения освещенности будем выводить на дисплей Nokia 5110. Нам понадобятся Arduino библиотеки Adafruit_GFX и Adafruit_PCD8544. Данные с датчика BH1750 будем получать со следующими настройками:

  • чувствительность;
  • точность 0.5 lx.

Периодичность измерения 5 секунд. Создадим в Arduino IDE новый скетч, занесем в него код из листинга 2 и загрузим скетч на на плату Arduino.

Листинг 2 Вывод данных в монитор последовательного порта Arduino (рис. 7).

Рисунок 7. Вывод данных с датчика BH1750 в монитор последовательного порта.

Часто задаваемые вопросы

1. Сканер I2C устройств не находит датчика BH1750 или нет данных с датчика

  • Проверьте правильность подключения датчика BH1750 к плате Arduino.

2. Данные не выводятся на экран дисплеяNokia 5110

  • Проверьте правильность подключения дисплея Nokia 5110 к плате Arduino.

Источник

#28. Подключение модуля освещенности к Arduino.

В данном Arduino уроке подключим модуль освещённости к Arduino, и научимся настраивать датчик для работы при различной освещённости. В основе датчика лежит светочувствительный полупроводниковый прибор – фоторезистор. Что такое фоторезистор, и как его можно подключить к Arduino, рассматривали в предыдущем уроке: «Подключение фоторезистора к Arduino». В чем преимущество модуля освещённости, и как его использовать в Arduino проектах, рассмотрим в данном уроке.

Два вида моделей освещённости.

При покупке модуля освещённости, нужно определиться с вашей задачей. Что вы планируете собрать, и как должен работать модуль освещённости. Это связано с тем, что модули освещённости бывают разные. На фото ниже приведены 2 модуля освещённости.

Читайте также:  Как подсоединить датчик света через выключатель

Аналоговый модуль освещённости KY-018.

Arduino модуль освещённости KY-018 черного цвета. Этот модуль состоит из фоторезистора и линейного резистора 10 кОм. Сопротивление фоторезистора будет уменьшаться при наличии света, и увеличиваться при его отсутствии. Выход аналоговый, и он определяет интенсивность света.

Схема подключения модуля освещённости KY-018 к Arduino.

На модуль подается питание 5 Вольт, а в зависимости от освещенности в помещении, на выходе модуля (S) меняется напряжение от 0 до 5 Вольт. При подаче этого сигнала на аналоговый вход микроконтроллера, Arduino преобразует сигнал, при помощи АЦП, в диапазоне значений от 0 до 1023.

Скетч для модуля освещённости KY-018.

Так как у датчика выход аналоговый, как и у фоторезистора, код можно взять из предыдущего урока без изменения. Например, скетч Светильника с автоматическим включением.

Цифровой датчик освещённости на LM393.

Модуль синего цвета устроен по-другому, и подключается уже к цифровому пину Arduino, и на выходе формирует логическую единицу, либо логический ноль. Давайте рассмотрим данный модуль и поговорим подробнее.

Модуль освещенности на LM393.

Модуль освещенности на LM393 используется для измерения интенсивности света в различных устройствах, таких как: автоматизация света (включение света ночью), в роботах (определение дня или ночи) и приборах, контролирующих уровень освещенности. Измерение осуществляется с помощью светочувствительного элемента (фоторезистора), который меняет сопротивление в зависимости от освещенности.

Технические параметры

  • Напряжение питания: 3.3 В. — 5.5 В.
  • Потребляемый ток: 10 мА.
  • Цифровой выход: TTL (лог 1 или лог 0)
  • Аналоговый выход: 0 В. … Vcc
  • Диаметр монтажного отверстия: 2.5 мм.
  • Выходной ток: 15 мА.
  • Габариты: 42мм. х 15мм. х 8мм.

Общие сведения датчик освещённости на LM393.

Существуют два модуля на базе LM393, их визуальное отличие только в количестве выводов (3 pin и 4 pin), дополнительный вывод добавлен для снятия прямых показаний с фоторезистора (аналоговый выход), по аналогии работы модуля KY-018. Рассмотрим четырех контактный вариант модуля. У этих двух модулей измерение осуществляется с помощью фоторезистора, который изменяет напряжение в цепи, в зависимости от количества света, попадающего на него. Чтобы представить, как свет будет влиять на фоторезистор, приведу краткую таблицу.

Модуль освещенности с четырьмя выводами содержит два выходных контакта, аналоговый и цифровой, и два контакта для подключения питания. Для считывания аналогово сигнала предусмотрен отдельный вывод «AO», с которого можно считать показания напряжения с 0 В … 3.3 В или 5 В, в зависимости от используемого источника питания. Цифровой вывод DO, устанавливается в лог «0» или лог «1», в зависимости от яркости, чувствительность выхода можно регулировать с помощью поворотного потенциометра. Выходной ток цифрового выхода способен выдать более 15 мА, что очень упрощает использование модуля, и дает возможность использовать его, минуя контроллер Arduino, и подключая его напрямую к входу одноканального реле, или одному из входов двухканального реле. Принципиальная схема модуля освещенности на LM393 с 3 pin и 4 pin, показана ниже.

Читайте также:  Как заменить блок управления светом калина

Принципиальная схема модуля освещенности на LM393 с 4 pin.

Принципиальная схема модуля освещенности на LM393 с 3 pin.

Теперь, как же работает схема. Фоторезистор показан Foto (IN). Основная микросхема модуля — это компаратор LM393 (U1), который производит сравнение уровней напряжения на входах INA- и INA+. Чувствительность порога срабатывания задается с помощью потенциометра R2, и, в результате сравнений, на выходе D0, микросхемы U1, формируется лог «0», или лог «2», который поступает на контакт D0 разъема J1.

Назначение J1 (в исполнении 4 pin)

  • VCC — «+» питание модуля
  • GND — «-» питание модуля
  • D0 — цифровой выход
  • A0 -аналоговый выход

Назначение J1 (в исполнении 3 pin)

  • VCC — «+» питание модуля
  • GND — «-» питание модуля
  • D0 — цифровой выход

Подключение модуля освещенности к Arduino UNO.

Подключение модуля освещенности к Arduino NANO

  • Arduino UNO или Arduino NANO
  • Модуль освещенности, LM393
  • Провод DuPont, 2,54 мм.
  • Кабель USB 2.0

Подключение:

В данном примере буду использовать модуль освещенности LM393, 3 pin, и Arduino UNO, все данные будут передаваться в «Мониторинг порта». Схема не сложная, необходимо всего три провода, сначала подключаем D0 к 2 цифровому пину Arduino, осталось подключить питание GND к GND и VCC к 5V (можно запитать и от 3.3В), схема собрана, теперь надо подготовить программную часть.

Запускаем среду разработки и загружаем данный скетч, затем открываем мониторинг порта.

В мониторе порта можно увидеть, когда модуль освещенности срабатывает и отключается. При регулировке потенциометра на модуле можно настроить порог чувствительности срабатывания датчика.

Как видим, датчиков освещенности для Arduino проектов существует несколько. Возможно, это еще не все модификации. Поэтому, как и говорил в начале урока, необходимо определиться с вашей задачей, а уже после выбирать модуль освещенности.

В этом уроке мы рассмотрели, как подключить модуля освещенности к Arduino , в предыдущем уроке мы подключили фоторезистор к Arduino.

Появились вопросы или предложения, не стесняйся, пиши в комментарии!

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке.

Понравилась статья? Поделитесь ею с друзьями:

Источник