Обзор модуля вибрации SW-18010P, LM393
В этой статье рассмотрим модуль вибрации (удара) в качестве датчика используется SW-18010P. Данный датчик представляет собой герметичную трубку с пружиной в центре, которая при ударе или ускорении кратковременно касается корпуса. Отличное решение для сигнализации и других проектов.
Технические параметры
► Напряжение питания: 3.3 В или 5.5 В
► Потребляемый ток: 10 мА
► Используемый датчик: SW-18010P
► Цифрового выход: TTL (лог 1 или лог 0)
► Диаметр монтажного отверстия: 2.5 мм
► Выходной ток: 15 мА
► Габариты: 32мм х 14мм
Общие сведения
Модуль собран на небольшой плате, габариты которой всего 32 мм х 1.4 мм, основная микросхема это компаратор LM393, точно такой же используется в модуле освещенности и инфракрасный модуль препятствия. Показания снимаются с датчика вибрации SW-18010P, который представляет собой небольшую пружину в металлическом корпусе. При ударе или ускорении пружина кратковременно касается корпуса и проходит замыкание.
Модуль содержит четыре контакта, два выходных контакты, аналоговый и цифровой и два контакта для подключения питания. Для считывания аналогово сигнала предусмотрен отдельный вывод «AO», с которого можно считать показания напряжения с 0 В … 3.3 В или 5 В в зависимости от используемого источника питания. Цифровой вывод DO, устанавливается в лог «0» если произошло касание пружины и трубки или лог «1», если нет касания, чувствительность выхода можно регулировать с помощью поворотного потенциометра (цифровой выход может выдать ток до 15 мА).
Назначение контактов:
► VCC и GND — питание модуля
► D0 — цифровой выход
► A0 — аналоговый выход
Подключение модуля вибрации SW-18010P к Arduino
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Модуль вибрации SW-18010P, LM393, 4 pin x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
Подключение:
В данном примере буду использовать модуль вибрации и Arduino UNO R3, данные будут передаваться в «Мониторинг порта». Схема не сложная, сначала необходимо подключить питание, GND к GND и VCC к 5V (можно записать и от 3.3 В), затем подключаем вывод OUT к порты D0 (Arduino). Схема подключения приложена ниже.
Программа:
Теперь запускаем среду разработки Arduino IDE и загружаем данный скетч в контроллер
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 15.04.2019г. */ int pinA0 = A1; // Пин к которому подключен A0 int pinD0 = A0; // Пин к которому подключен D0 int motionDetected = 0; int sensorVal = 0; void setup() { Serial.begin(9600); pinMode (pinA0, INPUT); // Установим вывод A0 как вход pinMode (pinD0, INPUT); // Установим вывод A1 как вход } void loop() { motionDetected = digitalRead(pinD0); // Считываем показания sensorVal = analogRead(pinA0); // Считываем показания Serial.print("Anaologue: "); Serial.print(sensorVal); Serial.print(" Digital :"); Serial.println(motionDetected); delay(100); } |
Открываем окно «Мониторинг порта» и несильно бьем датчик и смотрим на показания.
Скетч несложный и описывать его не вижу смысла.
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Модуль вибрации SW-18010P, LM393, 4 pin
Купить в Самаре и области
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Модуль вибрации SW-18010P, LM393, 4 pin
А что надо сделать, что бы после срабатывания датчика, шёл сигнал на реле?
Добрый день, можете попробовать по аналогии с SR501
https://robotchip.ru/obzor-infrakrasnogo-datchika-dvizheniya-hc-sr501/