Главная » Arduino
Призовой фонд
на февраль 2021 г.
1. 1500 руб
Сайт Паяльник
2. Мультиметр ANENG M118A
Сайт Паяльник
3. 350 руб.
От пользователей


Плата WEMOS D1 Mini Pro

Arduino, датчик движения и релейный модуль

Как-то решил создать автоматическое освещение в туалете, надоело постоянно включать/выключать свет.

Что нам для этого понадобится?

  1. Arduino (используется в качестве программатора ASP).
  2. Релейный модуль.
  3. Датчик движения.
  4. Микроконтроллер ATtiny13.

Сразу хочу пояснить, датчик движения используется HC-SR501. Сам по себе он представляет законченное устройство, которое на выходе выдает логическую единицу если кто-то движется и ноль если движения нет. У себя на плате датчик имеет два переменных резистора: один регулирует частоту срабатывания а другой дальность срабатывания.На рисунке 1 показан сам датчик.

Датчик движения HC-SR501
Рисунок 1 - Внешний вид датчика HC-SR50.

Режим работы
Режим работы модуля задается перемычкой.
Всего два режима - режим H и режим L. Выбирается перемычкой.

Режим H — в этом режиме при срабатывании датчика несколько раз подряд на его выходе (OUT) остается высокий логический уровень.
Режим L — в этом режиме на выходе при каждом срабатывании датчика появляется отдельный импульс.

Правда на моей версии датчика перемычка припаяна не была, а место под нее было рисунок 2.

Вид сзади HC-SR501
Рисунок 2 - Вид сзади датчика движения, красным цветом показано где должна быть перемычка.

Технические характеристики
Напряжение питания: 4,5В - 20В
Ток потребления: <60uA
Напряжение на выходе Высокие и низкие уровни в 3.3V TTL логике
Дистанция обнаружения: 3 - 7м (регулируется)
Угол детектирования: 120°-140°
Длительность импульса при обнаружении: 5 - 200сек. (регулируется)
Время блокировки до следующего замера: 2,5сек.
Рабочая температура: -20 - +80°C
Режим работы: L — одиночный захват, H — повторяемые измерения.

Датчик можно было использовать сам по себе, но для последующего ему нужно около 3-4 секунд для "отдыха" т.е если я нахожусь в помещении то мне придется ждать пока он подумает и сработает. Для того что-бы убрать этот недостаток я решил использовать в связке с датчиком МК ATtina13a.

Как прошить микроконтроллер?

Так как у меня не было программатора, я программировал только ардуинку, возник вопрос как можно это сделать. Порывшись в интернете я нашел статью о том как залить ардуиновский скетч в Attiny13.

Прошиваем Attiny13 с помощью Ардуино.

Правда когда я заменил файлы в папке hardware, у меня в среде разработки ардуино в разделе Сервис -> Плата пропали все платы и появились микроконтроллеры. И когда я попытался запрограммировать у меня среда начала ругаться. Тогда я решил залить прошивку в МК при помощи программы  AVR Burn-O-Mat т.к. у нее графический удобный интерфейс.

Как прошить мк при помощи AVR Burn-O-Mat читаем тут.

Как получить .hex файл из Ардуино читаем тут

При срабатывании датчика движения будет подаваться единица на релейный модуль который будет включать свет, на рисунке 3 сам модуль.

2-х канальный релейный модуль
Рисунок 3 - Релейный модуль

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

Код программы:

int led = 3;
int sensor = 4;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
  pinMode(sensor, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, LOW);
  if (digitalRead(sensor)) {
    digitalWrite(led, HIGH);
    delay(30000);
    if (digitalRead(sensor)) {
      digitalWrite(led, HIGH);
      delay(15000);
    }
    delay(10000);
  }
  else  
  digitalWrite(led, LOW);
}

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

Ниже привожу фотки устройства.

Эксперименты со светодиодом:

Подключил релейный модуль:

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (1) | Я собрал (0) | Подписаться

0
shkaff #
Вижу на фотографиях Arduino Nano. Что она там делает если она использовалась только для программирования Attiny13?
Или я неправильно понял?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
Мини гравер 125 Ватт iMAX B6 - зарядное для Lion, LiPo, LiFe, Pb, NiCd и NiMH аккумуляторов
вверх