Подключаем датчик вибрации с реле к Arduino UNO. Когда датчик обнаруживает вибрацию, загорается светодиод 3 раза по 2 секунды.
Идея проекта появилась при посещении стрелкового тира. Часто, когда попадаешь в цель, нет понимания промахнулся ты или попал. Появилась необходимость включать источник света, который должен мигать 3 раза если на дальней дистанции попадаешь цель. Целью, в нашем случае была металлическая круглая деталь, прикрепленная к металлической раме.
Как это работает
Когда цель ударяется, чувствительный датчик вибрации, закрепленный на задней части целевой рамы, обнаружит вибрацию. Дальше он должен передать сигнал о том, что цель была поражена, включением света 3 раза по такому принципу:
2 сек - ВКЛ, 1 сек - ВЫКЛ / 2 сек - ВКЛ, 1 сек - ВЫКЛ / 2 сек - ВКЛ, 1 сек - ВЫКЛ
Модуль датчика питается от Arduino. С помощью Optocoupler PC817 мы делаем схему для реле отделенную от Arduino UNO.
Реле питается от внешнего источника, в этом случае 3 батареи AA.
На втором видео в конце урока вы можете увидеть, что светодиод, подключенный к реле, заменяется светом, который легко увидеть с расстояния в 200 метров.
Комплектующие
В этом проекте для подключения датчика вибрации к Arduino Uno нам понадобится довольно много деталей:
- Arduino UNO & Genuino UNO × 1
- SW-420 Модуль датчика вибрации x 1
- Оптрон Optocoupler PC817 × 1
- Транзистор BC 547 × 1
- 1N4007 - высоковольтный высокоомный номинальный диод × 1
- Реле 5V DC × 1
- 5 мм светодиод красный (второй светодиод используется для проверки контакта реле ВКЛ ВЫКЛ) × 1
- Резистор 220 Ом × 2
- Макет (на выбор) × 1
- Провода-перемычки (общий) × 1
- 4xAA (в этом проекте мы использовали держатель батареи с 3 батареями АА) × 1
Из программного обеспечения нам пригодится:
Схема соединений
Схема #1
Схема #2
Все подключения датчика вибрации, Arduino Uno и комплектующих сделайте соответственно схеме выше. Вторая схема отличается наличием реле и Optocoupler PC817.
Собираем проект
Ниже фото собранного проекта со светодиодом и с реле. Внешне всё выглядит довольно громоздко, но если захотеть, то можно устройство сделать более компактным.
Код проекта
Ниже вы можете скачать или скопировать код проекта по подключению к Ардуино датчика вибрации SW-420.
// Модуль датчика вибрации (код) Arduino с реле и внешним источником питания 5В int vib_pin=2; int led_pin=13; // код настроек для запуска один раз: void setup() { pinMode(vib_pin,INPUT); pinMode(led_pin,OUTPUT); } // основной код для запуска в цикле: void loop() { int val; val=digitalRead(vib_pin); if(val==1) { digitalWrite(led_pin,LOW); delay(2000); digitalWrite(led_pin,HIGH); delay(1000); digitalWrite(led_pin,LOW); delay(2000); digitalWrite(led_pin,HIGH); delay(1000); digitalWrite(led_pin,LOW); delay(2000); digitalWrite(led_pin,HIGH); delay(1000); } else digitalWrite(led_pin,HIGH); }
Итоговый результат
Видео #1: светодиод
Видео #2: Реле и лампа
Как мы писали ранее, идея появилась в тире. Но на примере данного урока можно сделать систему безопасности дома, когда включается свет, если нарушитель задел датчик вибрации или предмет к которому он подключен.
Дополнительно можно подключать звуковую сигнализацию - мы уже делали урок по обнаружению дыма и включению сигнализации. Из этого урока вы также можете многое почерпнуть.