Простой ультразвуковой выключатель света на 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. Включить Watchdog

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

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

  Цена: 140.00 руб.    
  Цена: 21200.00 руб.    
  Цена: 250.00 руб.    
  Цена: 620.00 руб.    

21 комментарий

  • 18.11.2013 at 10:36

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Ответить
  • 23.10.2016 at 23:00

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

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

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

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

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

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

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

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

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

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

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

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

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

        Ответить
  • 27.10.2016 at 18:58

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

    Ответить
  • 10.12.2016 at 09:57

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

    Ответить
  • 12.02.2018 at 00:03

    Так прошивка рабочая или нет ?

    Ответить

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

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

*