Оглавление:

Сигнализация Arduino с цифровым датчиком вибрации: 5 шагов
Сигнализация Arduino с цифровым датчиком вибрации: 5 шагов

Видео: Сигнализация Arduino с цифровым датчиком вибрации: 5 шагов

Видео: Сигнализация Arduino с цифровым датчиком вибрации: 5 шагов
Видео: Использование датчиков для Arduino без Arduino 2024, Ноябрь
Anonim
Сигнализация Arduino с цифровым датчиком вибрации
Сигнализация Arduino с цифровым датчиком вибрации

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

Если у вас есть какие-либо вопросы или проблемы, вы можете связаться со мной на мою почту: [email protected]

Итак, начнем

Компоненты предоставлены DFRobot

Шаг 1: материалы

Материалы
Материалы
Материалы
Материалы
Материалы
Материалы

Все необходимые материалы для этого проекта можно купить в интернет-магазине: DFRobot.

Для этого проекта нам понадобятся:

-Arduino Uno (тоже можно взять MEGA 2560)

-Цифровой емкостный сенсорный датчик V2 4x

-Цифровой датчик вибрации V2 1x

-Цифровой модуль зуммера 1x

-ЖК-дисплей 20х4

-Некоторые светодиоды

-4-канальный релейный экран для Arduino

-Провода перемычки (их много)

- макетная плата

-9В аккумулятор

-Батарейный корпус

Если вы хотите управлять освещением или чем-то в этом роде, вы можете использовать Relay Shield для Arduino.

Я также сделал корпус для этого будильника, поэтому для этого вам понадобится SolidWorks или другая подобная программа. Конечно, вам также понадобится 3D-принтер. Если у вас нет 3D-принтера, вы также можете использовать пластиковую герметичную распределительную коробку для поверхностного монтажа или что-то подобное.

Шаг 2: модули

Модули
Модули
Модули
Модули
Модули
Модули
Модули
Модули

Для этого проекта я использовал три разных модуля. Эти модули очень легко подключить к Arduino из-за очень хорошей конструкции подключения. Провод для подключения входит в комплект с модулем (его можно увидеть на картинке).

Модуль цифрового датчика вибрации

Этот сенсорный модуль очень прост в использовании, и с ним весело играть. У него очень высокая чувствительность, поэтому не нужно сильно его трясти. Достаточно небольшого щелчка.

Технические характеристики:

  • Тип ввода-вывода: цифровой
  • Срок службы переключателя: до 10 миллионов секунд
  • Сопротивление холостого хода: 10 МОм
  • Напряжение питания: от 3,3 В до 5 В
  • Интерфейс: Цифровой
  • Размер: 22x30 мм (0,87 x 1,18 дюйма)

Модуль цифрового емкостного сенсорного датчика

Если вам не нравятся обычные кнопки, вы можете использовать эти емкостные сенсорные модули. У них очень быстрое время отклика, большая зона касания с обеих сторон.

Технические характеристики:

  • Напряжение питания: от 3,3 В до 5 В
  • Интерфейс: Цифровой
  • Размер: 22x30 мм (0,87 x 1,18 дюйма)

Модуль цифрового зуммера

Очень простой и в большинстве случаев очень надоедливый модуль зуммера.

Технические характеристики:

  • Тип: Цифровой
  • Источник питания: 5 В постоянного тока

Если вы хотите узнать больше об этих модулях, посетите: DFRobot Product Wiki

Шаг 3: Корпус сигнализации

Корпус сигнализации
Корпус сигнализации
Корпус сигнализации
Корпус сигнализации
Корпус сигнализации
Корпус сигнализации

Я напечатал на 3D-принтере корпус для этой сигнализации.

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

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

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

Размер:

150x60x120 мм

Корпус выполнен из пластика PLA. У него ширина стенок 3 мм, чего более чем достаточно для размещения корпуса. Самое большое отверстие предназначено для ЖК-дисплея, меньшие отверстия рядом с ЖК-дисплеем - для светодиодов. Внизу есть отверстия для сенсорных модулей и модуля зуммера. На правой грани также есть еще одно отверстие для сенсорного модуля. Вы можете закрепить этот корпус на стене или двери.

Шаг 4: Подключение

Проводка
Проводка

В этом проекте много разных компонентов, поэтому вы должны быть осторожны, правильно их соединяя.

Я покажу вам, как каждый компонент подключен в этом проекте.

Модули сенсорных датчиков:

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

Этот модуль имеет три контакта (5V +, GND, OUTPUT).

Вы подключаете красный провод к 5V +, а черный провод к GND. Зеленый провод идет к цифровому выводу на Arduino. (Вы также можете использовать разные цвета, но вам будет проще и удобнее использовать эти цвета.)

Для этого проекта:

  • Модуль декремента подключается к цифровому выводу 8.
  • Модуль для приращения подключается к цифровому выводу 9.
  • Модуль выбора программы подключается к цифровому выводу 10.
  • Модуль активации тревоги подключается к цифровому выводу 11.

Цифровой датчик вибрации:

Этот модуль имеет три контакта (5V +, GND, OUTPUT).

Модуль подключен к цифровому выводу 3

Модуль зуммера:

Этот модуль имеет три контакта (5V +, GND, OUTPUT).

Модуль подключается к цифровому выводу 13

ЖК дисплей:

Дисплей имеет четыре контакта (Vcc, GND, SCL, SDA):

Подключите Vcc к 5 В +, GND к GND на Arduino, SCL и вывод SDA на дисплее к выводу SLC и SDA на Arduino

ВЕЛ:

Я использовал светодиоды для индикации. Более короткая ножка или катод светодиода подключается к заземлению, более длинная ножка или анод подключается к цифровому выводу. Если вы мне не верите, вы также можете проверить это с помощью мультиметра (диод проводит от анода к катоду, если он в хорошем состоянии).

  • Зеленый светодиод подключен к цифровому выводу 4. (горит при срабатывании сигнализации)
  • Желтый светодиод подключен к цифровому выводу 5 (горит, когда сигнализация отключена)
  • Красный светодиод подключен к цифровому контакту 12 (мигает, если вы выбрали правильную программу и если вы встряхнете датчик вибрации)
  • Белые светодиоды подключены к цифровому контакту 2. (горит, когда сигнализация отключена, так что вы можете видеть сенсорные модули).

Модули и светодиоды поставляются от Arduino. Таким образом, вы просто подключаете все выводы Vcc к 5 В на Arduino, а все выводы GND к GND на Arduino. У Arduino недостаточно контактов 5V и GND, поэтому вам придется использовать макетную плату.

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

Если вы хотите управлять приборами переменного тока, вам необходимо подключить релейный модуль.

Шаг 5: Код

Код
Код
Код
Код

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

Я использовал подпрограммы, потому что это делает программу более управляемой.

Итак, идея программы такова:

  • Вы можете выбрать продолжительность будильника (1-15 секунд с 5 интервалами)
  • Вы можете выбрать программу (Под программой я подразумеваю различные варианты того, как сработает сигнал тревоги. Вы можете выбрать, что включен только зуммер, что зуммер в сочетании со светодиодом включен, или что горит только светодиод).
  • Вы можете активировать и деактивировать тревогу (это обозначается светодиодами. Зеленым и желтым)
  • И все отображается на ЖК-дисплее. У вас есть множество возможностей для отображения на ЖК-дисплее.
  • Так что при встряхивании срабатывает сигнализация датчика вибрации, но это зависит от того, какую программу вы выберете.

И так далее, если вы знаете, как использовать операторы if и знаете элементы управления ЖК-дисплеем (lcd.clear, lcd.setCursor (x, y)…), эту программу будет нелегко понять.

Рекомендуемые: