- Модуль датчика вибрации SW-420
- Необходимые компоненты
- Принципиальная схема датчика вибрации Arduino
- Программирование датчика вибрации Arduino Uno
- Тестирование цепи датчика вибрации Arduino
Есть несколько критически важных машин или дорогостоящего оборудования, которые получают повреждения из-за вибрации. В таком случае требуется датчик вибрации, чтобы определить, производит ли машина или оборудование вибрации или нет. Идентификация объекта, который непрерывно вибрирует, не является сложной задачей, если для обнаружения вибрации используется соответствующий датчик. Есть несколько типов датчиков вибрациидоступный на рынке, который может обнаруживать вибрацию путем измерения ускорения или скорости и может обеспечить превосходный результат. Однако такие датчики слишком дороги там, где используется акселерометр. Акселерометр очень чувствителен и может использоваться для создания схемы детектора землетрясений. Но есть несколько специализированных и дешевых датчиков, которые также доступны для обнаружения только вибрации, одним из таких датчиков вибрации является SW-420, который мы собираемся взаимодействовать с Arduino Uno.
Таким образом, в этом проекте базовый модуль датчика вибрации взаимодействует с популярным Arduino UNO, и всякий раз, когда датчик вибрации обнаруживает любую вибрацию или рывки, светодиод начинает мигать.
Модуль датчика вибрации SW-420
Это модуль вибрации SW-420, который может работать от 3,3 до 5 В. Датчик использует компаратор LM393 для обнаружения вибрации выше пороговой точки и предоставления цифровых данных, низкого логического уровня или высокого логического уровня, 0 или 1. В нормальном режиме работы датчик выдает низкий логический уровень, а при обнаружении вибрации датчик выдает высокий логический уровень. В модуле доступны три периферийных устройства, два светодиода, один для состояния питания, а другой для выхода датчика. Кроме того, доступен потенциометр, который в дальнейшем можно использовать для контроля пороговой точки вибрации. В этом проекте мы будем использовать 5V для питания модуля.
Мы использовали тот же датчик в системе Anti-Theft Alert с микроконтроллером ATmega8. Также датчик наклона может использоваться для обнаружения внезапной аварии.
Необходимые компоненты
- Arduino UNO
- Модуль датчика вибрации SW-420
- Светодиод 5 мм (любой цвет)
- Соединительные провода (монтажные провода)
- USB-кабель для загрузки программы
Принципиальная схема датчика вибрации Arduino
Схема подключения датчика вибрации к Arduino uno приведена ниже.
Светодиод подключается к выводу D13. Модуль питается от доступного вывода 5V в Arduino. Заземление и вывод 5V используются для питания Arduino, тогда как вывод A5 используется для получения данных от датчика вибрации.
Схема построена там, где модуль SW-420 и светодиод соединены с Arduino Uno.
Программирование датчика вибрации Arduino Uno
Программирование Arduino UNO для взаимодействия с датчиком вибрации не требует больших усилий, так как для вывода нужно контролировать только входной контакт. Полный код и работает видео прикрепляются в конце.
Первоначально включены файлы заголовков. Заголовок arduino включен, поскольку это руководство было написано в среде Eclipse IDE с расширением Arduino. Этот эскиз также будет работать для Arduino IDE, и при использовании этого эскиза в Arduino IDE нет необходимости включать заголовок.
#включают
Здесь определены два макроса для включения и выключения.
# определить ВКЛ 1 # определить ВЫКЛ 0
Приведенное ниже заявление используется для интеграции светодиодов и датчика вибрации. Датчик вибрации подключен к выводу A5. Также используется встроенный светодиод, который напрямую подключается на плате к контакту 13. 5-миллиметровый светодиод также подключается к контакту 13.
/ * * Описание выводов * / intibration_Sensor = A5; int LED = 13;
Объявлены два целых числа, в которых будут храниться текущие выходные данные датчиков и предыдущие выходные данные, которые в дальнейшем будут использоваться для определения того, происходит ли вибрация или нет.
/ * * Описание выполнения программы * / int present_condition = 0; int предыдущее_условие = 0;
Тот же вывод, который заявлен как периферийное соединение, направление выводов настроено. Контакт датчика в качестве входа и контакт светодиода в качестве выхода.
/ * * Настройка режима вывода * / void setup () { pinMode (vib_Sensor, INPUT); pinMode (светодиод, ВЫХОД); }
Написана одна функция, чтобы светодиод дважды моргнул. Задержку можно настроить, изменив значение задержки.
void led_blink (void) { digitalWrite (светодиод, горит); задержка (250); digitalWrite (светодиод, ВЫКЛ); задержка (250); digitalWrite (светодиод, горит); задержка (250); digitalWrite (светодиод, ВЫКЛ); задержка (250); }
В функции цикла сравнивается текущее и предыдущее состояние. Если эти два не совпадают, светодиоды начинают мигать, пока оба не станут одинаковыми. При запуске две переменные держат 0, и светодиод не горит во время запуска программы. Когда есть какой-то virbraion, переменная present_condition становится равной 1, и светодиод начинает мигать. И снова, когда вибрации прекращаются, оба значения становятся равными 0 и светодиод перестает мигать.
void loop () { предыдущее_условие = настоящее_условие; настоящее_условие = digitalRead (A5); // Чтение цифровых данных с контакта A5 Arduino. если (предыдущее_условие! = настоящее_условие) { led_blink (); } else { digitalWrite (светодиод, ВЫКЛ); } }
На этом завершается программирование Arduino UNO с датчиком вибрации. Последним шагом будет тестирование всей установки.
Тестирование цепи датчика вибрации Arduino
Схема не требует дополнительного макета. Его можно просто протестировать с помощью платы Arduino UNO Board. Светодиод контролируется при ударе датчика вибрации или изменении его состояния. Светодиод будет мигать, подключенный к контакту 13 Arduino UNO, когда есть некоторые вибрации. Если датчик вибрации не работает, проверьте подключение и питание. Избегайте неплотного соединения между датчиком и микроконтроллером.
Вот так датчик вибрации может быть подключен к Arduino UNO. Если у вас есть какие-либо сомнения или предложения, вы можете связаться с нами через форум или оставить комментарий ниже.