Текущее время: 03 окт 2024, 16:46

Калининград & ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Сигнализация протечки воды на Ардуино

Тут собраны схемы различных устройств и роботизированных механизмов, сделанных на контроллерах Ардуино, Лазерный гравер на Ардуино, Металлоискатель на Ардуино, Метеостанция, Кодовый замок, и множество других устройств и изобретений
Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Сигнализация протечки воды на Ардуино

Сообщение -=dp=- » 22 дек 2016, 09:33

Сигнализация протечки воды на Ардуино.

Вступление:
На днях дома произошел неприятный случай, утром зайдя на кухню увидел огромную лужу воды, оказалось что стал подтекать газовый котел.
Я первым делом отключил воду и стал искать место протечки. В итоге конечно всё нашел и устранил течь.
Но вот кухонная мебель, по которой стекала вода с котла, немного разбухла от влаги, что очень неприятно.
Данный случай меня как раз и натолкнул на мысль создать сигнализацию протечки воды на Ардуино.

Что нам понадобится для изготовления сигнализации протечки воды на Ардуино:

Плата Ардуино Про мини - 1шт,
Динамик или бузер - 1шт,
транзистор N-P-N малогабаритный , например S9014 - 1шт,
резисторы 560 Ом - 3шт
резистор 47 - 470 КОм - 1 шт
Светодиоды - 2 шт
макетная плата,
монтажные провода,
Корпус,
Блок питания 5 В 500 мА.
Просмотр и скачивание вложений, доступно только зарегистрированным пользователям.

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Сигнализация протечки воды на Ардуино

Сообщение -=dp=- » 22 дек 2016, 09:56

Сборка сигнализации протечки воды на Ардуино:

На самом деле схема очень простая,
Припаиваем на макетной плате к цифровым выходам 10,11,12 Ардуино Про мини резисторы 560 Ом.
К резисторам которые припаяны к выводам 10,11 припаиваем светодиоды, желательно разных цветов.
Светодиод подключенный к выводу 10 будет отображать питание устройства.
Светодиод подключенный к выводу 11 будет отображать сработку датчика протечки воды.
Резистор подключенный к выводу 12 припаиваем на базу транзистора S9014, эмитер транзистора сажаем на минус питания, а в коллекторную цепь подключаем последовательно динамик и плюс питания 5 В.

Самодельный датчик протечки воды:
Датчик протечки воды будем делать самостоятельно, из кусочка макетной платы.
Можно взять к примеру две полоски фольги или жести, соединить их через изолирующую прокладку и припаять к ним по одному проводу.
Можно просто зачистить два провода и зафиксировать их между собой на небольшом расстоянии, примерно 1 см.
Далее, другие концы проводов припаиваем к новым резисторам 560 Ом - 2 КОм, последовательно.
Один конец одного резистора припаиваем к плюсу питания 5в, а вывод второго резистора припаиваем к аналоговому входу А1 Ардуино.
Так же, не забываем припаять к аналоговому входу А1 резистор 47 КОм и соеденить его с минусом питания. Это необходимо для устранения электрических наводок на кабель идущий к датчику и предотвращения ложных срабатываний сигнализации.

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

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Сигнализация протечки воды на Ардуино

Сообщение -=dp=- » 22 дек 2016, 09:59

Скетч выложу немного позже, он у меня остался на домашнем ПК :roll:

Фото датчика протечки воды и фото готового устройства
Просмотр и скачивание вложений, доступно только зарегистрированным пользователям.

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Сигнализация протечки воды на Ардуино

Сообщение -=dp=- » 22 дек 2016, 10:24

:!:

Выложил видео с демонстрацией сигнализации
протечки воды на Ардуино https://youtu.be/0LDSAPt03F8

:!:

Аватар пользователя
 
Сообщений: 795
Зарегистрирован: 27 мар 2013, 22:12

Re: Сигнализация протечки воды на Ардуино

Сообщение -=dp=- » 22 дек 2016, 19:13

Выкладываю скетч для сигнализации протечки воды на Ардуино

Код: выделить все


void setup() {
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  Serial.begin(9600);
  digitalWrite(10, HIGH);
}


void loop() {
int W = analogRead(A1);
Serial.println(W);
if (W>130){
digitalWrite(11, HIGH); 
tone(12, 1200);
delay(100);
noTone(12);
tone(12, 1500);
delay(100);
noTone(12);
tone(12, 1800);
delay(100);
noTone(12);
digitalWrite(11, LOW);
delay(200);
};
}




Вернуться в Робототехника на Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0