Для проектов по охране различных объектов часто применяются вибро — датчики. Для ардуино также есть такой сенсор — датчик вибрации. Они широко используются в проектах, для реализации различного рода сигнализаций. Датчик улавливает предназначен для отслеживания и реагирования на вибрацию.
На данный момент реализовано несколько различных видов датчиков вибрации. Например вот такой модуль вибродатчика KY-002. В в данной статье рассмотрим модуле датчика вибрации 140С001. Он состоит из самого датчик в виде пружины, которая улавливает вибрацию, подстроечного резистора и двух выходов — аналогового и цифрового.
Подключение датчика вибрации к Ардуино
- Красный провод – VCC (питание) 5V;
- Черный провод – GND (земля) ;
- Желтый провод – Signal Сигнальный контакт (аналоговый).
В данном модуле датчика вибрации имеется два выхода: и аналоговый и цифровой. Однако есть модули, где только один выход, либо аналоговый либо цифровой.
Пример программы для датчика вибрации
В данном примере датчик вибрации используется для зажигания светодиода в случае обнаружения вибрации.
#define PIN_LED 13 #define PIN_SENSOR A0 // Пин, к которому присоединен датчик вибрации 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); } }
Документация
Где купить?
- Датчик вибрации SW-520D 10 штук на Алиэкспресс
- Модуль датчика вибрации KY-002
- Набор датчиков 37 в 1
А в каких собственно единицах измеряет датчик вибрации? Просто нигде не написано. Вот есть вибрация которую он считывает, а что это за значение?
Датчик в статье имеет два выхода:
аналоговый
цифровой
С цифровым выходом все просто. Здесь может быть только два состояния: вибрация есть или вибрации нет. Соответственно на контакте формируется логическая 1 или логический 0.
На аналоговом выходе формируется напряжение в диапазоне от 0 вольт до 5 вольт, которое зависит от частоты вибрации. Чем сильнее вибрация, тем значение напряжения ближе к 5 вольтам. Но тут вступает в игру аналого-цифровой преобразователь (АЦП) платы Arduino: он разбивает аналоговый диапазон сигнала 0-5 вольт пропорционально на свой, цифровой, от 0 до 1023. Где 0 вольт будет соответствовать числу 0 (что говорит об отсутствии вибрации), а +5 вольт будет соответствовать числу 1023 (самая мощная вибрация).
Так что конкретных единиц измерения здесь нет, только условные минимум -0, максимум — 1023. Поэтому можно экспериментально подбирать нужный порог срабатывания программы.
Большое спасибо за подробный ответ. Такую информацию толком даже не предоставляют даже сайты продажи.