Ультразвуковой датчик HC-SR05 на ATtiny13
Для контролера лестничного освещения, потребовался датчик для обнаружения проходящего мимо человека. Из-за небольшого угла срабатывания и возможность регулировать дистанцию до объекта, решил использовать ультразвуковой датчик расстояния (SRF05). Так как датчик "напрямую" информацию о расстоянии не выдает, то для получения и обработки данных от него потребуется МК. В сети можно найти много примеров работы с данным датчиком. Большинство этих примеров построенные на arduino с выводом информации о дистанции на LCD дисплей. Так как для моей задачи, не нужно рассчитывать точное расстояние и выводить данные на дисплей, а достаточно только знать пересек ли объект контролируемую линию или нет, в проекте использовал простой AVR микроконтроллер ATtiny13.
Характеристики :
- Напряжение питания : 4.5 В - 5.5 В
- Рабочий ток : 10 - 40 мА
- Ток покоя : 2 мА
- I/O высокий уровень : 5 В
- I/O низкий уровень : 0 В
- Угол : не более 15 градусов
- Дальность обнаружения : 2 см-400 см
- Точность : до 0.3 см
- Частота : 40кГц
Подключение :
- VCC - питание
- TRIG - вход сигнала запуска измерения
- ECHO - выход
- OUT - n/a
- GND - земля
Получения информации от датчика:
- Подаем импульс продолжительностью 10 uS, на вход (Trig).
- Датчик генерирует 8 импульсов частотой 40 кГц. Импульсы отражаются от препятствия и принимаются обратно датчиком.
- На выводе Echo получаем выходной сигнал, длительность которого зависит от расстояния до препятствия.
- На стороне МК рассчитываем расстояния (см) по формуле Echo (мкс) / 58 (см)

О готовом устройстве:
Схема состоит из самого датчика (HC-SR05), AVR микроконтроллера IC1 (ATtiny13), линейного стабилизатора напряжения на 5В (7805), светодиода LED1 информирующего о срабатывании датчика, кнопки SW1 для установки дистанции и транзистор VT1 (BC847) в качестве ключа.

Установка дистанции срабатывания датчика производиться кнопкой SW1, если при нажатии и удержании кнопки частота мигания светодиода начинает медленно увеличиваться (начинает часто мигать), это свидетельствует об уменьшении дистанции. При повторном нажатии и удержании, частота мигания светодиода начинает уменьшаться и соответственно расстояния, на котором будет срабатывать датчик, увеличивается. Минимальный порог срабатывания датчика ~5 см, а а максимальное ~ 250 см.
Печатная плата выполнена в двухстороннем варианте с разводкой под SMD компоненты с возможностью установки двух вариантов линейных стабилизаторов на 5В (7805 (SOT-89) и 1117-5.0 (SOT-223)) и двух вариантов кнопок. Так же на плате предусмотрен разъем для прошивки МК


Фьюзы.

Ниже можно скачать версию прошивки с автоматической настройкой дистанции. Для установки дистанции достаточно установить напротив датчика объект от которого будет отражаться сигнал и один раз кратковременно нажать на кнопку SW1, в память будет записана текущая дистанция за вычетом ~10 см.
