Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

vvr
2019-03-23 08:25:44

а нафига такая конструкция с делеями ?

RTC_T = rtc.getTime();
Serial.println(rtc.getTimeStr());
float a_humidity = dht.readHumidity();
float a_temp = dht.readTemperature();
delay (2000);

RPSVoloch
2019-03-22 22:12:10

Эх моя темка уже и тут мелькнула.
Пишите кому данные нужны smile

Не помню какая версия но кинуто как подтверждение тому что я есть я...

// Запуск скетча
#include <DS3231.h>
#include <DHT.h>
DS3231  rtc(SDA, SCL);
Time RTC_T;

// Загрузка начальных настроек
// Основные настройки скрипта. Изменения необходимо произвести под свои нужды!!!
// Скрипт расчитан на день но для тех кому необходимо сберечь деньги советую перенастроить на ночной режим и счётчик будет считать по другому тарифу.

long led_on = 03;              // Время включения диодов (устанавливается в часах)
long led_off = 23;             // Время выключения диодов (устанавливается в часах)
long ventilation_on = 32;      // Включение вентиляции (устанавливается в градусах цельсия).
long breeze_on = 01;           // Обдув растишек on (устанавливается в часах).
long breeze_off = 23;          // Обдув растишек off (устанавливается в часах).
long compressor_on = 5;        // Запуск компрессора для нагнетания воздуха в раствор.
long compressor_off = 23;      // Остановка компрессора для нагнетания воздуха в раствор.
long sprayings_on = 23;        // Запускается после выключения света, указываются минуты начала опрыскивания.
long sprayings_off = 24;       // Минуты остановки опрыскивания.
long a_heating_on = 25;        // Температура включения обогрева воздуха (градусы цельсия)
long a_cooling_on = 25;        // Температура включения охлаждения воздуха (градусы цельсия)
long w_heating_on = 25;        // Температура включения обогрева воды (градусы цельсия)
long w_cooling_on = 25;        // Температура включения охлаждения воды (градусы цельсия)
long humidifier_on = 50;       // Минимальная влажность для включения увлажнителя воздуха.

// Инициализация железа
// Пины для подключения к Ардуино датчиков и исполняемых модулей.
// Исполняемые модули
int led = 2;              // Диоды
int ventilation = 3;      // Вентиляция
int compressor = 4;       // Компрессор
int breeze = 5;           // Эмитация ветра
int sprayings = 6;        // опрыскивание
int humidifier = 7;       // Увлажнение воздуха
int a_heating = 8;        // обогрев воздуха
int a_cooling = 9;        // охлождение воздуха
int w_heating = 9;        // обогрев воды (раствора)
int w_cooling = 9;        // охлождение воды (раствора)

//Датчики
int W_Temp = 10;           // Температура воды
#define DHTPIN 11          // Температура и влажность воздуха
#define solution 12        // Датчик уровня раствора

#define DHTTYPE DHT11     // DHT 11
//#define DHTTYPE DHT22   // DHT 22
//#define DHTTYPE DHT21   // DHT 21
DHT dht(DHTPIN, DHTTYPE);

// Устанавливаем системные переменные для начала работы.
 void setup()
 {
 rtc.begin();
 dht.begin();
 Serial.begin(115200);
 pinMode(led, OUTPUT);               // Диоды
 pinMode(ventilation, OUTPUT);       // Вентиляция
 pinMode(breeze, OUTPUT);            // Эмитация ветра
 pinMode(compressor, OUTPUT);        // Компрессор
 pinMode(a_heating, OUTPUT);         // обогрев воздуха
 pinMode(a_cooling, OUTPUT);         // охлождение вохдуха
 pinMode(w_heating, OUTPUT);         // обогрев воды
 pinMode(w_cooling, OUTPUT);         // охлождение воды
}

void loop()
{
 RTC_T = rtc.getTime();
 Serial.println(rtc.getTimeStr());
 float a_humidity = dht.readHumidity();
 float a_temp = dht.readTemperature();
 delay (2000);
    if (isnan(a_temp) || isnan(a_humidity)) {
    Serial.println("Failed to read from DHT");
    } else {
    Serial.print("Humidity: ");
    Serial.print(a_humidity);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(a_temp);
    Serial.println(" *C");
    }
 

  double val_W = analogRead(W_Temp);
  double voltage = val_W*5.0/1024;
  double w_temp = voltage*100 - 273.15;
  float max_a_temp = 0, min_a_temp = 90;              // max/min значения температуры воды
  float max_w_temp = 0, min_w_temp = 90;              // max/min значения температуры раствора
  float max_a_humidity = 0, min_a_humidity = 90;      // max/min значения температуры раствора

// Проверка мин и макс температуры воздуха
    if(a_temp > max_a_temp) {
    max_a_temp = a_temp;
    } // max температура воздуха
    if(a_temp < min_a_temp) {
    min_a_temp = a_temp;
    } // min температура воздуха
// Проверка мин и макс температуры раствора (воды)
    if(w_temp > max_w_temp) {
    max_w_temp = w_temp;
    } // max температура воды
    if(w_temp < min_w_temp) {
    min_w_temp = w_temp;
    } // min температура воды
// Проверка влажности
    if(a_humidity > max_a_humidity) {
    max_a_humidity = a_humidity;
    } // max влажность
    if(a_humidity < min_a_humidity) {
    min_a_humidity = a_humidity;
    } // min влажность


// LED
if ((RTC_T.hour) >= led_on && (RTC_T.hour) < led_off)
{
     digitalWrite(led, HIGH);
 }
else
{
     digitalWrite(led, LOW);
}


//  Проветривание
/*
if ((RTC_T.hour) > ventilation_on && (RTC_T.hour) < ventilation_off)
        {
          // Включить
        digitalWrite(ventilation, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(ventilation, LOW);
        }
*/

// ventilation TEMP (TEST)        
if (a_temp > ventilation_on)
        {
          // Включить
        digitalWrite(ventilation, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(ventilation, LOW);
        }
//  Обдув (эмитация ветра)
if ((RTC_T.hour) >= breeze_on && (RTC_T.hour) < breeze_off)
        {
          // Включить
        digitalWrite(breeze, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(breeze, LOW);
        }

//Обогрев
if (a_temp < a_heating_on)
      {
       // Включить обогрев воздуха
       digitalWrite(a_heating, HIGH);
      }
else
      {
      // Выключить обогрев воздуха
       digitalWrite(a_heating, LOW);
      }
if (w_temp < w_heating_on)
      {
       // Включить обогрев воды
       digitalWrite(a_heating, HIGH);
      }
else
      {
      // Выключить обогрев воды
       digitalWrite(a_heating, LOW);
      }
//  Охлаждение
if (a_temp > a_cooling_on)
        {
        // Включить охлождение воздуха
        digitalWrite(a_cooling, HIGH);
        }
else
        {
        // Выключить охлождение воздуха
        digitalWrite(a_cooling, LOW);
       }
if (w_temp > w_cooling_on)
       {
        // Включить охлождение воды
        digitalWrite(w_cooling, HIGH);
        }
else
        {
        // Выключить охлождение воды
        digitalWrite(w_cooling, LOW);
       }
// Компрессор
 if ((RTC_T.hour) >= compressor_on && (RTC_T.hour) < compressor_off)
        {
          // Включить
        digitalWrite(compressor, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(compressor, LOW);
        }

// Опрыскивание
 if ((RTC_T.hour) == led_off && (RTC_T.min) >= sprayings_on && (RTC_T.hour) == led_off && (RTC_T.min) <= sprayings_off)
        {
          // Включить
        digitalWrite(sprayings, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(sprayings, LOW);
        }
// Увлажнение воздуха
 if (a_humidity < humidifier_on)
        {
          // Включить
        digitalWrite(humidifier, HIGH);
        }
else
        {
          // Выключить
        digitalWrite(humidifier, LOW);
        }

        // Датчик уровня раствора    
  if (!digitalRead(solution))
  {
    // Что делать пропишете сами)
    // Низкий уровень раствора
    }  
else
  {
    // Раствор в норме доливать не надо.
  }   
}
anatoliy
2016-05-27 21:15:52

Ну у китайцев есть более прикольные дисплее nextion  со своей визуальной средой разработки, т.е. вся работа с взаимодействием с экранам и сенсором отдается самому дисплею в очень удобной среде. А с ардуино он общается по UART/

rrs
2016-03-22 20:16:49
samchuk_vadim пише:
rrs пише:
samchuk_vadim пише:

Насчет моего скетча - пишите на почту или звоните. Договоримся.

я пишу тебе в личку но что то ты игноришь уважаемый

Поискал и нашёл - ваши письма (с mail.ru) в спам попадали...

скоро вернусь к этому вопросу. пока по работе занят. (отпишу на мыло)

samchuk_vadim
2016-03-20 13:42:04
rrs пише:
samchuk_vadim пише:

Насчет моего скетча - пишите на почту или звоните. Договоримся.

я пишу тебе в личку но что то ты игноришь уважаемый

Поискал и нашёл - ваши письма (с mail.ru) в спам попадали...

rrs
2016-03-20 10:57:15
samchuk_vadim пише:

Насчет моего скетча - пишите на почту или звоните. Договоримся.

я пишу тебе в личку но что то ты игноришь уважаемый

rrs
2016-03-19 22:36:24
NoName пише:

http://high-stone-forum.info/
по ссылке "Умная теплица или гроубокс для фрика)"
скорее всего у Вас данный ресурс заблокирован, как вредный для здоровья и государства
посмотрел на темы, там во всю делятся секретами выращивания культуры
шутка о траве,  не смешная  оказалась (
уверен гугл вам поможет найти подходящее решение по Вашей  теме.

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

samchuk_vadim
2016-03-18 20:18:48

Насчет моего скетча - пишите на почту или звоните. Договоримся.

NoName
2016-03-18 10:04:48

http://high-stone-forum.info/
по ссылке "Умная теплица или гроубокс для фрика)"
скорее всего у Вас данный ресурс заблокирован, как вредный для здоровья и государства
посмотрел на темы, там во всю делятся секретами выращивания культуры
шутка о траве,  не смешная  оказалась (
уверен гугл вам поможет найти подходящее решение по Вашей  теме.

rrs
2016-03-18 09:09:37
NoName пише:

http://high-stone-forum.info/index.php/ … %BA%D0%B0/

есть занимательный пример, регистрируйтесь на форуме, и смотрите доки, что там незнаю, не смотрел, но доков много )

что то ссылка битая, по ней не проходит

rrs
2016-03-17 19:14:48
samchuk_vadim пише:

Есть такой скетч. Даже более функционален.

и как он доступен? в ком версии или достояние общественности ?

NoName
2016-03-17 17:11:12

http://high-stone-forum.info/index.php/ … %BA%D0%B0/

есть занимательный пример, регистрируйтесь на форуме, и смотрите доки, что там незнаю, не смотрел, но доков много )

NoName
2016-03-17 12:33:09

samchuk_vadim, если он не на продажу покажите обществу  ) либо цену озвучьте )

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

samchuk_vadim
2016-03-17 10:52:13

Есть такой скетч. Даже более функционален.

NoName
2016-03-14 20:30:52

неа, я не люблю ждать )
правда что то Новая Почта молчит, не хотят наверное что б вступал в когорту ардуинщиков )

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

Підвал форуму