Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 29 мар 2024, 10:05

Часовой пояс: UTC + 3 часа [ Летнее время ]



Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Анти-спам
Анти-спам:
Выполните задание
   

Обзор темы - Датчик движения = HC-SR04 + ATtiny13
Автор Сообщение
  Заголовок сообщения:  Датчик движения = HC-SR04 + ATtiny13  
Цитата
Понадобился мне как-то датчик движения с конкретными характеристиками, а именно чтобы датчик движения реагировал на определённом расстоянии. И вот для этих целей решил использовать готовый модуль «ультразвуковой дальномер» HC-SR04 (благо они у меня есть в наличии).

В качестве формирователя периода опроса дальномера, было решено использовать один из относительно дешёвых микроконтроллеров семейства Tiny (ATtiny13). Тактирование микроконтроллера оставлено на заводской установке (1,2 МГц. Фьюзы менять не нужно).
Схема датчика:
1.png
1.png [ 30.73 КБ | Просмотров: 6323 ]

Алгоритм работы датчика движения довольно прост. МК формирует импульс на вывод «Trig» дальномера HC-SR04. Дальномер в свою очередь, производит «замер расстояния» и результат о расстоянии формирует на своём выводе «Echo». Микроконтроллер считывает данный результат и на его основании формирует сигнал присутствия. Период формирования импульсов на вывод «Trig» составляет 68 мс. Расстояние на которое реагирует датчик устанавливается константой «Distance». В данной программе выбрано расстояние примерно 70 см. Значение константы при этом равно 180, которое и соответствует данному расстоянию.
Теперь немного подробнее о выборе константы для расстояния, на которое датчик будет реагировать. В данном алгоритме опрос вывода «Echo» дальномера HC-SR04 производится в прерывании по переполнению таймер-счётчика. Константа «Distance» записывается в регистр TCNT0 данного таймер-счётчика. Которая и влияет на период времени формирования очередного прерывания по переполнению регистра TCNT0 таймер-счётчика. Таким образом, чем больше значение константы «Distance», тем меньше расстояние реагирования датчиком. Константа равная значению 250 будет примерно соответствовать реагированию датчиком на расстояние в 5 см. Соответственно 240 будет соответствовать реагированию датчиком на расстояние в 15 см и тд. Значение константы равное нулю, будет соответствовать максимальному расстоянию реагирования датчиком. Оно составит примерно 235 см.
Сигнал реагирования на выходе МК формируется без задержек. А вот сброс данного сигнала имеет задержку около 2 сек.
Зелёный светодиод является индикатором выходного сигнала (дублирует выходной сигнал).

Исходник и схема в архиве.
HC-SR04 Tiny13.zip [12.17 КБ]
Скачиваний: 987
Сообщение Добавлено: 10 дек 2017, 12:17

Часовой пояс: UTC + 3 часа [ Летнее время ]


Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB