Существует ряд критически важных механизмов или дорогостоящего оборудования, которые страдают от вибраций. В таком случае требуется датчик вибрации, чтобы определить, производит ли машина или оборудование вибрации или нет. Идентификация объекта, который постоянно вибрирует, не является сложной задачей, если для обнаружения вибрации используется соответствующий датчик.
Есть несколько типов датчиков вибрации, доступных на рынке, которые могут обнаруживать вибрации путем определения ускорения или скорости и могут обеспечить превосходный результат. Однако такие датчики слишком дороги, когда используется акселерометр. Акселерометр очень чувствительный и может быть использован для создания схемы детектора землетрясения или сейсмографа. Но есть несколько специализированных и дешевых датчиков, которые также могут обнаруживать только вибрации, одним из таких датчиков является SW-420, который в этом примере мы собираемся связать с Arduino Uno.
Таким образом, в этом проекте базовый модуль датчика вибрации будет сопряжен с популярной платой Arduino UNO, и всякий раз, когда датчик вибрации будет обнаруживать любую вибрацию или рывок, светодиод начнет мигать.
На изображении выше показан вибрационный модуль SW-420, который может работать от 3,3 до 5 В. Датчик использует компаратор LM393 для обнаружения вибрации через пороговую точку и выдачи цифровых данных, 0 или 1. Во время нормальной работы датчик обеспечивает логический 0, а при обнаружении вибрации датчик обеспечивает логическую 1. В модуле имеется три периферийных устройства, два светодиода, один для состояния питания и другой для выхода датчика. Кроме того, имеется потенциометр, который в дальнейшем можно использовать для контроля пороговой точки вибрации. В этом проекте мы будем использовать 5V для питания модуля.
Схема подключения датчика вибрации с Arduino uno приведена ниже.
Светодиод подключен к выводу D13. Модуль питается от имеющегося 5-вольтового контакта Arduino. Заземление и вывод 5V используются для включения питания Arduino, а вывод A5 – для получения данных от датчика вибрации. Вот более наглядное изображение подключения.
Программирование Arduino UNO для сопряжения с датчиком вибрации не требует больших усилий, так как только входной контакт должен контролироваться, чтобы обеспечить требуемую выходную информацию. Код программы следующий.
#include <Arduino.h>
#include <stdio.h>
#define ON 1
#define OFF 0
/*
* Выводы
*/
int vibration_Sensor = A5;
int LED = 13;
/*
* Переменные
*/
int present_condition = 0;
int previous_condition = 0;
/*
* Настройка выводов
*/
void setup() {
pinMode(vibration_Sensor, INPUT);
pinMode(LED, OUTPUT);
}
/*
* Мигание светодиодом
*/
void led_blink(void);
/*
* бесконечный цикл
*/
void loop() {
previous_condition = present_condition;
present_condition = digitalRead(A5); // Считываем данные с вывода A5 платы Arduino.
if (previous_condition != present_condition) {
led_blink();
} else {
digitalWrite(LED, OFF);
}
}
void led_blink(void) {
digitalWrite(LED, ON);
delay(250);
digitalWrite(LED, OFF);
delay(250);
digitalWrite(LED, ON);
delay(250);
digitalWrite(LED, OFF);
delay(250);
}
Схема не требует дополнительной макетной платы. Ее можно просто протестировать с помощью платы Arduino UNO. Светодиод мигает при нажатии на датчик вибрации или изменении его состояния. Светодиод будет мигать, подключенный к контакту 13 Arduino UNO, когда есть некоторые вибрации. Если датчик вибрации не работает, проверьте подключение и питание. Избегайте любых слабых связей между датчиком и микроконтроллером.
© digitrode.ru