Деревенский домик

Задача

Разработать схему и программу для управления светом внутри макетов деревенских домиков для театрального спектакля.

Количество домиков - пять, питание автономное, желтый свет внутри макета имитирует мерцание свечи или лучины. Включение освещения каждого домика - кнопкой, установленной на крыше, или при помощи инфракрасного пульта дистанционного управления.

Каждый из домиков управляется независимо от других.

Техническое решение

В качестве управляющего устройства выбран микроконтроллерный блок Arduino Duemilanove с процессором Atmega 368.

В качестве источника света используется отрезок двенадцативольтовой светодиодной ленты желтого цвета. Светодиоды ленты управляются одним из каналов микропроцессора с широтно-импульсной модуляцией через транзисторный ключ.
увеличить

Принципиальная схема

Микроконтроллер Arduino в режиме широтно-импульсной модуляции (PWM) подключен к мощному транзистору в ключевом режиме. Ключ управляет яркостью двенадцативольтовой светодиодной ленты (60 LED/м), имитируя колеблющийся свет свечи или лучины.

Для питания устройства использованы Ni-Cd аккумуляторы 2700 ма/час х 1.2 вольт (8 штук последовательно). Напряжение питания светодиодной ленты ниже номинальных 12 вольт, однако яркость свечения светодиодов уменьшается незначительно.

Пониженное напряжение питания устройства позволяет питать микропроцессорный блок управления и светодиодную ленту от одного источника (+10V) без применения дополнительного стабилизатора. Кроме того, это увеличивает срок службы светодиодов.

Ключевой каскад собран на транзисторе TIP122. Небольшая рассеиваемая мощность транзистора позволяет обойтись без радиатора. Если длина светодиодной ленты будет больше метра (а при плотности 120 LED/м больше 0.5 м), транзистор следует установить на радиатор.

Конструкция

Аккумуляторы и блок управления с ключевым каскадом размещены внутри домика. Кнопка включения света и инфракрасный датчик установлены на верхней части крыши макета.

Светодиодная лента закреплена в центре домика на пластиковой трубе, служащей центральным стержнем макета.

Правильно собранное устройство не требует настройки.

Алгоритм работы и программа для Arduino

После включения питания устройства программа начинает непрерывно опрашивать состояние фотодатчика, и при получении кода управления дешифрует его.

Кодов включения домиков - пять (по одному на каждый из домиков) с возможностью расширения до 10 и более. Повторное нажатие на кнопку пульта ДУ приводит к выключению соответствующего домика. Кроме того, предусмотрен код включения (клавиша "вверх") и выключения (клавиши "вниз" и "ОК") всех домиков одновременно.

Если полученный код совпадает с кодом включения домика, программа переходит в режим генерации случайных значений изменения яркости (от -5 до +5).

Эти значения суммируются с текущим значением яркости, но при этом уровень яркости ограничен максимальным (64) и минимальным (32) значением. Такое изменение яркости светодиодов приблизительно соответствует колебаниям яркости настоящей свечи или лучины.

Уровни яркости задаются при помощи широтно-импульсной модуляции. Преобразование яркость - код модуляции (PWM) реализуется программно и имеет логарифмическую зависимость (64 ступени), приблизительно соответствующую кривой яркости светодиодной ленты. Программа логарифмического преобразования взята из книги Arduino Phisical Computing fur Bustler, Designer & Geeks (Manuel Odendahl, Julian Finn, Alex Wengler)

Для работы программы потребуется установка в папку "library" IDE-оболочки для Arduino дополнительной библиотеки IRRemote.

Скачать программу для Arduino - house.ino

PostScriptum
Для более натуральной имитации света свечи можно использовать три канала управления в каждом домике - два для желтого цвета и один для красного. В этом случае случайные величины приращения яркости и временной задержки переключения рассчитываются для каждого канала.

Ссылки по теме