Автоматический полив V2.0

Тема в разделе "Глядите, что я сделал", создана пользователем Вячеслав, 24 апр 2013.

  1. lerik2703

    lerik2703 Гик

    как вы думаете в чем ошибка ?
     
  2. sanek1337

    sanek1337 Нерд

    Честно не знаю. Буду благодарен если ткнёте носом. )
     
  3. fr0ster

    fr0ster Гик

    Кроме синего никакой гореть не будет.Первое условие по идее "if (analogRead(0) >= 900) // Очень влажная почва"
     
  4. sanek1337

    sanek1337 Нерд

    А как тогда будет правильно? Delay в конце не хватает?
     
  5. lerik2703

    lerik2703 Гик

    так и правильно!пока значение с analogRead не станет равно 900 или выше переходим к следующиму условию !
     
  6. sanek1337

    sanek1337 Нерд

    Я так и не понял в чём косяк )))
     
  7. lerik2703

    lerik2703 Гик

    у вас if (analogRead(0) <= 900) а надо if (analogRead(0) >= 900)
     
  8. sanek1337

    sanek1337 Нерд

    Спасибо БОЛЬШУЩЕЕ!!!
     
  9. ИгорьК

    ИгорьК Гуру

    Коллеги! Вопрос по железу. Вот тут чуть выше датчик влажности на фотографии. Как я понимаю, суть его работы в измерении сопротивления между двумя электродами. Но ток между ними - постоянный, то есть по-идее, один из электродов по этой причине должен усиленно окисляться.
    Что показывает практика использования на эту тему? Нет ли смысла что-то придумывать на переменном токе?
     
  10. sanek1337

    sanek1337 Нерд

    Програмно подавать питание на этот датчик например с 8 ноги Ардуинки:
    Код (Text):
     int diodBlue=6;
    int diodGreen=4;
    int diodRed=2;

    int sensor=8; // VCC датчика подключить к пину 8

    void setup()
    {
    Serial.begin(9600);
    pinMode(diodBlue,OUTPUT);
    pinMode(diodGreen,OUTPUT);
    pinMode(diodRed,OUTPUT);

    pinMode(sensor,OUTPUT);
    digitalWrite(sensor, LOW);

    }
    void loop()
    {
    Serial.println(analogRead(0));

    digitalWrite(sensor, LOW);
    delay(2000); // имеет смысл увеличить в разы в конечном устройстве
    digitalWrite(sensor, HIGH);

    if (analogRead(0) >= 900) // Очень влажная почва
    {
    digitalWrite(diodBlue, HIGH);
    Serial.print("Ochen Vlagno ");
    digitalWrite(diodGreen, LOW);
    digitalWrite(diodRed, LOW);
    }

    else if( analogRead(0)>300 && analogRead(0)<700)
    {// Влажная почва
    Serial.print("Vlagnaya pochva ");
    digitalWrite(diodGreen,HIGH);
    digitalWrite(diodBlue, LOW);
    digitalWrite(diodRed, LOW);
    }

    else if( analogRead(0)>50 && analogRead(0)<300)
    {
    digitalWrite(diodRed,HIGH);// Сухая почва
    Serial.print("Suhays pochva ");
    digitalWrite(diodBlue, LOW);
    digitalWrite(diodGreen, LOW);
    }

    }
     
    Последнее редактирование: 29 ноя 2013
  11. jduino

    jduino Нерд

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

    Спасибо!
     
  12. chobo

    chobo Нуб

    Я брал такую, работает тихо, производительность для пары горшков вполне достаточная
     
  13. jduino

    jduino Нерд

    взял такой же)
     
  14. Druids91

    Druids91 Нерд

    Добрый день. Напиши пожалуйста параметры вашего блока питания, который идет на помпу. У меня загвоздка вышла с ним. Пытается запуститься, слышны щелчки и не стартует.. Может попытки с 5-10 стартануть.
    Пробовал брать для питаняи зарядки от планшетов - 5v-2a, 12v-3a. А вот если перед помпой и зарядкой ставить АКБ, то всё идеально работает
     
  15. Всем добрый день.
    По поводу датчика влажности. Действительно, окисляется сильно и теряет свои параметры. Через 2 месяца датчик можно выкидывать. Снимать с него напряжение и подавать только в момент замера идея хорошая, возможно проработает по дольше, так как коррозия все равно будет. Думаю, для серьезного проекта датчик нужно искать другой.
    По поводу блока питания для помпы, я завта посмотрю какой там стоит, но на самом деле это не принципиально, найдите по мощнее с требуемым напряжением.
     
  16. Sorcerer

    Sorcerer Нуб

    Всем форумчанам доброго времени суток. Принимайте новенького в свои ряды. Решил собрать готовый проект http://wiki.amperka.ru/projects:irrigator как есть, пока без переделок и доработок. Arduino Uno и все остальное, кроме дисплея заказывал на всем известном сайте, пришло все чинно..., возникло два вопроса, при программировании скетчем появляется вот такое (в программировании я полный ноль, но на мой взгляд что-то пошло не так, что???), картинка во вложении, и вопрос второй, можно ли заменить дисплей указанный в проекте на вот такой http://ru.aliexpress.com/item/1pcs-...-Module-Clock-for-Arduino-LED/2054860365.html , всем откликнувшимся за ранее благодарен.
     

    Вложения:

  17. ну ошибка заключается в том, что такое имя не прописанно в библиотеке, оно некорректно, для дисплеев, да точнее для всего, есть определенные команды, изменяя их имена и так далее, происходят ошибки
     
  18. Sorcerer

    Sorcerer Нуб

    Скетч взят из проекта я там ничего не менял..., неужели АМПЕРКА не досмотрела??? Я так понимаю, что для разных дисплеев и править по разному надо будет???
     
  19. geher

    geher Гуру

    Скорее всего, особенности преобразования скетча в Arduino IDE в программу перед собственно компиляцией.
    Возможно, зависимо от версии Arduino IDE.
    Подозреваю, что если отмотать выдачу компилятора вверх, то там найдется ругань на что-то в "QuadDisplay.h", например, на неопределенный тип uint8_t.
    Попробуйте добавить в начало скетча строку
    Код (Text):
    #include "Arduino.h"
    По второму вопросу. Заменить можно. Но для работы с другим дисплеем потребуется другая библиотека (на что намекает хотя бы наличие четвертого пина), для чего в скетче придется заменить заголовочный файл и вызовы функций вроде displayInt на то, что предлагается в библиотеке для вашего дисплея.
     
    Последнее редактирование: 1 май 2015