Простой ультразвуковой выключатель света на HC-SR04

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

Проанализируем их.

1. Автоматический выключатель света на основе датчика движения или сенсора.

Несовершенство понятно из названия: как только человек остановился в зоне действия   датчика, датчик отказывается вас «видеть».

2. Автоматический выключатель света на основе пиродетектора.

Он намного лучше, но данный датчик конструктивно сложен, требует тщательной настройки и установки в строго определенных местах.

3. Автоматический выключатель света на основе светового датчика.

Те же сложности, что и у датчика приближения. К тому же требует более сложной настройки.

И вот, изобретено практически безупречное решение: ультразвуковой датчик HC-SR04. Народная индустрия Китая производит их по цене от 2 долларов за штуку.

датчик Ultrasonic Module HC-SR04

Ультразвуковой выключатель света на HC-SR04

Принцип действия его  достаточно прост — на одну ножку передаем сигнал «Старт», с другой ножки принимаем единичный импульс, соразмерный по длине расстоянию до объекта. Максимальное расстояние может достигать до 4 метров.

Достаточно прибавить элементарную схему на МК, распознающую появление объекта в зоне действия, и вот он — совершенный датчик присутствия.

Схема:

sonar_attiny13

 

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

Логика работы устройства и функции прошивки

HL1 это индикатор режима работы устройства. Мигает в режиме работы.

Мигание допустимо 3-х видов:

Мигание 10% — объект вне зоны действия, лампа выключена.

Мигание 90% — объект в зоне действия, лампа включена.

Мигание 50% — объект вышел из зоны действия, идет отсчет 60 секунд до момента выключения, лампа включена.

S1 — кнопка фиксирования обстановки.
]Применяется при установке. Функционирует по принципу отложенной съемки в фотоаппарате.

После настройке нажать однократно, светодиод HL1 начнет быстро мигать. У вас есть 10 секунд на оставление зоны охраны.

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

Настройка фьюзов при программировании

1.Снять делитель на 8

2. Включить Wathdog

Запрограммировать Attiny13 можно с помощью USB программатора.

Скачать печатку и прошивку (1,1 Mb, скачано: 1 305)

редактор

19 комментариев

  • 18.11.2013 в 10:36

    Здраствуйте!
    Резистор R3 на схема ошибка, +5вольт на восьмую ногу без резистора, резистор с +5вольт на 7- ю ногу, Если у кого есть принтскирин фьюзов для Code Vision AVR буду очень признателенн.

    Ответить
    • 18.11.2013 в 14:34

      Исправил. Спасибо за подсказку.

      Ответить
  • 24.11.2013 в 21:55

    Правильно собранный данный девайс работоспособен — подтверждаю.

    Ответить
  • 17.01.2014 в 14:25

    Не могли бы вы поделиться исходным кодом? Я новичек, и мне очень интересно было бы посмотреть как устроен сам код.

    Ответить
  • 29.09.2015 в 06:31

    Выложите кто нибудь исходник программы или прошивку с задержкой не 60, а 10 секунд. Спасибо.

    Ответить
  • 18.11.2015 в 09:37

    Буду благодарен за исходник к Attiny13 c HC-SR04

    Ответить
  • 20.01.2016 в 21:31

    Скажите, пожалуйста, кто знает. При программировании Attiny13 я пользуюсь CodeVisionAVR. Какие конкретно выставить фузы чтобы снять делитель на 8 и включить Wathdog? Я в этом плане совсем не силен. Спасибо.

    Ответить
    • 04.09.2016 в 18:00

      Действительно было бы не плохо, если бы был сделан скрин фьюзов и указана программа с помощью которой прошивали. От этого зависит какие фьюзы — прямые или инверсные. У вас получилось добиться работоспособности схемы?

      Ответить
  • 25.01.2016 в 17:55

    Почему реле подключено к ноге МК? Нельзя так делать, обратная индукция катушки реле будет давать сбой контроллера и может легко спалить порт

    Ответить
    • 25.01.2016 в 21:47

      Это твердотельное реле. Единственное, что следует сделать — это подключить реле к микроконтроллеру через резистор около 300 ом

      Ответить
      • 23.10.2016 в 22:52

        Админ, прошу ответить, если есть информация — а точнее дайте скрин фьюзов. Извелся весь с ними!!!

  • 23.10.2016 в 23:00

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

    Ответить
    • 23.10.2016 в 23:35

      Вот посмотрите фьюзы для программы «SinaProg»

      Ответить
  • 24.10.2016 в 13:03

    Спасибо. Сегодня попробую.

    Ответить
  • 24.10.2016 в 20:34

    У меня несколько другие данные в окне калибровки. У Вас 0000696В, а у меня 0000354Е. Как это может влиять на работу устройства?
    Грешил на датчик, думал он не работает. Отключил его. Все равно МК не подает признаков жизни. Светодиод не светится, на выходе МК импульсов нет. Хэлп!)

    Ответить
  • 26.10.2016 в 21:29

    После сотой перезаливки программы заработало. Но оказывается на выходе 6 МК сигнал не появляется, когда входишь в охранную зону, а пропадает!!! Т.е. нужно применять реле низкого уровня. Короче все наоборот. Нужно поправлять программу, чтобы без танцев с бубном было. Алгоритм должен быть таким: когда никого нет в охранной зоне на выходе 6 МК не должно быть управляющего сигнала, после вхождения тела в охранную зону на 6 ноге должен появляться сигнал высокого уровня. Когда тело покидает охранную зону на 6 ноге МК высокий уровень должен оставаться еще какое-то время. Поправьте программу, плиз!

    Ответить
    • 27.10.2016 в 02:18

      Может проще использовать реле с нормально замкнутыми контактами…

      Ответить
      • 27.10.2016 в 10:20

        Проще, но не рационально. Высокий сигнал на выходе МК (при отсутствии тела) держит открытым транзистор управления реле, до тех пор пока не появится тело. Реле разомкнуто. Транзистор в открытом состоянии до тех пор пока не появится тело.

  • 27.10.2016 в 18:58

    реле подключается к МК через транзистор. Если на базу транзистора подавать высокий уровень С МК, то он будет открыт, через катушку будет течь ток независимо от того, какие контакты использовать: нормально замкнутые или Нормально разомкнутые. Да от этого поменяется результат — можно зажигать лампу как при входе в зону, так и при выходе из нее. Однако при заложенном алгоритме через транзистор все время будет течь ток и лишь при обнаружении закрываться. Идея схемы отличная, но хотелось бы совершенства).

    Ответить

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

Ваш электронный адрес не будет опубликован.

*