1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 9

Arduino Mega. Контроллер теплицы. Хроники - 3.0

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Ок, в ближайшее время обновлю, и сможешь проверить ;)
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе, добавил настройку TFT_EXTRA_RESET в Configuration_DUE.h - она отвечает за пересброс. Вот как сейчас выглядит инициализация, ясное дело, что она меняется в зависимости от настроек:

    Код:
     tftDC = new UTFT(TFT_MODEL,TFT_RS_PIN,TFT_WR_PIN,TFT_CS_PIN,TFT_RST_PIN);
       tftTouch = new URTouch(TFT_TOUCH_CLK_PIN,TFT_TOUCH_CS_PIN,TFT_TOUCH_DIN_PIN,TFT_TOUCH_DOUT_PIN,TFT_TOUCH_IRQ_PIN);
    #ifdef TFT_EXTRA_RESET
        pinMode(TFT_RST_PIN,OUTPUT);
        digitalWrite(TFT_RST_PIN,HIGH);
        delay(10);
        digitalWrite(TFT_RST_PIN,LOW);
        delay(10);
        digitalWrite(TFT_RST_PIN,HIGH);  
      #endif
    
       #if TFT_INIT_DELAY > 0
       delay(TFT_INIT_DELAY);
       #endif
    Всё это действо происходит ДО вызова InitLCD библиотеки UTFT, т. е. до вызова каких-либо команд на дисплей.
     
    Последнее редактирование: 08.04.18
  3. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    956
    Благодарности:
    1.328

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    956
    Благодарности:
    1.328
    Пмсм, нужно озвучивать не размер дисплея, а разрешение/глубину цвета (или какой-то определенный LCD-контроллер). Дисплеи с разной диагональю могут иметь одинаковое разрешение (например, я использую 5' и 7' дисплеи, отличающиеся только током подсветки). Ну, и ни в одной программе нет параметра/константы/переменной и т. д., определяющей диагональ дисплея.
     
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Пока подбираю дисплеи, использующие библиотеку UTFT и одинаковый разъем подключения и подходящими размерами, ну и ценой конечно.
    Применять с другими параметрами (может и круче), но для отображения простой информации о состоянии теплицы не вижу смысла. Да и у Димы время не резиновое и не бесплатное (и у меня также). Нам кино не смотреть, а вот подешевле и покрасивше желательно. Поэтому выбраны для несложной доработки как программной, так и аппаратной.

    Есть другие предложения, предлагайте. Всего не увидишь, что есть в просторах интернета.
    Прошу прощения, на форуме недавно и не привык к сокращениям. Для меня загадка, что означает "Пмсм" :)
     
  5. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Убил пол вечера, но так и не разобрался. Прошу помощи у Вас! Хочу реализовать управление насосом для пополнения бочки водой. Управляться будет двумя поплавковыми датчиками с герконом. Насос будет висеть на 23 пине, датчик верхнего уровня на 36, нижнего на 34 эти пины в прошивке не используются (закомментированы использующие их функции) создаю два правила:
    1. Следим за 36 пином, уровень высокий -выключаем пин 23.
    3. Следим за 34 пином, уровень низкий - включаем пин 23.
    Моделирую ситуацию через конфигуратор, и вроде как все правильно срабатывает, но через секунду пин 23 переходит в противоположное состояние от нужного. Может неправильно делаю? Или нужны дополнительные правила к вышеописанным?
     
    Последнее редактирование: 08.04.18
  6. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    956
    Благодарности:
    1.328

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    956
    Благодарности:
    1.328
    Предлагаю исходить из задачи, что и с каким качеством показывать?
    "Покрасивше", это TFT, побольше разрешение и побольше цветов. "Подешевле", это монохромный LCD с мЕньшим разрешением, возможно, с RGB подсветкой
    Подбирать дисплей по разъему подключения (на плате же можно сделать несколько мест для разных разъемов, можно переходник с какого-то одного на любой другой и т. д.), по размерам (без учета разрешения/ глубины цвета/интерфейса) это, пмсм, как подбирать комп по цвету вентилятора видеокарты.
    Про библиотеку UTFT я не в курсе, но насколько помню, подключение дисплея ни в одном проекте не было камнем преткновения.

    Предлагаю, исходя из задачи, выбрать один контроллер LCD (или два), распространенный (имеющий аналоги), дешевый, с подходящим интерфейсом и искать дисплеи с разными диагоналями, отталкиваясь от контроллера.

    Пмсм - импортозамещение IMHO:).
     
  7. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Есть достаточное количество дисплее, которых библиотека стандартная UTFT не поддерживает.
    Даже в настоящий момент у меня два таких проекта, с дисплеями 2.0" и панель RGB.
    Применение этих дисплеев вызывает некоторый дискомфорт, но заменить нечем.
    Поэтому я и предлагаю три варианта подходящих дисплеев, не требующих больших доработок как аппаратном, так и программном отношении.

    3.2" 320х240 разъем 40 выводов. 620 руб.
    4.3" 480х272 разъем 40 выводов. 1200 руб.
    7.0 800х480 разъем 40 выводов. 2650 руб.
     

    Вложения:

    • 3-2-TFT.jpg_50x50.jpg
    • 4-3-4-3-TFT.jpg_50x50 (1).jpg
    • 7-7-0-TFT-800x480-ssd1963-touch-pwm.jpg_50x50.jpg
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Это ясно ;) В конфигурационном файле указан контроллер для дисплея, это я тут - пишу вкратце, так сказать, т. к. все свои :)
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    У вас два пина: по первому бак пустой, и надо включить насос. По второму - бак полный, и надо выключить насос, так? Если эти пины никогда не бывают одинаковых уровней - то достаточно два правила. В противном случае могут понадобиться дополнительные правила. Навскидку:

    Правило 1: если на первом пине уровень низкий - включаем пин насоса;
    Правило 2. если на втором пине уровень высокий - выключаем пин насоса.

    Первый пин при этом надо подтянуть к питанию, второй - к земле.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Дык. В прошивке всё отталкивается от контроллера как раз, с этим всё норм ;) Просто сейчас, для быстроты разработки, некоторые размеры тех же боксов прописаны, исходя из диагонали 7 дюймов, и всё. Так что всё норм. Контроллер, кстати, SSD1963.
     
  11. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Пины бывают одинаковых состояний. При полной бочке на обоих высокий уровень, при пустой на обоих низкий уровень. Но насос нужно включать только когда на втором пине низкий уровень (на низкий уровень на первом пине не реагировать) и не выключать пока на первом пине не будет верхний уровень. я уже совсем запутался:aga:
     
    Последнее редактирование: 09.04.18
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Давайте разбирать задачу на составные части. Очевидно, что ничего включать не надо, когда на обоих пинах высокий уровень, правильно? Очевидно, что включать надо тогда, когда на втором пине будет низкий уровень, правильно? И выключать тогда, когда на втором пине низкий, а на первом - уже высокий.

    Итак, имеем такой набор правил:

    1. Следим за пином №2, если на нём низкий уровень - включаем насос (подаём на пин насоса нужный уровень);
    2. Следим за пином №1, если на нём высокий уровень - выключаем насос (подаём на пин насоса нужный уровень).

    Больше я правил не вижу, при таком раскладе, как вы описали. Правило 2 будет всегда выключать насос, как только на пине №1 будет высокий уровень. Правило 1 будет включать насос, как только на пине №2 будет низкий уровень. Если на обоих будет высокий уровень - сработает только правило 2. Если на обоих будет низкий уровень - сработает только правило 1. Если на пине №2 будет высокий, а на пине №1 - низкий уровень, то ни одно из правил не сработает.
     
  13. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    @DIYMan, все так и сделано вроде. Вечером проверю и отпишусь. Спасибо!
     
  14. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    А датчик давления ВМР180 подключен? Кажется было сообщение что подключен или я ошибаюсь.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Датчики давления в контроллере теплицы не поддерживаются.
     
Статус темы:
Закрыта.