Подключаем датчик вибрации к Arduino Uno

Подключаем датчик вибрации с реле к 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: Реле и лампа

Как мы писали ранее, идея появилась в тире. Но на примере данного урока можно сделать систему безопасности дома, когда включается свет, если нарушитель задел датчик вибрации или предмет к которому он подключен.

Дополнительно можно подключать звуковую сигнализацию - мы уже делали урок по обнаружению дыма и включению сигнализации. Из этого урока вы также можете многое почерпнуть.

Ардуино+