0,0
рейтинг
30 января 2014 в 12:29

Делаем автополив комнатного цветка на Arduino за 15 минут из песочницы

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

image

При помощи двух регуляторов можно настроить объём поливаемой за раз воды, а также период между поливами. Кому интересно — далее подробная инструкция, как сделать такое устройство.

Для сборки поливалки вам понадобится некоторое количество компонентов и не более чем 30 минут свободного времени.

Используемые компоненты:
  • Arduino Mega (она просто была под рукой, но любая другая подойдёт)
  • Насос и силиконовая трубка (подойдёт насос омывателя автомобильных стёкол — можно купить в любых автозапчастях или можно купить маленький погружной насос на ebay)
  • Блок питания
  • Два переменных резистора для регулировки (любые)
  • Транзистор IRL3705N
  • Два резистора (100 Ом и 100 кОм)
  • Диод (любой)
  • Резервуар для воды (в моем случае пластиковая коробочка из Ikea)
  • Макетка


image

Собираем всё по такой схеме:
image

Или нагляднее:
image

Вот что получилось у меня:
image

Сначала протестим насос. Подадим на него 5В. Если он зажужжал, всё в порядке, двигаемся дальше.

Теперь подключим насос к Arduino. Сделаем для управления насоса с ардуино небольшую обвязку на макетке.
image

Попробуем поуправлять насосом с Ардуино. Зальём такой код

int pumpPin = 5;

void setup() {
  pinMode(pumpPin, OUTPUT);
  digitalWrite(pumpPin, LOW); 
}

void loop() {
  digitalWrite(pumpPin, HIGH);
  delay(1000);
  digitalWrite(pumpPin, LOW);
  delay(1000);
}


Если он периодически жужжит, значит, снова всё в порядке.

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

Зальём такой код на Ардуино

int volumePin = A0;

void setup() {
  pinMode(volumePin, INPUT);
  Serial.begin(9600);
}

void loop() {
  Serial.println(analogRead(volumePin));
  delay(100);  
}


Зайдём в Serial Monitor и убедимся, что есть реакция на поворот регулятора. Он должен меняться примерно от 0 до 1024

image

Теперь осталось заставить заработать всё это вместе.

Вот непосредственно код поливалки:

// Первый регулятор управляет временем, которое будет литься вода (от 4 до 15 секунд)
#define MAX_FLOWTIME 15 // seconds
#define MIN_FLOWTIME 4 // seconds

// Второй регулятор управляет частотой полива от раза в день до раза в неделю
#define MAX_PERIOD 7 // days
#define MIN_PERIOD 1 // days

#define MAX 1015
#define MIN 0

int volumePin = A0; // Пин, к которому подцеплен регулятор, отвечающий за объём поливаемой воды
int periodPin = A1; // Пин, к которому подцепелн регулятор, отвечающий за период между поливами
int pumpPin = 5; // Пин, к которому подсоединено управление насосом

int volume;
int period;

// Процедура, включающая насос на время, заданное в volume
void water() {
  digitalWrite(pumpPin, HIGH); // включаем насос
  delay(volume);
  digitalWrite(pumpPin, LOW); // выключаем насос
  delay(period);  
}


void setup() {
  pinMode(pumpPin, OUTPUT);
  digitalWrite(pumpPin, LOW); 
}

void loop() {
  // Считываем значения регуляторов (переменных резисторов) и приводим их к заданным пределам
  volume = map(analogRead(volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000; 
  period = map(analogRead(periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24; 
 
  water();
}


Вот так выглядит конечный результат в работе:


В ближайшем будущем думаю сюда добавить сенсор уровня воды в резервуаре и датчик влажности почвы.
Василий Панкратов @varkasha
карма
27,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (118)

  • 0
    Спасибо за туториал!

    Скажите пожалуйста, какие варианты существуют для замены Arduino Mega? Что еще можно использовать для такой системы не меняя при этом состав ее компонентов?

    Спасибо.
    • +6
      Arduino тут как пушкой по воробьям. habrahabr.ru/search/?q=555
      • +2
        В данной версии 555 достаточно. А как в следующей версии этого девайса подключить 555 к датчику влажности, освещенности и к веб-серверу для удаленного управления и мониторинга? )) Не масштабируемо.
        • +3
          как в следующей версии этого девайса подключить 555 к датчику влажности
          Если использовать аналоговый датчик типа «говоздь», основанный на измерении сопротивления, то ничего особенно и делать не надо, таймер переключится в какой-то момент, когда земля подсохнет и сопротивление возрастет.
      • +4
        Предотвращая наплыв тёплых ламповых постов «автополив без ардуино»: просто, сложно.
        • +1
          А зачем предотвращать?
          • –1
            Намёк на 30 строк.
            • +3
              Даже если будет вал статей в рубрике DIY «30 строк на асме и у Вас будет квадрокоптер», я лично не против.
    • +4
      Я бы рекомендовал что то вроде ATTINY и далее всё самодельное, можно конечно и 555 серию, но я всё же считаю, что контроллер лучше, ибо это получается не просто автомат, а устройство на контроллере. habrahabr.ru/search/?q=ATTINY
    • 0
      Любой микроконтроллер ;)
    • +1
      Да, подойдёт любой микроконтроллер, но код придётся немного поменять. И раздобыть программатор.

      Если вы хотите использовать Ардуино, то подойдёт тоже любоая: Uno, Leonardo, Nano, Craftduino и т.п. При этом все пины и код останутся прежними.
      • 0
        Зачем программатор? Ардуина у него уже есть — ей и зашьет.
        • 0
          А под ATtiny даже и код менять не придётся.
    • +2
      Для этого существует Arduino за 99 рублей
    • 0
      Любой микрокотроллер с АЦП (для снятия сопротивления с резистора), правда тогда придется либо искать в DIN-корпусе, либо разводить и паять плату, ну и программатор соответственно.
  • +16
    бесполезная статья. Все что вы описали как подключить моторчик к ардуино, таких статей тонна только не как в вашем случае методом научного тыка, а детально расписано как правильно выбрать мотор и детали к нему.
    Полив цветка и ардуино тут мало затронут, так как теперь ваши цветы будут гныть из-за обилия воды и выкините еще один цветок. Вот более упрощенная версия вашей статьи blog.kernelix.ru/297.html и продвинутая версия tedeash.livejournal.com/186012.html

    Обязательно нужен датчик влажности robocraft.ru/blog/arduino/444.html
    eschemo.ru/umnyiy-dom-avtomat-poliva/
    www.instructables.com/id/Intelligent-watering-system-with-arduino/
    • +4
      Да. Для стреднестатического хабравчанина эта статья совсем уже простовата.
      Она может заинтересовать только тех, кто только собирается сделать первые шаги в электронике или в ардуиностроении. Этакое краткое введение типа «hello world».

      Вот если бы на хабре были разделы «для профессионалов», «для среднего уровня» и «для новичков», то ее можно было бы положить в раздел «для новичков». Там бы она не раздражала профессионалов, а новичкам была бы как раз. Изучение любой сложной темы надо начинать с простейших примеров.
  • 0
    Попробуем поуправлять насосом с Ардуино. Зальём такой код

    позабавило
    Как временная мера, если уехать на отдых, подойдет. А вот как постоянная не очень. Нету магии, видно провода, платы и тому подобное.
    • 0
      Без пополнения резервуара — мало пригодно. А подключаться к водопроводу — страшно (хотя и есть хорошие нормально-закрытые клапаны с электронным управлением).
      Я, в итоге, остановился на 20л емкости и дозаторе из двух клапанов (с поочередным открытием). Но, пока, увы, на уровне идеи.
  • +23
    Никогда не мог понять, почему картинку с переплетенными проводами, фото макетки и ардуины вдруг считают нагляднее электрической схемы.
    По мне так разбриться в соединениях на такой вот картинке куда дольше, чем на схеме.
    • +18
      Кто там минусует? Вы серьезно?

      image
      То, что выше, по-вашему, нагляднее схемы ниже?
      image
      • –12
        Не все умеют читать схемы, более того можно не знать что такое резистор, транзистор. На фото многое становится понятнее для тех, кто мало шарит во всем этом.
        • +24
          Для тех кто мало шарит замечательный повод открыть гугль, прочитать про изображения на схемах и начать шарить больше!

          Если ребёнок не умеет читать, это не повод все книжки давать ему в виде картинок, это повод — научить его читать!
          • +4
            Малознакомый с этими вещами человек посмотрит на рис. 1 и соберет, ему понравится, в следующий раз уже попробует разобраться в схемах и поднять свой уровень.
            Или он посмотрит на рис. 2 ничего не поймет, погуглит 5 минут и плюнет на все (особенно страшно выглядит IRL3705N)
            • +6
              ему понравится, в следующий раз уже попробует разобраться в схемах и поднять свой уровень.


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

              Я мою жену врача научил пользоваться гнуплотом. Могучая, сложная программа, и нахрапом не въедешь, потратили три вечера. Теперь графики строит только в ней!
              • +2
                GnuPlot могучий, спору нет, но он совершенно кошмарный в смысле той бессистемности, с которой в нем нагромождены опции одной единственной команды plot (ну ладно, есть еще splot). Сам пользуюсь им много лет, но от этого ужас не перестает быть ужасом.
            • НЛО прилетело и опубликовало эту надпись здесь
              • 0
                Ок, значит не стоит. Что-то у вас слишком много ненависти без повода к новичкам
                • НЛО прилетело и опубликовало эту надпись здесь
                  • +3
                    Есть еще такая штука, как «сделать первый шаг», а на сколько он будет легким, уже зависит дальнейшее желание заниматься этим.
                    Я в детстве только со второго раза увлекся радиотехникой. В первый раз пришел в радиотехнический кружок, и 5 первых занятий сидел и выпаивал детали из плат, надоело, ушел.
                    Примерно через год еще раз пошел, но уже в другой. На первом занятии дали собрать детекторный радиоприемник, показали что еще я смогу собрать на занятиях, но так же сказали, что если хочу не просто тупо собирать а проектировать, то нужно прилагать не мало усилий и прежде всего учиться. Стало уже интересно.

              • 0
                Представьте себе человека, который никогда в жизни не читал электических схем и смутно представляет себе как ток бежит по проводам. И захотелось ему разобраться с азами электроники. Это может быть и школьник, и выпускница гуманитарного ВУЗа… Такому человеку как раз придется объяснять, как электическая схема в проводочки переводится. Приведенные картинки существенно ускорят объяснения.
                • +6
                  Слушайте, ну мы тоже родились не всезнающими гуру. Однако как-то разобрались. Мы не против картинок, как таковых, но я убеждён, что с картинкой надо СРАЗУ приводить схему! А спустя 2-3 занятия заменять только на схему!
                • НЛО прилетело и опубликовало эту надпись здесь
                • +2
                  Нифига, картинки только еще более запутают. Т.к. они точно так же имеют мало общего с реальностью.
                  Посмотрите на картинку… из того что есть на фотографиях на картинке только платка ардуино(и то не совсем похожая).
                  У тех кто не может осилить электронику обычно большие проблемы с абстракцией, они не понимают что вон тот насосик на фотографии и моторчик нарисованный на картинке это одно и то же. Или никак не могут понять что все соединенные друг с другом проводки в схеме это по сути один и тот же провод. Для них провод подключенный к перемычке справа и слева — это две разные вещи.
                  Колдовство, вобщем.
          • 0
            то есть у вашего ребенка были/будут сразу чисто текстовые книги? Первые шаги проще делать по наглядным примерам. Схема повышает порог входа.
            • +2
              Никто с этим не спорит. Лучше всего чтобы было, как в посте схема и картинка.

              Но я против того, чтобы людей специально оболванивали. Не зря же инженеров учат высшей математике, ТММ и прочей лабуде, хотя в будущем может и не пригодиться. Именно для того, чтобы расширить кругозор.

              Меня раздражает, когда люди начали с ардуины и картинок-схем, а потом так и остались на том уровне.
        • +5
          Вот я фактически не умею читать схемы, и тем не менее, даже для меня она выглядит вполне элементарно. Чего не могу сказать про анархию из цветных линий со скриншота выше.
      • +1
        А зачем нужен диод возле мотора?
        • +2
          мотор со щетками, диод гасит нехилую отдачу напряжением при переключении щеток на следующую обмотку.
      • 0
        <сарказм>Это называется монтажная схема</сарказм>
    • +1
      В целом, согласен с тобой.
      Я сначала поставил смайл после «понятнее», потом вспомнил, что смайлы на хабре не приветствуются и убрал. А «понятнее» так и оставил.

      Но вообще, я считаю, здорово, что с помощью Ардуино и таких вот наглядных схем, электроникой могут заниматься люди, которые или только начинают осваивать электротехнику (в т.ч. дети), или просто хотят на досуге развлечься.

      Поэтому я привёл здесь два вида схем.
  • +5
    Вместо резистора для управления частотой поливки можно воткнуть два электрода в землю и замерять её влажность (оно же сопротивление). При достижении определенного значения — включать полив.
    • 0
      Спасибо, AlexSam.
      Да, я написал об этом в конце, что думаю приделать датчик влажности. Собственно, с него и хотел начать, но вот люди, ухаживающие за цветами, меня убедили, что интерфейс с регуляторами удобнее. Обычно цветоводы не трогают почву рукой, измеряя влажность, а просто с каким-то периодом поливают цветы?
      Даже если первый способ эффективнее, для людей, которые привыкли поливать цветы периодично, удобнее предложенный вариант.
      Хотя, повторюсь, я ещё собираюсь поэкспериментировать с датчиком влажности (два электрода в землю).
      • 0
        Они по цвету почвы определяют влажная она или нет.
        Просто задать периодичность полива — это только в краткосрочной перспективе, потому что надо отслеживать и вовремя корректировать этот период. Он будет меняться в зависимости от влажности окружающего воздуха, температуры, скорости роста растения и т.д. все факторы не учесть, и даже датчик влажности не способен полностью решить проблему. Нужна система обучающаяся, нужно накапливать статистику и выявлять закономерности на основе которых уже можно будет построить модель полива. И что-то мне подсказывает, что она будет разниться для разных типов растений и даже климатических условий. Потому-то человеку полив даётся куда проще чем автоматике.
        Я бы для исследований добавил бы в схему два датчика влажности — один на поверхности почвы, другой на дне горшка. Сверху влага испаряется гораздо быстрей чем в глубине почвы, но насколько быстро и равномерно по глубине?
        И что касается самих датчиков влажности. Предпочтительно не использовать контактные датчики и тем более на постоянном токе для растений. Самое лучшее что можно использовать — это емкостные датчики. Чем чревато — от электролиза и коррозии самих датчиков, до насыщения почвы металлами в процессе электрохимических реакций и смерти растения. Конечно, если есть датчики полностью платиновые или из золота и поливать исключительно специальной водой…
        • 0
          Или графитовые
  • +3
    Кто бы сделал систему для мультиполива нескольких цветков с измерением влажности?
    • 0
      А в чем проблема? по помпе на каждый цветок только придется ставить.
      • 0
        Проблема в том что я в этом не особо понимаю?)
      • +1
        Имхо разумнее регуляторы делать управляемые.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Зависит от батареек и частоты включения мотора. Но я бы не рассчитывал более чем на сутки.
    • 0
      Честно говоря, там стоит блок питания, но я не нашёл что-то подобное во Fritzing :-) Может, плохо искал.
      • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Нужно было сразу добавлять датчик влажности воды, благо они дешевые. Если всё время будет переливать, то корни начнут гнить.
  • 0
    подойдёт насос омывателя автомобильных стёкол

    Такой насос обычно очень громко гудит и при этом потребляет достаточно большой ток.
    • 0
      При пониженном более чем вполовину питании, он не особо-то и гудит, ну и льёт потихоньку. =)
  • +4
    У самого собрана подобная конструкция, только «поливалка» включается при определенной влажности почвы. :)
    image
    • 0
      Как победили проблему засаливания датчика?
      • 0
        Все банально просто. Датчики копеечные (На ебее кучку заказал), как не устраивает работа, меняются:) Да и летом в парнике они тоже нужны, поэтому брал много.
  • 0
    Когда то писал в песочницу о таком же устройсве у себя. habrahabr.ru/sandbox/45406/ Вообще идея интересная. А главное — практичная!
  • 0
    Только в такое устройство всегда стоит добавлять систему защиты от потопа, а то мало ли что…
  • +3
    Всё начинается с «Я хотел автоматизировать полив комнатных растений», а приходит к

    habrastorage.org/storage3/e03/cd3/d09/e03cd3d09dd0dc260a3fa1338954a92f.jpg
  • 0
    Кстати подобная статья о поливе была примерно пол года назад, только там был и датчик влажности и завязка на компьютер, т.е. по сути этой задачей занимался именно компьютер.
    Советую приобрести парочку Bluetooth-модулей HC-07 и связать платку и компьютер, чтобы можно было в наглядном и удобном виде считывать показания датчиков и управлять параметрами настройки. Можно еще вести статистику. Для этого добавить в платку м/с памяти(или ненужную SD-карточку, или отдельный чип на 512кб флеш-памяти) чтобы ведение статистики не зависело от подключения к ПК.
    • 0
      У типичной Ардуины килобайт энергонезависимой EEPROM-памяти, чего обычно за глаза хватает хранить почасовые логи неделю-другую.
      • +1
        1000 циклов всего…
        • +1
          Тысяча — для флеша памяти программ, EEPROM рассчитана на сотню тысяч циклов.
          Но килобайта всеравно мало как-то, температура, влажность и временнАя метка — уже 6 байт на отсчет. этого хватит лишь на 170 часов записи(7 суток), а если еще что-то надо будет писать? Не так чтобы это было мало… но как-то потолок давит.
          • 0
            Глянул даташит, да, и вправду 10 тыщ для флеша и 100 для епромины. Но это весьма мало и мне удавалось её убить…
            • +1
              170 часов на полный цикл перезаписи… сколько говоришь лет до гарантированного убиения ячеек? Ведь 100 тыщ — это гарантированное количество циклов. Учти что программа не доработает до исчерпания этого ресурса, время хранения программы во флеше — всего 20..40 лет в нормальных условиях(нагрев ускоряет процесс естественного обнуления ячеек), после чего ячейки могут начать обнуляться и получим сначала глючащий а потом неработоспособный кусочек кремния пока не прошьем его заново. А за это время скорей всего такие поделки будут собираться на камушках уровня ARM11…
              • 0
                Какие 170 часов, на какой цикл? Если взять ячеёку епромины, логать туда что-то, то она быстро исчерпается. У меня был логгер клавиатуры (писал об этом), я шустро ещё во время отладки убил флешу. Ничем не грел, и 40 лет не хранил.
                Исчерпать ресурс ячейки можно за несколько минут.
                • +1
                  170 часов, это конкретно в этом применении для логирования влажности.
                  Убить-то завсегда можно быстро… это не секрет.
                  • 0
                    А, понял. Ну может быть. Попробовать стоит ;)
                • 0
                  Значит, данные хранились в неверном формате. Так, если брать логи, то их нужно записывать в кольцевой буфер — тогда эти 170 часов и получатся. А ежели одну и ту же ячейку перезаписывать постоянно — то конечно же эти циклы улетят сразу же.
                  • 0
                    В каком формате хранить скан-коды клавиш? Говорю ж, во время ОТЛАДКИ!
                    • 0
                      Ну, опять-таки, нужен какой-нибудь кольцевой буфер…
                      • 0
                        Мне не хочется хамить капитанам очевидностям, вот результат моих трудов habrahabr.ru/post/109629/
  • 0
    Хотелось бы видеть сравнение этой системы полива с менее технологичными вариантами:
    — бутылкой с водой и маленькой дырочкой снизу,
    — шнурком-капилляром,
    — гидрогелем.

    Сам я ничем таким не пользовался — но байки слышу регулярно…
    • 0
      Дырочка — не надежно, может или перелить цветок, или засориться. И если надо чуть-чуть уменьшить количество воды — начинаются танцы с бубном.
      Капилляр — хорошая тема, но то шнурок сгниет, то вода в стакане испарится, то разность высот слишком большая и вода поступает хуже.
      Первые два варианта сложно регулировать.

      Гидрогель — не использовал, но есть у меня такое чувство, что если он меняется в размерах, то со временем просто порвет корни которые начнут оплетать этот шарик.

      А здесь главное достоинство — это предсказуемость и повторяемость. То есть ты всегда знаешь сколько нальет и в каком виде. И можешь влиять на результат понятным образом.
      • 0
        Это если пользоваться дистилированной водой. Обычная из-под крана может забить узкие места в системе отложениями солей. В конце концов, подшипники на моторчике и т.д.
        Ничто не вечно.
        • 0
          Согласен, в коментах ниже пролетают ссылки на мою систему гидропоники — раз в месяц приходится промывать всю систему, раз в год — трубки под замену (так дешевле) + чистка помпы — гоняет разведенную лимонную кислоту по кругу, чтобы отложения солей отмыть.

          Но касательно регулируемости — в автоматизированной системе можно честно выставить настройки и забыть на полгода, просто доливая воды. А в остальных вариантах — необходим постоянный контроль. Например, чем больше воды в бутылке — тем быстрее она вытекает, вначале переливая растение, а потом недоливая :)
    • 0
      rodpomestia.ru/wp-content/uploads/2013/05/Полив2.gif
      Перевернутая бутылка — простейший принцип, позволяющий поливать цветы (правда только те, которые любят постоянную влажную почву) без риска перелить. Принцип у него очень простой. Как только почва в месте касания горлышка насыщается влагой и блокирует подачу воздуха внутрь, вода перестает поступать, а после высыхания возобновляется. Саморегулирующийся процесс так сказать.
      Ну конечно такое решение, офтопик на техническом ресурсе, за что прошу прощения.
  • +1
    Похожее устройство сделал, там только более сложные схемы полива и перемешивания, так как гидропоника.
    Вот так все растет instagram.com/p/XwN5ySgFBM/
    вот такой урожай (прошлый год) instagram.com/p/eCkE3zAFCW/
    Вот свежие помидорки растут instagram.com/p/jvbB4-gFLG/
    Само устройство — Launchpad на msp430 + реле, управляющие светом, смешиванием.
    instagram.com/p/Q94B2CAFFy/

    Прошу сильно не пинать, не знал что об этом будет пост :)
    • 0
      Это где такая красота расположена, прямо в квартире? Или у вас частный дом?
      • 0
        Обычная советская квартира, кухня. Справа виднеется холодильник :) Вот более масштабная фотка instagram.com/p/gYpZUcAFP-/
        Новая версия уже из двух пвх-труб, в процессе сборки, по этому без растений. Остается примерно половина ширины стола.
        Сорри за инстаграмм, других в наличии нет сейчас :)
        • 0
          Оранжевое оргстекло… везёт некоторым.
          • 0
            И в чём же везение?
        • +2
          Пишите статью, очень интересно.
          Это ж можно целый сад у себя на стене вырастить, помидорчики и огурчики...)
    • +1
      интересно было бы подробнее почитать об этом. Может в статью оформите?
  • 0
    Насос использовали автомобильный? Какая у него производительность? Я так понял, что питание у него внешнее, а ардуина только открывает/закрывает транзистор, я прав?
  • –1
    Надо попробовать приспособить такое устройство для кормежки кота!

    Командировщик со стажем.
    • +1
      Обязательно поставьте веб-камеру, чтобы следить за устройством. Если оно сломается, сразу вызывайте МЧС, пусть ломают дверь и спасают голодного кота! ))
  • +1
  • 0
    Спасибо автор! Теперь загорелась этой идеей, а то и правда цветочки то мрут!
  • +1
    А пьезонасос кто-нибудь пробовал? Как он?
    image
  • 0
    Автор, я тоже с подобной проблемой заморачивался, только чуть посерьезнее. habrahabr.ru/post/195998/
    • 0
      Хорошая статья. Спасибо :-)
  • 0
    Автополивайка это супер, но для растений первоочередной фактор — освещение, а второй это сбалансированные удобрения. Ну и аэрация почвы тоже очень важная штука.
  • +1
    На STM8 вышло бы значительно дешевле. Ну и помимо таймеров надо же датчики повесить + протечки анализировать.
    Все-таки, сдается мне, организация такого автополива — опасная штука. Может взять, да вылить всю воду сразу, если «сбрендит» какой-нибудь датчик.
    • 0
      STM8 нужен программатор, и её не поддерживает Arduino IDE, верно?
      • 0
        А что, ардуйне не нужен программатор?
        И зачем IDE? И что за маниакальная тяга к ардуйне?

        Код пишется в любом текстовом редакторе, потом при помощи make собирается и прошивается. Программатор для STM8 у китайцев стоит максимум рублей 300. Или, если вы работаете еще и с STM32 и у вас уже есть ST-Link, можно использовать его (сам и пользуюсь st-link'ом).

        Вот пример мелких поделок: sourceforge.net/projects/stm8samples/
        • +3
          А что, ардуйне не нужен программатор?
          Да, не нужен. Благодаря специальному бутлоадеру, который при загрузке первые N секунд ждёт на последовательном порту данных для прошивки, и набортным интерфейсным чипам. Просто подключаете в USB, и готово.
          И зачем IDE? И что за маниакальная тяга к ардуйне?
          Затем, что программа выходит длиной в полторы строчки и компилируется и заливается одной кнопкой.
          Сравните это с
          Код пишется в любом текстовом редакторе, потом при помощи make собирается и прошивается. Программатор для STM8 у китайцев стоит максимум рублей 300. Или, если вы работаете еще и с STM32 и у вас уже есть ST-Link, можно использовать его (сам и пользуюсь st-link'ом).
          P.S. Вы так ненавидите Ардуино, что специально называете её ардуйнёй?
          • –1
            Да, бутлоадер даже в самых дешевых атмелах — единственное их достоинство.
            • 0
              Так он же не вшитый, это как раз часть проекта Arduino. Написать такой же для STM никто не мешает.
              Кстати, о
              Программатор для STM8 у китайцев стоит максимум рублей 300.
              за < $8 можно взять целую Arduino Nano с USB (или ProMini +USBtoTTL адаптер). Которую, кстати, скетч ArduinoISP из комплекта Arduino IDE превращает в программатор.
              • –3
                У STM32 тоже есть бутлоадер, а STM8 посчитали слишком дешевыми, чтобы туда пихать его.
                А насчет цен — таки МКшкам от ST конкурентов вообще нет: STM8 совершенно дешевые, STM32 тоже недорогие: я себе полноценную макетку на 64-ножечном покупал за 350р, за 600р купил макетку со 144-ножечным контроллером.

                С атмелями никогда не работал. И, знаете ли, после ST'шных МК совершенно нет желания с издыхающими атмелями возиться! Ардуйня — последняя предсмертная попытка атмеля потянуть хоть чуть-чуть еще!
                • +1
                  У STM32 тоже есть бутлоадер, а STM8 посчитали слишком дешевыми, чтобы туда пихать его.
                  Кто посчитал? Для AVR есть куча опенсорсных бутлоадеров, например. Это же не аппаратная фича.
                  С атмелями никогда не работал. И, знаете ли, после ST'шных МК совершенно нет желания с издыхающими атмелями возиться! Ардуйня — последняя предсмертная попытка атмеля потянуть хоть чуть-чуть еще!
                  «Никогда не работал, но они отстой»? Звучит как-то слишком по-хейтерски.
                • 0
                  Вообще это вовсе не попытка атмела, они к этому вообще перпендикулярно. Ардуину вообще можно было собрать на основе любого контроллера, на то время когда она зародилась — контроллеры от атмел были достаточно мощными, простыми и дешевыми. Это и определило их выбор на плату ардуины. Причем, простота была на первом месте.
                  Сейчас столько клонов ардуины… не удивлюсь что и на STM32 нечто такое уже сделали, но куда там им затмить успех ардуины с её инженерной сложностью.
                  • –1
                    Естественно, сделали: у STM есть «discovery», в которую даже программатор встроен. Правда, дороговато стоит: 600..1000 рублей за платку. Хотя, подозреваю, что ардуйня, аналогичная STM32F4disco будет намного больше стоить…
                    • 0
                      Да, но эта дискавери никогда не будет подключена к ардуиновскому компилятору, очень уж архитектура различается у процессоров.
                      А простая и понятная среда — это главное в ардуине. Для STM32 такого нет, все что есть — это инструменты для прожженных инженеров.
                      • +1
                        > к ардуиновскому компилятору
                        Естественно: архитектура же разная! AVR'ки компилируют при помощи avr-gcc, а ARM'ы — при помощи arm-none-eabi-gcc. В остальном разница, как обычно между разными МК.
                        • 0
                          Вообще-то ардуиновская среда использует кросс-компиляцию с псевдо-языка через С-шный промежуточный текст, так что конкретно компилятор тут не причем — прикрутить другой кросс-компилятор и будет тебе переходник и на arm-none-eabi-gcc, дело ведь в другом — архитектура другая, принцип написания программ на ардуиновском языке плохо ляжет на АРМ-овое ядро, урезав его возможности до AVR-оподобных… смысла в этом чуть меньше нуля.
                          • 0
                            Так делает Energia для MSP430 LaunchPad, например.
                          • 0
                            > ардуиновском языке
                            Этот «лабвью для нищебродов» только разве что детям нужен, которым рано еще нормальный ЯП изучать!
                            • 0
                              Вы правда так считаете? Мне вас жаль… С таким подходом можно все языки в утиль списать, оставить только ассемблер так как он «самый настоящий».
                              • –2
                                Не надо меня жалеть! Есть годные ЯП (например, C), а есть говно — всякие пхытоны с пыхпыхами.
                                Ардуйню можно на нормальном С программировать. А чтобы детям была возможность порезвиться, не изучая нормальный ЯП, придумали этот «скетч». Ничего путного на нем не сделать, зато просто.
                                Как я уже сказал: «лабвью для нищебродов».
                                • +1
                                  Так это и так С, просто кое-какие инклюды спрятаны :3 Никто не мешает писать в нём хоть ядро Linux.
                                • +1
                                  Очень часто возникает такая характеристика как стоимость решения, порой разработка при помощи ардуины на лабвью раз в 10 дешевле аналогичной разработки на чистом С. И все из-за чего? Банально из-за высокой стоимости времени специалиста.
                                  Да, можно но порой крайне невыгодно а иногда и просто долго особенно критично это для прототипов.

                                  Простой пример задачи: записать работу механического блока от стиральной машинки — контактов там довольно много, сидеть с секундомером и выписывать на листок — не вариант, второй раз такую задачу выполнять тоже сомнительно.
                                  Неужели, для этого нужно будет расчехлять С, и сидеть писать и отлаживать простую программу 2-3 дня? А потом этот труд просто выбросить… Гораздо проще когда на программирование этой задачи уйдет 30 минут, и не надо будет вытравливать и паять плату с контроллером.
                                  • –3
                                    > расчехлять С
                                    А не надо его «зачехлять». На сях все пишется намного проще, нежели на этих ваших недоязычках.

                                    > на программирование этой задачи уйдет 30 минут
                                    Ога, ога. В огороде бузина…
                        • 0
                          Естественно: архитектура же разная! AVR'ки компилируют при помощи avr-gcc, а ARM'ы — при помощи arm-none-eabi-gcc.
                          Не поверите, но Arduino Due работает на ARM''е! =)

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