http://www.forum.getchip.net/ |
|
Датчик движения = HC-SR04 + ATtiny13 http://www.forum.getchip.net/viewtopic.php?f=9&t=818 |
Страница 1 из 1 |
Автор: | SVN [ 10 дек 2017, 12:17 ] |
Заголовок сообщения: | Датчик движения = HC-SR04 + ATtiny13 |
Понадобился мне как-то датчик движения с конкретными характеристиками, а именно чтобы датчик движения реагировал на определённом расстоянии. И вот для этих целей решил использовать готовый модуль «ультразвуковой дальномер» HC-SR04 (благо они у меня есть в наличии). В качестве формирователя периода опроса дальномера, было решено использовать один из относительно дешёвых микроконтроллеров семейства Tiny (ATtiny13). Тактирование микроконтроллера оставлено на заводской установке (1,2 МГц. Фьюзы менять не нужно). Схема датчика: 1.png [ 30.73 КБ | Просмотров: 14071 ] Алгоритм работы датчика движения довольно прост. МК формирует импульс на вывод «Trig» дальномера HC-SR04. Дальномер в свою очередь, производит «замер расстояния» и результат о расстоянии формирует на своём выводе «Echo». Микроконтроллер считывает данный результат и на его основании формирует сигнал присутствия. Период формирования импульсов на вывод «Trig» составляет 68 мс. Расстояние на которое реагирует датчик устанавливается константой «Distance». В данной программе выбрано расстояние примерно 70 см. Значение константы при этом равно 180, которое и соответствует данному расстоянию. Теперь немного подробнее о выборе константы для расстояния, на которое датчик будет реагировать. В данном алгоритме опрос вывода «Echo» дальномера HC-SR04 производится в прерывании по переполнению таймер-счётчика. Константа «Distance» записывается в регистр TCNT0 данного таймер-счётчика. Которая и влияет на период времени формирования очередного прерывания по переполнению регистра TCNT0 таймер-счётчика. Таким образом, чем больше значение константы «Distance», тем меньше расстояние реагирования датчиком. Константа равная значению 250 будет примерно соответствовать реагированию датчиком на расстояние в 5 см. Соответственно 240 будет соответствовать реагированию датчиком на расстояние в 15 см и тд. Значение константы равное нулю, будет соответствовать максимальному расстоянию реагирования датчиком. Оно составит примерно 235 см. Сигнал реагирования на выходе МК формируется без задержек. А вот сброс данного сигнала имеет задержку около 2 сек. Зелёный светодиод является индикатором выходного сигнала (дублирует выходной сигнал). Исходник и схема в архиве. ![]() Скачиваний: 2142 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |