цифровая электроника
вычислительная техника
встраиваемые системы

 

Arduino и датчик капель/дождя

Автор: Mike(admin) от 5-08-2015, 15:40

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


Arduino и датчик капель дождя

Датчик дождя состоит из сенсорной пластины и платы с компаратором LM393. Помимо цифрового выхода, датчик имеет аналоговый выход, поэтому микроконтроллер Arduino может считывать аналоговые показания в диапазоне напряжений от 0 до 5 В или значение от 0 до 1023 после АЦП.


Arduino и датчик капель дождя

Если сенсорная плата датчика находится в сухом состоянии, аналоговый выход модуля составляет 5 В. В случае, если на пластину попадают капли дождя, соединяющие проводники платы между собой, то аналоговый выход изменяется от 5 В до 0 В в зависимости от количества влаги на пластине. Таким способом датчик сообщает нам, сильный или слабый идёт дождь. Arduino включит сигнализацию после определенной интенсивности дождя и некоторой задержки, что будет определено в коде. Это позволит избежать ложных срабатываний. В данном случае порог срабатывания составляет 300, а задержка 30 секунд.


Ниже представлен скетч для Arduino, который позволяет включать сигнализацию, подключенную к цифровому порту 8, при регистрации датчиком дождя.



int rainSensePin= 0; // аналоговый вход 0 для сигнала датчика
int alertPin= 8; // цифровой выход 8 - для сигнализации
int curCounter= 0; // счётчик - инкрементируется на 1 каждую секунду после срабатывания датчика
 
void setup(){
   Serial.begin(9600);
   pinMode(alertPin, OUTPUT);
   pinMode(rainSensePin, INPUT);
}
void loop(){
   int rainSenseReading = analogRead(rainSensePin);
   Serial.println(rainSenseReading); // для мониторинга через последовательный порт
   delay(250); // короткая задержка
   if (curCounter >= 30){ // конец временной задержки
      digitalWrite(alertPin, HIGH);  // срабатывание сигнализации
   }
 
   // если дождя больше нет, сбрасываем счетчик
   if (rainSenseReading <300){
      curCounter++;
   }
   else if (rainSenseReading >300) { // если интенсивность дождя не превышает порога
      digitalWrite(alertPin, LOW); // не включаем сигнализацию
      curCounter = 0; // сбрасываем счетчик в 0
   }
   delay(1000);
}

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


Arduino и датчик капель дождя

В данном случае питание на Arduino подаётся от внешнего источника 9 В, схема активации зуммера/реле может питаться от 5-12 В. Источник напряжения питания Vcc должен подходить как по напряжению, так и по току для данной схемы.


Таким образом, создание проекта, в котором с помощью платы Arduino можно регистрировать наличие или отсутствие дождя или падающих капель от какого-либо источника жидкости, не является сложным занятием. Датчик капель/дождя для Arduino достаточно распространен, стоит недорого и прост в использовании. В конечном счете его можно сделать самому.




© digitrode.ru


<Via>


Теги: Arduino



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

Комментарии:

Оставить комментарий
Цитата
  • Shyster

  • 12 августа 2015 17:42
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
smile А я делал на 3 транзисторах датчик дождя 1 транзистор на датчик который включает мультивибратор на 2 транзисторах настроенный на частоту 1000Гц