Перейти к содержимому

kharlashkin

Дата регистрации: 13 ноя 2013
Вне сайта Был на сайте Вчера, 20:00

Сообщения пользователя

В теме:Arduino и аналоги

27 Март 2017 - 21:30

Итак два датчика DTH22, один в КСД (камеры статического давления) на подачу воздуха после кондера, второй на рециркуляцию, библиотека для DTH, два резистора на 10кОм.

 

Прикрепленный файл  dth22.png   295,13 Кб   0 раз скачано

Собственно код:

Нашлась неплохая библиотека управления событиями по таймеру - Timer. Как говорится "то, что доктор прописал" ;)

Скетч для температурных датчиков:

#include "DHT.h"
#include <RBD_Timer.h> 

#define dhtInPin 2
#define dhtOutPin 3
#define dhtTuype DHT22

DHT dhtIn(dhtInPin, dhtTuype);
DHT dhtOut(dhtOutPin, dhtTuype);
RBD::Timer timer;

void setup()
    {
    Serial.begin(115200);
    dhtIn.begin();
    dhtOut.begin();
    timer.setTimeout(4000);
    timer.restart();
    }

void loop() {
    if(timer.getValue() == 2000)
    {
    float humidityIn = dhtIn.readHumidity();
    float temperatureIn = dhtIn.readTemperature();
    Serial.print("HumidityIn: ");
    Serial.println(humidityIn);
    Serial.print("TemperatureIn: ");
    Serial.println(temperatureIn);    
    }
    else if(timer.isExpired())
    {
    float humidityOut = dhtOut.readHumidity();
    float temperatureOut = dhtOut.readTemperature();
    Serial.print("HumidityOut: ");
    Serial.println(humidityOut);
    Serial.print("TemperatureOut: ");
    Serial.println(temperatureOut);
    timer.restart();
    }
}

В теме:Arduino и аналоги

25 Март 2017 - 22:24

Так и надо, имхо.

Просто как-то хотелось сделать чуть ли не систему реального времени, а записывать в базу уже средние значения раз в минуту например, но видимо не судьба;)


В теме:Arduino и аналоги

25 Март 2017 - 21:58

P.S. Заметил глюк, в датчике СО2 стоит LED-нагреватель, который периодически включается/выключается. Во время его работы + так же запитан датчик пыли (тоже со встроенным нагревателем), светодиоды на ардуинке заметно тускнеют - питание просаживается. Если в этот момент времени идет передача данных в Serial - следующее значение ppmco2 будет равно -10, т.е. импульс не был посчитан.

 

Ну в общем всё не так. И скетч не правильный, непонятно почему меня никто не ткнул носом в мою необразованность. По-порядку.

 

Контроллер не умеет работать в несколько потоков и параллельно выполнять разные функции. Т.е. при выполнении например этого:

duration = pulseIn(dustPin, LOW);

Код будет ожидать окончания импульса, а в даташите указываются длины импульсов 10-90 мс (страница 3), таким образом весь процесс будет тормозиться. А для этого:

highlevel_co2 = pulseIn(co2Pin, HIGH, 1004000) / 1000; // Получение длины импульса HIGH в мс

Мы вообще тормозим всё на 1004 мс.

Т.е. мне пришлось переделывать почти всё (благо пример для mh-z19 pwm был изначально правильно написан), пока не проверю получаемый данные в паре и по отдельности датчиков выкладывать не буду. У всех прошу прощения за ввод в заблуждение. Сейчас крутиться тестовый скетч, но через сутки начинает врать датчик СО2.

 

Приехали датчики температуры и влажности dth-22 (даташит). Но все примеры и поиск на github построены с помощью delay(), а это значит что придется опять "изобретать велосипед".


С другой стороны, никто не мешает мне вызывать функции в определенное время, т.е. сначала выполняем подсчет пыли, потом меряем СО2, затем температуру и т.п.


В теме:Arduino и аналоги

13 Март 2017 - 22:26

Апну темку, приехали датчик уровня СО2 и пыли (MH-Z19 и DSM501A). Несколько вечеров копался в коде/игрался настройками, собственно результат ниже:

Жду остальные посылки с температурными датчиками и т.д.

P.S. Заметил глюк, в датчике СО2 стоит LED-нагреватель, который периодически включается/выключается. Во время его работы + так же запитан датчик пыли (тоже со встроенным нагревателем), светодиоды на ардуинке заметно тускнеют - питание просаживается. Если в этот момент времени идет передача данных в Serial - следующее значение ppmco2 будет равно -10, т.е. импульс не был посчитан. Хорошо что блок питания 5В у меня отдельный будет для автоматики ;)


В теме:Arduino и аналоги

04 Февраль 2017 - 21:17

Добавил в сообщение о модернизации серв фото процесса, прошу камнями сильно не кидать - снимал на телефон.


© Mr 13