Как научить Arduino управлять светом

By   06.09.2016

Сейчас на просторах китайских интернет магазинов можно найти различные системы освещения, которыми можно управлять, как с помощью пульта, так и с помощью адаптивных методов управления. Например, на www.aliexpress.com продаются лампочки, которыми можно управлять с помощью пульта. Также там продаются лампочки, которые включаются автоматически при регистрации движения или при фиксации слабой освещенности. Каждому начинающему радиолюбителю будет интересно узнать, по какому принципу работает это умное оборудование. Чтобы разобраться с этой задачей, мы подготовили материал, в котором подробно рассмотрим примеры управления светом с помощью Arduino. Проект Ардуино представляет собой платформу, на которой собираются платы, содержащие на своем борту микроконтроллер. Особенностью этих плат является то, что к ним можно подключать десятки различных компонентов, которыми можно управлять через встроенный микроконтроллер. Для нашего материала мы будем использовать такие компоненты, как ИК-приемник, датчик освещенности и PIR-датчик.

Управляем освещением при помощи ИК-пульта

В этом примере мы рассмотрим управление с помощью обычного пульта управления от телевизора. Для этого примера потребуется такое оборудование и ПО:

  • Arduino UNO — одна из разновидностей плат ардуино;
  • Блок твердотельного реле FOTEK SSR-25DA;
  • ИК-приемник TSOP1xxx;
  • Любой ИК-Пульт от телевизора;
  • Arduino IDE — программное обеспечение для загрузки микрокода в микроконтроллер Arduino;
  • Лампочка, подключаемая к сети 220 вольт.

Оборудование с ИК-пультом

Первым делом нам нужно установить Arduino IDE. Скачать официальный установщик Arduino IDE можно, перейдя по ссылке www.arduino.cc/en/Main/Software. В нашем случае мы загрузим версию для Windows. Установка достаточно проста и с ней должен справиться любой пользователь. После установки Arduino IDE приступим к непосредственной сборке схемы управления светом. Ниже изображена схема подключения всех компонентов к плате Arduino UNO.

Схема подключения с ИК-пультом

Теперь подключим наш собранный модуль управления светом к компьютеру посредством USB кабеля. Перед запуском Arduino IDE нужно установить модуль IRremote. Загрузить этот модуль можно на GitHub по ссылке https://github.com/z3t0/Arduino-Irremote/archive/master.zip. Загруженный архив нужно распаковать в папку «C:\Program Files\Arduino\libraries», где Arduino IDE хранит все библиотеки. Теперь можно запустить установленную ранее Arduino IDE. В запущенной программе нам нужно ввести код, изображенный ниже.

Код для запуска с ИК-пульта

Скачать файл этого кода для загрузки в скетч можно по ссылке sketch_1.

Этот код нужен для того, чтобы узнать код кнопки, которую передает ИК-Пульт при нажатии.

В нашем случае мы будем использовать пульт от телевизора Samsung. Ниже показано изображение используемого ИК-Пульта.

ИК-пульт

Теперь загрузим наш код в микропроцессор и откроем «Монитор порта». На самом пульте нажмем понравившуюся кнопку и посмотрим на результат в «Мониторе порта». В нашем случае высветился код 16523466. Этот код мы и будем использовать для следующего скетча. Теперь загрузим второй код программы в Arduino IDE. Скачать файл этого кода можно по ссылке sketch_2. Обратите внимание, что в 21 первой строке скетча записан код нашей кнопки. Код вашей кнопки будет совершенно другой. Загрузив этот код в микропроцессор, лампочка изначально не будет гореть. Нажав запрограммированную кнопку, мы ее включим. Отключение лампочки производится нажатием этой же кнопки.

Из примера видно, что сделать систему управления светом на базе Arduino совсем несложно. Также стоит отметить, что для этого примера вы можете использовать практически любой ИК-Пульт. Саму же сборку лучше всего поместить в отдельный блок и разместить рядом с лампочкой. Таким образом, при наведении пульта на лампочку, ее можно будет включать и отключать. Еще хотелось бы отметить, что удобней использовать схему с беспроводным Bluetooth адаптером. Такая схема намного функциональней, поскольку передает сигнал через радиоволну, а управление светом производится через смартфон. Но такая схема будет намного дороже рассмотренной из-за стоимости беспроводного Bluetooth адаптера.

Управляем освещением при помощи датчика освещенности

В этом примере наш блок управления светом будет управлять светом автоматически. Поможет ему в этом датчик освещенности, который будет передавать информацию на микроконтроллер о состоянии текущего показателя освещения. Если освещенность очень низкая, то микроконтроллер будет автоматически включать лампочку, подключенную к сети 220 вольт.  Такую систему освещения еще называют адаптивной. Для примера сборки схемы с адаптивным освещением потребуется такое оборудование и ПО:

  • Arduino UNO — одна из разновидностей плат ардуино;
  • Блок реле SRD-12VDC-SL-C;
  • Резистор на 10 кОм;
  • Фоторезистор (выступает в роли датчика освещенности);
  • Arduino IDE — программное обеспечение для загрузки микрокода в микроконтроллер Arduino;
  • Лампочка, подключаемая к сети 220 вольт.

Оборудование с адаптивным освещением

Первым делом соберем схему с помощью этих компонентов изображенную ниже.

Схема подключения с адаптивным освещением

Теперь откроем Arduino IDE и внесем в нее такой код:

Этот код не предназначен для включения нашей лампочки. С помощью этого кода мы проверим наш датчик освещенности. Поэтому загрузим этот код в Arduino UNO и откроем «Монитор порта».

Монитор порта

В «Мониторе порта» видно, что мы получаем значения с фоторезистора, а это значит, что он нормально функционирует. Теперь пришло время загрузить основной код для автоматического управления светом. Для этого вставьте этот код в Arduino IDE:

Принцип работы этого скетча основан на условном операторе, при котором выполняется условие «s2 < 700». Это условие означает, что при значении датчика меньше 700 лампочка будет включаться, а если значение больше 700, то лампочка отключится. Из примера видно, как легко можно создать адаптивную систему автоматического освещения.

Управляем освещением при помощи датчика приближения

Датчик приближения удобно использовать для сигнализации, но мы его будем использовать для автоматического включения света при сближении с каким-либо объектом. Например, если человек входит в темный угол какого-то помещения, датчик его регистрирует, и микроконтроллер включает свет в этом месте. Для этого примера потребуется такое оборудование и ПО:

  • Arduino UNO — одна из разновидностей плат ардуино;
  • PIR-датчик;
  • Блок реле SRD-12VDC-SL-C;
  • Arduino IDE — программное обеспечение для загрузки микрокода в микроконтроллер Arduino;
  • Лампочка, подключаемая к сети 220 вольт.

Оборудование с автоматическим включением

Как и в предыдущих примерах, первым делом соберем схему, представленную ниже.

Схема подключения с автоматическим включением

Теперь наберем в Arduino IDE код, представленный ниже, и загрузим его на плату:

Принцип работы этой программы детально описан в ее комментариях. Проверить работу датчика можно с помощью «Монитора порта», в котором будут выводиться сообщения «The object started moving» и «The object does not move».

Подводим итог

В этой статье мы рассмотрели три способа управления светом при помощи датчика движения, фоторезистора и ИК-приемника. Каждый из методов найдет свое применение в различных помещениях и намного упростит управление светом. Также хочется отметить, что вы можете комбинировать эти примеры. Например, можно одновременно использовать датчик приближения и ИК-приемник. Еще хотелось бы напомнить нашим читателям, что все рассмотренные примеры используют прямое подключение к сети 220 В, поэтому будьте предельно осторожны. Если у вас под рукой нет платы Arduino или она еще не дошла из Китая, то мы советуем воспользоваться бесплатным сервисом Autodesk Circuits. Этот сервис представляет собой конструктор с различными компонентами Arduino.

Все платы Arduino и компоненты в этом сервисе виртуальные.

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

Видео по теме

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *