Немного переделать скетч

Тема в разделе "Закажу проект", создана пользователем ripnded, 21 апр 2017.

  1. ripnded

    ripnded Нуб

    // Подключаем библиотеку для работы с дисплеем
    #include "QuadDisplay2.h"
    // даём разумное для пина, к которому подключена помпа
    #define POMP_PIN 4
    // даём разумное для пина, к которому подключён датчик влажности почвы
    #define HUMIDITY_PIN A0
    // минимальный порог влажности почвы
    #define HUMIDITY_MIN 200
    // максимальный порог влажности почвы
    #define HUMIDITY_MAX 700
    // интервал между проверкой на полив растения
    #define INTERVAL 60000 * 3
    // переменная для хранения показания влажности почвы
    unsigned int humidity = 0;

    // статическая переменная для хранения времени
    unsigned long waitTime = 0;

    // создаём объект класса QuadDisplay и передаём номер пина CS
    QuadDisplay qd(9);

    void setup(void)
    {
    // начало работы с дисплеем
    qd.begin();
    // пин помпы в режим выхода
    pinMode(POMP_PIN, OUTPUT);
    // выводим 0 на дисплей
    qd.displayInt(0);
    }

    void loop(void)
    {
    // считываем текущее показания датчика влажности почвы
    int humidityNow = analogRead(HUMIDITY_PIN);
    // если показания текущей влажности почвы
    // не равняется предыдущему запросу
    if(humidityNow != humidity) {
    // сохраняем текущие показания влажности
    humidity= humidityNow;
    // и выводим показания влажности на дисплей
    qd.displayInt(humidityNow);
    }
    // если прошёл заданный интервал времени
    // и значения датчика влажности меньше допустимой границы
    if ((waitTime == 0 || millis() - waitTime > INTERVAL) && humidity < HUMIDITY_MIN ) {
    // включаем помпу
    digitalWrite(POMP_PIN, HIGH);
    // ждём 2 секунды
    delay(2000);
    // выключаем помпу
    digitalWrite(POMP_PIN, LOW);
    // приравниваем переменной waitTime
    // значение текущего времени плюс 3 минуты
    waitTime = millis();
    }
    }

    помогите переделать его под текстовый экран 16x2 (LiquidCrystal)
     
    Последнее редактирование: 22 апр 2017
  2. Oleg Medvedev

    Oleg Medvedev Нуб

    Я недавно написал подобное, но особо не тестил, у меня имеется датчик температуры,bs18b20, обычный датчик протечки, который в землю втыкается, дисплей часы реального времени и блок реле, работает,след образом. При достижении в теплице температуры 26 включется контакт реле, при падении влажности 30% включается контакт реле, в 7:00 включается контакт реле, на нем, свет, в 22:00 выключается свет, есть кнопка ручного света, включает на 30 сек контакт света, все параметры приведены в константы и записываются в память, все параметры отображаются на дисплее, влажность, температура и время, пороги срабатывания регулируются в меню на дисплее, 6 кнопок, верх, низ, лево, право, войти, выйти, 7кнопка ручного света, если ночью приспичило посмотреть. Если это интересно во вотрник могу видео снять, как работает на макетной плате.
     
  3. Troll

    Troll Гик

    вам переписать скетч под ЖК дисплей 16*2 ?