Перейти к содержимому


Фотография

Урок №12. Датчик вибрации

Датчик вибрации

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 admin

admin

    Администратор

  • Администраторы
  • 32 сообщений

Отправлено 22 Ноябрь 2014 - 11:45

  Датчик вибрации по принципу действия похож на датчик звука. Основа датчика вибрации- гибкая металлическая пружинка, внутри пластиковой трубки, которая колеблется от любых воздействий на нее. При срабатывании датчика на сигнальном выводе появляется логический ноль. Область применения таких датчиков- это различного рода сигнализаторы. Закрепив такой датчик на входной двери, мы можем  зафиксировать стук в дверь и включить световое или звуковое оповещение. Вывод VCC датчика вибрации подключим к выводу 5V платы Arduino с помощью макетной платы.  Arduino. Вывод GND датчика вибрации соответственно  подключим к выводу GND. Сигнальный вывод D0 подключим к выводу 8 платы Arduino. Нам понадобится звуковой сигнализатор- зуммер из набора. Не забудьте- длинный вывод у зуммера является плюсовым, короткий- минусовым.  Подключим плюсовой вывод зуммера к 5 выводу Arduino, минусовой- к выводу GND. Напишем программу со следующим алгоритмом. Arduino будет ожидать срабатывания датчика вибрации. Как только датчик сработал, то через секунду зуммер издаст троекратный звук.

//выбор выводов
int sensor = 8; // датчик движения подключен  на 8-ый вывод
int zummer = 5; // зуммер на  5-ый вывод
int sensorStatus = HIGH; // первоначальный статус кнопки- не нажата.
void setup ()
{
  pinMode (sensor , INPUT); // вывод для датчика  настраиваем как "вход"
  pinMode (zummer, OUTPUT); // вывод зуммера настраиваем как "выход"
  digitalWrite(zummer, LOW);  // сначала зуммер молчит
}
//выполение основной программы
void loop()
{
  sensorStatus = digitalRead(sensor);  // если датчик вибрации сработал 
  if (sensorStatus == LOW)
  {
    delay(1000); 
    digitalWrite(zummer, HIGH);  // выполняем Бип-бпи-биип
    delay (50);
    digitalWrite(zummer, LOW);
    delay (300);
    digitalWrite(zummer, HIGH);
    delay (50);
    digitalWrite(zummer, LOW);
    delay (300);
    digitalWrite(zummer, HIGH);
    delay (100);
    digitalWrite(zummer, LOW);
    delay (300);
  }
  else // если нет стука
  {
    digitalWrite(zummer, LOW);  // зуммер молчит
  }
}

  Подключаем  USB кабель, записываем программу в плату Arduino проверяем работу датчика.. Для такого сигнализатора понадобится автономное питание, а ведь не всегда удобно будет протянуть USB шнур до входной двери. Будем использовать блок батарей для питания платы Arduino. Плюсовой красный провод от блока батарей подключается к выводу Vin платы Arduino. Минусовой провод- к одному из выводов GND. Осторожно!!! Не перепутайте полярность. Есть вероятность выхода из строя платы Arduino. Одновременное подключение блока батарей и USB шнура приведет крайне нежелательно  для «здоровья» вашего компьютера.

Прикрепленные файлы






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных