Датчик вибрации Ардуино

Датчики вибрации Ардуино (их еще иногда называют датчиками сигнализации) применимы для выявления внешних воздействия вибрационного характера и широко используются в противоугонных автомобильных системах, различных охранных сигнализациях, позволяют детектировать вибрации при начинающемся землетрясении. В этой статье мы рассмотрим строение датчика и схему подключения к платам Arduino.

Особенности конструкции и принцип действия датчика вибрации

датчик вибрации ардуиноОсновной элемент датчика – металлическая пружина гибкой структуры, расположенная во внутренней части трубки из пластика. При наличии каких-либо воздействий на нее она начинает колебаться. Усиление сигнала происходит за счет его подачи сначала на операционный усилитель, а потом на выход аналогового типа. Важным элементом датчика вибрации является потенциометр, который регулирует чувствительность прибора, и позволяет устанавливать необходимый порог срабатывания.

Датчик вибрации имеет три выхода:

  • Земля;
  • Питание;
  • Выход аналогового сигнала А0.

датчик вибрации ардуиноНаходящийся на плате потенциометр позволяет настроить его чувствительность. Он представляет собой переменный резистор c сопротивлением регулируемого типа. На плате датчика также присутствуют светодиоды, которые сигнализируют о наличии питания. Кроме того, некоторые разновидности оснащаются цифровым выводом D0, который выдает логический ноль при достижении порогового значения уровня вибрации.

В состоянии  покоя модуль находится в разомкнутом состоянии, и протекания тока по нему нет. При наличии внешних вибрационных воздействий за счет раскачивания пружины происходит кратковременное замыкание контактов.  В результате происходит сработка датчика, и на выходе появляется логический 0.

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

Технические параметры датчиков вибрации для Ардуино (могут отличаться в зависимости от модели устройства):

  • Питающее напряжение от 3 до 5 В;
  • Ток потребления 4-5мА;
  • С наличием или отсутствием цифрового выхода;
  • С наличием или отсутствием регулировки чувствительности.

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

Варианты применения

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

  • Системы охраны;
  • Сигнализации;
  • Электронные замки;
  • Детекторы движения;
  • Противоугонные системы;
  • Сейсмостанции;
  • Детские игрушки;
  • Бытовые приборы;
  • Спортивный инвентарь.

Пример реализации

схема подключения датчик вибрации ардуиноСхема подключения датчика вибрации к ардуино

Вариантом использования вибрационного датчика может стать охранная сигнализация, в которой при ударе о поверхность, с закрепленным на ней устройством, происходит сработка (в данном примере загорится светодиод, присоединенный к пину 13). Для проекта следует подготовить такие детали:

  • плату Arduino Uno;
  • датчики вибрации 801S или Logo sensors v1.5;
  • макетную плату;
  • соединительные провода.

Сборка схемы производится согласно рисунку. Цифровой вывод DO соединяем с цифровым пином 2. При наличии вибраций значение сигнала многократно увеличивается и при достижении порогового значения, которое устанавливается потенциометром, на вывод DO подается логическая единица. Мы обрабатываем эту ситуацию, считывая значение функцией digitalRead, после чего подаем с помощью функции digitalWrite  5В на порт 13 и загорается встроенный в плату светодиод.

Пример скетча

#define PIN_LED 13
#define PIN_SENSOR 2 // Пин, ккотормоу присоединен датчик вибрации
void setup() {
  pinMode(PIN_LED, OUTPUT);
}

void loop() {
  int val = digitalRead(PIN_SENSOR); // Считваем значение с датчика

  if(val==1){ 
    digitalWrite(PIN_LED, HIGH); // Датчик сработад - включаем светодиод
  }else{
    digitalWrite(PIN_LED, LOW);
  }
}
ПОДЕЛИТЬСЯ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here