Чтение данных с датчика наклона

Датчик наклонаВ продаже датчики наклона обычно представлены с рабочим диапазоном 30° и 60° (точнее, от -30° до +30° по горизонтали). Датчик наклона представляет собой своеобразный переключатель. Это устройство отличается от обычных переключателей тем, что начинает проводить электричество при наклоне.

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

Подключение датчика наклона

Подключение датчика не представляет сложности. Подключается он как любой переключатель. Все, что понадобится, это цифровой PIN в Arduino. Когда PIN Arduino установлен на вход, его состояние неустойчиво (случайно), пока на него не будет подано некоторое напряжение. Подключение «GND» вызывает состояние «LOW», а подключение 5V вызывает состояние «HIGH».

Если мы подключим датчик к цифровому PIN одним выводом и к «GND» другим, мы будем знать, что когда датчик наклона начнет проводить ток, будет активировано состояние «LOW». Когда датчик не будет проводить ток, состояние будет «HIGH». В нашей ситуации это переходное состояние. Поэтому, чтобы определить состояние, когда датчик не проводит, мы будем использовать подтягивающий резистор, встроенный в процессор Arduino. Это нужно для автоматического переключения в состояние «HIGH».

Читать также:  Контакты GPIO и их программирование

Схема подключения датчика наклона

Схема компоновки

Скетч для датчика наклона

В функции «setup» установим направление работы пина на «INPUT»:

И активируем встроенный на плате резистор:

Затем в функции «петля» считываем статус пина и, следовательно, положение датчика с помощью функции «цифровое чтение».

Пример программы свечения светодиода при наклоне:

Вот видео для наглядности:

Сигнализация в действии

Задача для решения

Предположим, одна женщина хранит в своей сумочке какие-то сокровища, и никто не имеет права их трогать, и вообще, на них смотреть. Чтобы защитить сумочку женщины, а точнее сокровища внутри этой сумки, от любопытных людей, нужно собрать сумочную сигнализацию.

Для сборки сигнализации нам понадобится:

  • Датчик наклона для проверки положения сумки
  • Пьезодинамик для информирования о краже или открытии

Соединим нужные элементы, как показано на схеме ниже. Мы использовали PIN 2 для входа датчика, PIN 3 для пьезодинамика и PIN 13 для светодиода.

Сумочная сигнализация

Схема простой сигнализации

Скетч для решения задачи

Программа мало чем отличается от предыдущей, кроме дополнительных звуковогенерирующих функций.

Первое — «Tone» — включить звук.

Читать также:  Установка ОС Raspberry Pi Lite и связь через UART

Второе это «noTone» — отключение звука.

Вот видео сигнализации в действии:

Недостаток нашей сигнализации в том, что пьезодинамик слишком чувствителен, и любой удар (даже топание) заставляет пьезоэлемент «визжать». Владельцу сумки это может не понравиться.

Есть два момента, первый когда сумку трясется при ходьбе, второй когда в сумке кто-то роется. Как отличить эти два момента друг от друга? Какая между ними разница?

Легче всего их отличить, когда сенсор переключается быстро. Толчки переключают его каждые тысячные доли секунды, время же перемещения сумки или копания в ней длится от десятых долей секунды до нескольких секунд (включая страх и бегство нападающего). Таким образом, нужно измерить, сколько времени потребуется для включения датчика, и если это длится дольше 0,1 секунды (перемещение сумки) — включить сигнализацию.

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

Читать также:  Графическая библиотека Adafruit GFX

Конечный скетч сигнализации

У нашей сумочной сигнализации есть еще один недостаток. Сигнализация отключается, как только сумка возвращается на свое место. Настоящие сигнализации работают не так! Мы снова будем использовать функцию синхронизации «millis».

Но, во-первых, мы измерим, сколько времени прошло с момента срабатывания сигнализации. Сигнализация сработает только по истечении установленного времени, чтобы эффективно отпугнуть грабителя, а также привлечь внимание окружающих.

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

Вот видео проверки системы на практике:

С Уважением, МониторБанк

Добавить комментарий