Автоматический свет на лестнице с помощью микроконтроллера AVR ATmega32

Общеизвестно, что достаточно большие потери электроэнергии в домах и офисных зданиях часто происходят на лестницах (лестничных пролетах). Утром, когда мы спешим на работу, мы включаем свет на лестнице и забываем его выключить – в результате он бесполезно горит продолжительное время. В этой статье мы рассмотрим схему на микроконтроллере ATmega32, работающую от батарейки, которая будет включать свет на лестнице только когда на ней кто-нибудь находится, что позволит существенно экономить электроэнергию.

Автоматический свет на лестнице с помощью микроконтроллера AVR ATmega32: внешний вид устройстваОбщие принципы работы устройства

Схема работает при двух условиях – когда нет света (темно) в месте нахождения устройства и когда на лестнице присутствует человек. При выполнении этих двух условий микроконтроллер включает свет на лестнице. Эти два условия проверяются с помощью двух сенсоров – в качестве одного из них выступает фоторезистор, а в качестве второго – пассивный инфракрасный детектор движения. Фоторезистор определяет наличие света, а детектор движения – присутствие человека в радиусе его действия.

На представленном ниже рисунке слева представлен пример фоторезисторов, а справа – пример инфракрасного детектора движения. Детектор движения состоит из чувствительного инфракрасного приемника, который обнаруживает инфракрасные лучи в области его действия. И, поскольку любой живой организм (в том числе и человек) испускает инфракрасные лучи (поскольку выделяет тепло), то подобный детектор сможет определять присутствие человека по испускаемым им инфракрасным лучам.

Как только в области действия детектора движения появляется человек, его сенсор улавливает изменение в инфракрасных лучах, вызванное появлением человека. Это изменение фильтруется электроникой детектора движения и в результате этого на его выходе формируется импульс продолжительностью 5 секунд (по умолчанию). Таким образом, как только в области действия детектора движения появляется человек, мы имеем импульс на его выходе продолжительностью 5 секунд, который можно обработать на микроконтроллере.

Детектор движения имеет две предустановки: первая – регулировка области действия сенсора и вторая – длительность выходного импульса (при появлении человека). Длительность этого импульса можно настроить в диапазоне от нескольких секунд до нескольких минут.

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

Необходимые компоненты

Аппаратное обеспечение

  1. Микроконтроллер ATmega32.
  2. Программатор AVR-ISP (купить на AliExpress), USBASP (купить на AliExpress) или другой подобный.
  3. Конденсатор 100 мкФ (купить на AliExpress).
  4. Светодиод (купить на AliExpress).
  5. Резисторы 220 Ом, 1 кОм (купить на AliExpress).
  6. Фоторезистор (купить на AliExpress).
  7. Переменный резистор 100 кОм (купить на AliExpress).
  8. Любой детектор движения (например, HC-SR501) (купить на AliExpress).
  9. Светодиод на 2 Ватта.
  10. Транзистор TIP122.
  11. Источник питания с напряжением 5 Вольт.

Программное обеспечение

  1. Atmel Studio версии 6.1 (или выше).
  2. Progisp или flash magic (необязательно).

Принцип работы схемы

Схема устройства приведена на следующем рисунке.

На данной схеме микроконтроллер ATmega32 работает от внутреннего RC-генератора (на частоте 1 МГц), поэтому нет необходимости в использовании внешнего кварцевого резонатора. Только если потребуется более точное измерение интервалов частоты может возникнуть необходимость в использовании внешнего кварца. При покупке микроконтроллера его фьюзы (fuse bits) сконфигурированы так, чтобы микроконтроллер работал от внутреннего RC-генератора.

Микроконтроллер в этой схеме должен обрабатывать 2 события:

  1. Наличие темноты.
  2. Наличие движения.

Как уже отмечалось ранее, когда поток света, падающий на фоторезистор, мал, его сопротивление велико. В этой схеме мы фоторезистор включаем последовательно с переменным резистором на 100 кОм и среднюю точку переменного резистора подключаем к контакту PB1 микроконтроллера. И теперь в нашей схеме если сопротивление фоторезистора велико (поток света мал), то напряжение на нем будет больше чем на переменном резисторе 100 кОм, следовательно, в средней точке переменного резистора будет маленькое напряжение. Таким образом, при наступлении темноты напряжение в средней точке переменного резистора сильно изменяется – и это изменение может быть обнаружено микроконтроллером (контакт PB1), что соответствует первому условию работы схемы.

Если же детектор движения обнаруживает изменение инфракрасных лучей в области своего действия (появился человек), то он подает уже рассмотренный нами ранее импульс на контакт PB0 микроконтроллера.

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

Исходный код программы на языке C (Си) с пояснениями

Программа для рассматриваемой схемы представлена следующим фрагментом кода. Комментарии к коду программу поясняют принцип работы отдельных команд.

Видео, демонстрирующее работу схемы


Примечание: к этой записи прикреплена форма для оценки. Чтобы оценить её, зайдите на сайт.

2 ответа к “Автоматический свет на лестнице с помощью микроконтроллера AVR ATmega32”

Что то я не понял совсем… А микроконтроллер тут зачем??? Датчик освещения + датчик движения. Ну еще пара транзисторов для ключей и усиления…Все и так есть! Тем более есть копеечные готовые китайские девайсы с такими же возможностями, к тому же позволяющие регулировку чувствительности и задержку выключения…Да уж…

Да, для решения этой задачи можно легко обойтись и без микроконтроллера, но статья кроме решения практической задачи имеет и обучающую функцию — научить начинающего микроконтроллерщика подключать к микроконтроллеру датчик освещения и датчик движения. Да и стоимость создания этой схемы (если кто реально будет использовать ее для создания готового устройства) тоже ведь невелика — микроконтроллер стоит ведь менее 100 рублей.
Также на основе представленной конструкции легко можно реализовать и более сложные алгоритмы управления светом на лестнице, которые без микроконтроллера уже будет сложновато реализовать

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

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