
Датчик удара реагирует на какую либо тряску или собственно сами удары. Широко используется в проектах автомобильной сигнализации. Одним из самых простых датчиков удара для ардуино это датчик KY-031.
Датчик представляет собой сам сенсор в виде пружины и резистора на 10 кОм. Когда датчик регистрирует вибрацию или удар, то происходит замыкание цепи.
Из принципиальной схемы видно, что датчик удара работает по принципу ключа, размыкая или замыкая цепь.
Когда вибрация отсутствует ключ разомкнут, а на выходе сохраняется логическая единица (3.3 Вольта или 5 Вольт), подтянутая через токоограничивающий резистор 10 кОм от питания. При наличии вибрации ключ замыкается, уровень стягивается на землю (GND) и на выходе датчика будет логический ноль.
Подключение датчика вибрации к ардуино
У датчика имеется три выходных контакта:
Контакт (-) | GND (земля) |
---|---|
Средний контакт | Vcc (питание) 3,3В или 5В |
Контакт (S) | Цифровой выход датчика |
Внимание!
Контакты китайских датчиков часто бывают перепутаны, в некоторых версиях питание и Output поменяны местами.
Скетч для работы с датчиком удара
//KY-031 датчик удара int led = 13 ; // встроенный в адуино светодиод int shockSensor = 10; // пин для подключения датчика int value; // переменная для хранения состояния датчика void setup () { pinMode (led, OUTPUT) ; // назначение выхода для светодиода pinMode (shockSensor, INPUT) ; // назначение входа для датчика } void loop () { value = digitalRead (shockSensor) ; // чтение состояния датчика if (value == LOW) // когда датчик детектирует удар, светодиод загорается { digitalWrite (led, HIGH); } else // иначе светодиод тухнет { digitalWrite (led, LOW); } }