ARDUINO Автономный автополив на 1-12 комнатных растений

Как вам проект?

  • Хорошая идея и реализация

  • Сделано неплохо, но нужно дорабатывать

  • Тема хорошая, но я бы сделал по другому

  • Системы автополива не особо интересны

  • По теме полно готовых проектов, нет смысла придумывать что-то своё

  • Размещать здесь не стоило, не особо интересно

  • Вызывает негатив


Результаты будут видны только после голосования.

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Всем привет!

Сегодня я закончил сборку автономной системы автополива для комнатных растений, чем и спешу поделиться. В последнее время участники форума мало своих проектов выкладывают, решил это немного поправить.

Видео по моим системам автополива:



Первая система:

IMG_20190322_211108.jpg
IMG_20180929_220042 (2).jpg

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

Мысли на тему концепции системы

У AlexGyvera было 2 проекта, связанных с автополивом: простейшая система на Digspark на 1 помпу и многоканальная система с дисплеем и кучей наворотов. Начал я с копирования простой системы. Мой опыт изложен в соответствующем разделе форума, повторяться не буду, вот ссылка:
https://community.alexgyver.ru/threads/Простой-автополив.35/

Многоканальную систему реализовывать не стал, т.к. для меня важным моментом была автономность. Не хочу что-то оставлять включенным в розетку на несколько недель, когда уезжаю в командировку или в отпуск. Супергибкие настройки через энкодер лично мне не особо нужны. Потратить пару минут несколько раз в год, чтобы перепрошить Ардуину для меня не проблема. Регулярно менять настройки у меня нет необходимости. В то же время мне понравилась идея системы с дисплеем. В простой системе на Digispark как раз не хватало информации о текущих настройках и оставшемся времени до ближайшего срабатывания.
Я решил сделать что-то среднее между этими 2-мя системами.

Многие добавляют в системы автополива датчики влажности почвы. В моем понимании такие датчики должны быть в системах полива для открытого грунта, чтобы не поливать растения, если недавно был дождь. В квартире можно подобрать оптимальные интервалы и продолжительность полива и нет необходимости усложнять систему лишними элементами.

В итоге родились следующие требования к системе:
  1. Автономная работа минимум 1 месяц
  2. Должна быть возможность настраивать количество поливаемых растений
  3. Время срабатывания помп должно настраиваться с точностью до часа
  4. Должно быть информирование:
    • Текущие настройки для каждой помпы
    • Сколько дней осталось до срабатывания каждой помпы
    • Уровень заряда аккумулятора
    • Индикация, что идет зарядка аккумулятора от солнечной батареи
Мой проект

Система состоит из 3х помп. Настройки работы каждой помпы задаются отдельно. Маленькие помпы можно использовать с гребенками - разветвителями на 3-4 крана. В итоге можно поливать до 12 растений. Помимо программных настроек работы помп, дополнительные настройки делаются кранами.

На дисплей выводится следующая «таблица»: строки – номера помп, столбцы информация по каждой помпе.
  • ПР – период работы. Раз в сколько дней будет срабатывать помпа.
  • ЧР- час работы. Указывается час (например «19» - помпа сработает в 19:00), кода сработает помпа.
  • ВР – время работы помпы. Указывается в секундах на сколько включится помпа.
  • ДО – дней осталось. Через сколько дней произойдет ближайший полив.
  • Также выводится текущие время и дата
Можно программно отключить 2 и/или 3 помпу, тогда выводится информация только по активным помпам.

Меры по обеспечению автономности:
  • 3 аккумулятора 18650
  • Питание от солнечной батареи
  • Ардуино уходит в Powerdown и просыпается по Watсhdog
  • У Ардуино выпаял стабилизатор напряжения
  • Дисплей Nokia
  • Дисплей находится в выключенном состоянии, включается только после удержания кнопки, после этого через некоторое время опять выключается
  • Все индикаторы либо выпаяны с модулей, либо вынесены на панель и включаются только при удержании кнопок.
Детали:
  • Корпус из коробки для еды за 40р из Ашана
  • Arduino nano
  • Дисплей Nokia
  • Модуль часов DS3231
  • Аккумуляторы 18650 в холдере
  • Повышающий модуль до 5В
  • Понижающий модуль до 3,3В для дисплея
  • Модуль зарядки аккумулятора TP4056
  • Индикатор зарядки аккумулятора
  • Солнечная батарея
  • Электролитические и керамические конденсаторы, резисторы, светодиоды, полевые транзисторы
  • Кнопки и выключатели

Схема
Plant_water 1.1_bb.jpg


Сначала использовал Мосфет модули с Али, но они много места занимали, решил сделать батарею из Мосфетов с обвязкой из резисторов + разъемы для крепления проводов винтами.

В целях энергосбережения отпаял у модуля DS3231 светодиод Power (1). Также конструкция модуля предполагает, что будут использованы аккумуляторные батарейки CR2032. Если вы используете обычные, то нужно отпаять резистор (2), иначе модуль будет постоянно заряжать обычную батарейку, тем самым убивая её.
DS3231.JPG


Общий алгоритм работы программы:
  • Просыпаемся по Вотчдогу
  • Снимаем текущие данные по времени и дате
  • Если дата изменилась, считаем количество прошедших дней для каждой помпы
  • Если число прошедших дней совпадает с периодом работы в настройках - проверяем час.
  • Если час с модуля времени равен часу указанному в настройках для помпы, подаем напряжение на Пин помпы далее задержка кода (равная интервалу полива из настроек), отключаем напряжение на Пине, сбрасываем счетчик прошедших дней для данной помпы.
  • В каждом цикле уходим в сон
  • При удержании кнопки активизируется дисплей и отображает информацию. При смене минуты в модуле времени дисплей отключается.

Хотел бы услышать ваши рекомендации по доработке.



Скетч и библиотеки
 

Вложения

Изменено:

AlexGliRU

✩✩✩✩✩✩✩
31 Июл 2018
12
2
Всем привет!

Сегодня я закончил сборку автономной системы автополива для комнатных растений, чем и спешу поделиться. В последнее время участники форума мало своих проектов выкладывают, решил это немного поправить.
...
Если кому интересно, пишите, приложу скетч. Написан он по уродски, но работает. Буду со временем его допиливать.

[/SPOILER]
1. Выложите пожалуйста принципиальную схему (если делали). Особенно интересует батарея с мосфетами.
2. Выложите скетч.
3. По солнечной батарее. Напряжение на батарее гуляет от 0 до 28В (вроде). Не понял, что вы используете для преобразования 0-28В в 12В.
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Приветствую!
1. Схему к сожалению не рисовал. По поводу батареи мосфетов, подключается примерно по такому принципу (мосфер рвёт землю):

Мосфет.JPG
Если нужно, могу во Fritzing более подробно разрисовать схему батареи.

2. Скетч вот такой, его дорабатывать нужно по хорошему, очень уж примитивно написан. Но у меня система почти месяц работает без проблем, поэтому всё рабочее.

C++:
#include <Wire.h>                           // Подключаем библиотеку Wire                         
#include <TimeLib.h>                        // Подключаем библиотеку TimeLib
#include <DS1307RTC.h>                      // Подключаем библиотеку DS1307RTC
#include <Adafruit_GFX_rus.h>               // Подключаем библиотеку Экран Нокиа
#include <Adafruit_PCD8544_rus.h>           // Подключаем библиотеку Экран Нокиа
#include <avr/wdt.h>                        // Подключаем библиотеку сторожевого таймера
#include <avr/sleep.h>                      // Подключаем библиотеку энергосбережения
Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7); // Обозначаем пины для экрана
// Обозначаем переменные

int periodwork;
int hourwork;
int contwork;
int dayscount;
int startday;
int nowday;
int delaytime;
int polivflag;
int nowhour;


boolean  pomp2activate;
int periodwork2;
int hourwork2;
int contwork2;
int dayscount2;
int startday2;
int nowday2;
int delaytime2;
int polivflag2;
int nowhour2;

boolean  pomp3activate;
int periodwork3;
int hourwork3;
int contwork3;
int dayscount3;
int startday3;
int nowday3;
int delaytime3;
int polivflag3;
int nowhour3;

void setup() {

// Настройки полива

periodwork = 4; // Раз в сколько дней производится полив
hourwork = 20;   // час когда производится полив
contwork = 30;  // время полива в секундах

pomp2activate = 1;
periodwork2 = 4; // Раз в сколько дней производится полив
hourwork2 = 21;   // час когда производится полив
contwork2 = 25;  // время полива в секундах

pomp3activate = 0;
periodwork3 = 7; // Раз в сколько дней производится полив
hourwork3 = 22;   // час когда производится полив
contwork3 = 50;  // время полива в секундах

// Настраиваем дисплей
display.begin();
display.clearDisplay();
display.display();
display.setContrast(60); // установка контраста
delay(1000);
display.setTextSize(1);  // установка размера шрифта
display.setTextColor(BLACK); // установка цвета текста
display.setCursor(0,0); // установка позиции курсора

dayscount = 0;
nowday =0;
delaytime = contwork*1000;
pinMode(9,OUTPUT);
polivflag=0;


tmElements_t tm;
if (RTC.read(tm)) {

startday = (tm.Day);
if (pomp2activate == 1){
startday2 = (tm.Day);
}
if (pomp3activate == 1){
startday3 = (tm.Day);
}

} // if (RTC.read(tm))

if (pomp2activate == 1){
dayscount2 = 0;
nowday2 =0;
delaytime2 = contwork2*1000;
pinMode(10,OUTPUT);
polivflag2=0;
}

if (pomp3activate == 1){
dayscount3 = 0;
nowday3 =0;
delaytime3 = contwork3*1000;
pinMode(11,OUTPUT);
polivflag3=0;
}

} // void setup()

void loop(){
//Включаем энергосбережение
wdt_enable(WDTO_8S); //Задаем интервал сторожевого таймера (2с)
WDTCSR |= (1 << WDIE); //Устанавливаем бит WDIE регистра WDTCSR для разрешения прерываний от сторожевого таймера
set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Устанавливаем интересующий нас режим
sleep_mode(); // Переводим МК в спящий режим


delay(1000);
tmElements_t tm;
if (RTC.read(tm)) {

// Вывод на экран

display.clearDisplay();
display.display();

display.print("   ПР ЧР ВР ДО");
display.print("П1 ");
if (periodwork < 10)  {
   display.print(" ");
   display.print (periodwork);
} else {
display.print (periodwork);
}
display.print(" ");
if (hourwork < 10)  {
display.print(" ");
display.print (hourwork);
} else {
display.print (hourwork);
}
display.print(" ");
if (contwork < 10)  {
display.print(" ");
display.print (contwork);
} else {
display.print (contwork);
}
if (contwork < 100)  {
   display.print(" ");
}
if (periodwork - dayscount < 10)  {
display.print(" ");
display.print (periodwork - dayscount);
} else {
display.print (periodwork - dayscount);
}




nowday  = (tm.Day);

if (nowday != 0 && nowday != startday ) {
dayscount=dayscount+1;
polivflag=0;
startday = nowday;
}
if(dayscount == periodwork){
nowhour = (tm.Hour);

if (nowhour == hourwork && polivflag==0) {
  digitalWrite(9,HIGH);
  delay (2000);
  digitalWrite(9,LOW);
  delay (5000);
  digitalWrite(9,HIGH);
  delay(delaytime);
  digitalWrite(9,LOW);
  polivflag=1;
  dayscount=0;
} // if (nowhour == hourwork && polivflag==0)

} // if(dayscount == periodwork)

// Такой же блок, для 2 помпы

if (pomp2activate == 1){
display.print("П2 ");
if (periodwork2 < 10)  {
   display.print(" ");
   display.print (periodwork2);
} else {
display.print (periodwork2);
}
display.print(" ");
if (hourwork2 < 10)  {
display.print(" ");
display.print (hourwork2);
} else {
display.print (hourwork2);
}
display.print(" ");
if (contwork2 < 10)  {
display.print(" ");
display.print (contwork2);
} else {
display.print (contwork2);
}
if (contwork2 < 100)  {
   display.print(" ");
}
if (periodwork2 - dayscount2 < 10)  {
display.print(" ");
display.print (periodwork2 - dayscount2);
} else {
display.print (periodwork2 - dayscount2);
}
nowday2  = (tm.Day);

if (nowday2 != 0 && nowday2 != startday2 ) {
dayscount2=dayscount2+1;
polivflag2=0;
startday2 = nowday2;
}
if(dayscount2 == periodwork2){
nowhour2 = (tm.Hour);

if (nowhour2 == hourwork2 && polivflag2==0) {
  digitalWrite(10,HIGH);
  delay (2000);
  digitalWrite(10,LOW);
  delay (5000);
  digitalWrite(10,HIGH);
  delay(delaytime2);
  digitalWrite(10,LOW);
  polivflag2=1;
  dayscount2=0;
} // if (nowhour2 == hourwork2 && polivflag2==0)

} // if(dayscount2 == periodwork2)




} // if (pomp2activate == 1)

// Такой же блок, для 3 помпы

if (pomp3activate == 1){
display.print("П3 ");
if (periodwork3 < 10)  {
   display.print(" ");
   display.print (periodwork3);
} else {
display.print (periodwork3);
}
display.print(" ");
if (hourwork3 < 10)  {
display.print(" ");
display.print (hourwork3);
} else {
display.print (hourwork3);
}
display.print(" ");
if (contwork2 < 10)  {
display.print(" ");
display.print (contwork3);
} else {
display.print (contwork3);
}
if (contwork3 < 100)  {
   display.print(" ");
}
if (periodwork3 - dayscount3 < 10)  {
display.print(" ");
display.print (periodwork3 - dayscount3);
} else {
display.print (periodwork3 - dayscount3);
}
nowday3  = (tm.Day);

if (nowday3 != 0 && nowday3 != startday3 ) {
dayscount3=dayscount3+1;
polivflag3=0;
startday3 = nowday3;
}
if(dayscount3 == periodwork3){
nowhour3 = (tm.Hour);

if (nowhour3 == hourwork3 && polivflag3==0) {
  digitalWrite(11,HIGH);
  delay (2000);
  digitalWrite(11,LOW);
  delay (5000);
  digitalWrite(11,HIGH);
  delay(delaytime3);
  digitalWrite(11,LOW);
  polivflag3=1;
  dayscount3=0;
} // if (nowhour3 == hourwork3 && polivflag3==0)

} // if(dayscount3 == periodwork3)

} // if (pomp3activate == 1){



//Вывод текущих даты и времени
//display.println(" ");
display.print(tm.Hour);
display.print(':');
if (tm.Minute < 10)  {
display.print("0");
display.println (tm.Minute);
} else {
display.println (tm.Minute);
}
display.print(tm.Day);
display.print('/');
display.print(tm.Month);
display.print('/');
display.print(tmYearToCalendar(tm.Year));
display.print(" ");
display.display();

} // if (RTC.read(tm))

} // void loop()

ISR (WDT_vect) {
  wdt_disable();
}
3. Конкретно моя батарея выдает от 4 до 6В. Т.е. никаких преобразователей не требуется. Подключил ее к модулю TP4056 и всё норм. На всякий случай добавил диод Шотки, чтобы ток в одном направлении шел и фильтр из конденсаторов для стабильности. Мощность батареи правда небольшая. У меня окно выходит на север и прямые лучи на нее вообще практически не попадают. Ток около 0,02 А. Несмотря на всё это почти за месяц работы аккумуляторы разрядились только на 30% где-то, что я считаю хорошим показателем.
 
Изменено:
  • Лойс +1
Реакции: AlexGliRU и Turtoise

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Всем привет!

На днях доработал проект в вопросе энергопотребления. Хоть экран Nokia и считается самым энергоэффективным, но тем не менее он потребляет 3,3В 15мА на питание (VCC) + дополнительно 5В 15-20мА с сигнальных пинов Ардуино. Благодаря солнечной батареи, которая в среднем выдает 15-20 мА система проработала чуть больше месяца, как и было рассчитано. Напряжение на аккумуляторах после месяца работы составило 3,5 В, т.е. остаточный заряд грубо около 15-20%. Думаю, еще неделю бы протянула, но всё таки хотелось заметно продлить время автономной работы.
Появилась простая идея, чтобы экран включался только при нажатии кнопки, а остальное время был выключен. Добавил тактовую кнопку между пином А2 и землей:
IMG_20180929_220042.jpg

Помимо этого убрал лишние Delay, чтобы система больше проводила в состоянии PowerDown

Т.к. процессор уходит в PowerDown на 8 секунд, кнопку нужно удерживать от 1 до 10 секунд. Millis тоже нормально не работает, когда процессор заснул, поэтому отключение дисплея сделал после смены минуты в модуле времени (соответственно отключаться дисплей будет через 1-60 секунд).
Наверно всё это можно запрограммировать более эстетически правильно и удобно, но навык программирования Ардуино сейчас не позволяет, а дальше разбираться пока лень. Может когда-нибудь допилю.

Итого система в режиме ожидания в среднем потребляет 3мА (раньше потребляла 35-45мА). За сутки потребление получится 72мА/ч. А солнечная батарея даже при работе с 9:00 до 16:00 (Зима) вырабатывает в сутки 144мА/ч. Т.е. генерация в 2 раза больше потребления. Излишки энергии накапливаются в аккумулятор и во время полива съедаются помпами, а также питают систему, когда солнца нет. Не стал заморачиваться с расчетами нового времени автономной работы, думаю оно теперь измеряется месяцами, что меня более чем устраивает.

Считаю в целом проект завершенным и рабочим, займусь тиражированием на другие комнаты квартиры. Спасибо форумчанам за советы, а Alexgyver за вдохновение.

Также прикладываю обновленный скетч.
 

Вложения

Изменено:

Bloober

✩✩✩✩✩✩✩
1 Окт 2018
2
0
Ваш проект очень интересный, но хотелось бы увидеть подробную схему подключения! Выложи если не трудно!
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Ваш проект очень интересный, но хотелось бы увидеть подробную схему подключения! Выложи если не трудно!
Хорошо, на неделе разрисую подробную схему подключения во fritzing, если интерес есть.
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Нарисовал схему, прикрепил библиотеки по управлению дисплеем и модулем времени, остальные библиотеки вроде бы стандартные.
 
  • Лойс +1
Реакции: AlexGliRU и Bloober

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Обновил скетч. В процессе эксплуатации выявился дефект: если указать продолжительность работы больше 32 секунд, помпа зависает и качает пока вода не кончится. Проблема была в типе переменных. Сейчас всё норм. Это натолкнуло меня на мысль, что нужно дополнительно сделать систему аварийного отключения, не связанную с микроконтроллером. Попробую реализовать при помощи установки дополнительного реле времени.
 
Изменено:
  • Лойс +1
Реакции: Bloober

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Где-то через пол года эксплуатации начали подыхать мосфеты . Оказалось в режиме торможения мотор постоянного тока может работать как генератор, тем самым убивая мосфет. Нагуглил схему с защитным диодом. Буду пробовать. Схему во Fritzing поправлю позже.

Защита мосфета.JPG
1111.jpg
 
  • Лойс +1
Реакции: Edd01

Alexeyp

✩✩✩✩✩✩✩
5 Дек 2019
5
0
Добрый день!
Очень интересный проект! Большое Вам спасибо за подробные инструкции!
Хотелось бы узнать, чем в итоге закончился процесс доработки в плане сбережения мосфетов? Удалось реализовать и отработать улучшенную схему?Очень нравится Ваша задумка и хотел бы тоже повторить проект, но с учетом всех обновлений, так сказать.
Буду очень благодарен, если сможете поделиться новой информацией.
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
@Alexeyp,
Приветствую! Да защитные диоды работают. Новую систему тоже сделал. Уже больше чем пол года работает.

Вот здесь есть видео по ней. В описании к видео есть ссылки на схемы, плату, статью и т.д.

На канале по системе, описанной в этой статье тоже есть видео.

Ещё по опыту могу сказать, что срок службы мини помп с Али за 1$ - примерно год пол-тора. Сейчас во всех системах работают 5 помп, уже 2 помпы успел поменять. Буду пробовать перистальтические мини насосы.
 

Alexeyp

✩✩✩✩✩✩✩
5 Дек 2019
5
0
@EandV, большое спасибо за быстрый ответ!
Я просто собрал "простой автополив по схеме Gyver'a". Так очень криво работает. При тестировании с короткими интервалами все как надо, но при выставлении рабочего периода не работает. При подаче питания несколько кратковременных включений с заполнением шлангов водой и всё, тишина. По прошествии заданного времени даже учетом отставания 10-12% включения нет.
Вот я в попытках найти на форумах решение проблемы и наткнулся на Ваш шикарный первый пост. Второго с новой системой пока и не видел;-)
Так что за наводку еще раз благодарю!)
Хорошо, что не успел заказать рассыпуху на али. Сейчас с учетом изменений все скорректирую;-)
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
@Alexeyp, Да, пожалуйста.
Вообще вариантов систем автополива много, есть простые, есть сложные, с датчиками влажности, модулями времени и т.д. Сколько людей, столько и мнений о том, как лучше. Я для себя пытался найти некую золотую середину, чтобы и не сложно, без лишних наворотов и чтобы работало четко и удобно. Рад, что кому-то мои наработки интересны.
 
  • Лойс +1
Реакции: craz и Alexeyp

Alexeyp

✩✩✩✩✩✩✩
5 Дек 2019
5
0
Доброго дня! Дождался нормальных перистальтических помп и хочу доделать систему автополива Вашей разработки. Я совсем не силен в программировании ардуино, поэтому хочу задать один вопрос. Если я использую 2 насоса вместо трех не меняя скетч, то какова будет реакция? Просто удалю один из мосфетов из батареи и не буду распаивать соответствующий пин NANO. Настройки третьего насоса просто будут недоступны для корректировки и там будут нули или весь алгоритм нарушится и система будет неработоспособна?
Буду очень благодарен за ответ.
С уважением, Алексей.

забыл уточнить, собирать буду версию №2. Просто написал тут, потому как ранее в этой ветке Вы мне любезно отвечали на вопросы.
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
@Alexeyp,

Приветствую! Система подразумевает использование от 1 до 3 помп. Всё будет работать нормально с 2-мя. Ещё для эстетики можно в коде изменить pomp3activate = 1 на 0, тогда будут отображаться только 2 строчки с параметрами полива. Но это не обязательно.

По поводу перистатических помп есть одна тонкость. Если питание просто отключить по завершению полива, в трубках останется вода (в отличие от помп в описании). По хорошему нужно их включать на реверс на какое-то время, чтобы они обратно слили воду из трубок в резервуар. Для этого вместо мосфетов понадобится драйвер коллекторного двигателя и скетч переписать. Я сейчас как раз такую версию тестирую + с датчиком влажности почвы. Но увлекся другими проектами, поэтому пока не доделал.
 

Alexeyp

✩✩✩✩✩✩✩
5 Дек 2019
5
0
Спасибо большое за ответ! Супер. Тогда просто сделаю на 2 помпы. У каждой разветвитель еще будет и 3 помпы от одной коробки это перебор наверно уже - страшный спрут будет. Хотя, подумаю еще, с женой посоветуюсь, как ей удобнее будет использовать:)
А по поводу воды в шлангах с перистальтическими помпами. А чем это плохо? Остается вода в шлангах и вроде как ладно. Или опасаетесь, что вода эта портиться будет и засорять шланги в итоге?
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Кстати по второй системе в монтажной схеме ошибка была (4й мосфет не экран отключает, а модуль времени), вот так правильно:
Plant_water 2.3_bb.jpg
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Спасибо большое за ответ! Супер. Тогда просто сделаю на 2 помпы. У каждой разветвитель еще будет и 3 помпы от одной коробки это перебор наверно уже - страшный спрут будет. Хотя, подумаю еще, с женой посоветуюсь, как ей удобнее будет использовать:)
А по поводу воды в шлангах с перистальтическими помпами. А чем это плохо? Остается вода в шлангах и вроде как ладно. Или опасаетесь, что вода эта портиться будет и засорять шланги в итоге?
Честно скажу, что не проверял, что будет, если вода в трубках будет долго стоять. Теоретически могут заилиться и зацвести.
 

Alexeyp

✩✩✩✩✩✩✩
5 Дек 2019
5
0
Вот это да! Спасибо большое, что сообщили! А то я бы напаял и потом не понял почему не работает:)
Кстати, по поводу млодуля времени. В описании первого проекта написано, что нужно выпаять резистор если использовать обычные батарейки, а не аккумуляторы? В описании 2-ого проекта этой пометки нет. Выпаивать? Аккумуляторов таких я даже и не видел ни разу....
 

EandV

★★★✩✩✩✩
4 Авг 2018
288
163
Вот это да! Спасибо большое, что сообщили! А то я бы напаял и потом не понял почему не работает:)
Кстати, по поводу млодуля времени. В описании первого проекта написано, что нужно выпаять резистор если использовать обычные батарейки, а не аккумуляторы? В описании 2-ого проекта этой пометки нет. Выпаивать? Аккумуляторов таких я даже и не видел ни разу....
Да, всё тоже самое. Выпаивать, если батарейка обычная. А я на Али заказал аккумуляторную батарейку и выпаивать ничего не стал.
 
  • Лойс +1
Реакции: qbaddev