Страница 1 из 1

Реле, температура\влажность , ток

Добавлено: 20 фев 2019, 08:55
АнатолийBarinov
Здравствуйте, не могу разобраться. Задача
Требуется создать нейкий стенд сбора данных.
Имеется Arduino Mega 2560, Реле SRD-05VDC-SLC, ASC712 , датчик dht11
Вот что получилось.
Не получается сделать автоматические отключение кнопки при достижении определенного % Влажности или температуры.
А Так же вывод данных в таблицу с периодичностью 5 мин и возможностью сохранения данных в EXEL.

Код: Выделить всё

#include "DHT.h" //библиотека для работы с DHT 
#define DHTPIN 3 //Обозначаем номер пина, к которому подключен датчик DHT11 
#define Relay 5 //Обозначаем номер пина, к которому подключен реле 
DHT dht(DHTPIN, DHT11); //инициируем датчик DHT 
#define PIN_OUT A0
                              
#include <TroykaCurrent.h> // подключение библиотеки
ACS712 dataI(PIN_OUT);
// создание объекта
int cmd=0;

void setup() { 
pinMode (Relay, OUTPUT); //Инициализируем режим работы порта в режиме выхода 
dht.begin(); 
Serial.begin (9600); 
digitalWrite(Relay, HIGH);// выклбчаем реле (высокий сигнал)
} 

void loop() { 
if (Serial.available ()){
  cmd=Serial.read();
  if (cmd==48){
  digitalWrite(Relay, LOW);
  }
  if (cmd==49){
  digitalWrite(Relay, HIGH);
  }
  delay(100);
}
float h = dht.readHumidity(); //Считываем влажность в переменную "h" 
float t = dht.readTemperature(); //Считываем температуру в переменную "t" 
float a = dataI.readCurrentAC();
if (isnan(t) || isnan(h) || isnan(a)) { //если неправильно считалась информация { 
Serial.println ("Ошибка при считывании информации"); //выводим надпись в программе
} else { //иначе 
Serial.print (""); //выводим надпись Humidity 
Serial.print (h); //выводим значение переменной влажности 
Serial.print (" %\t"); //выводим надпись %\t 
Serial.print (""); //выводим надпись в программе 
Serial.print (t); //выводим переменную температуры 
Serial.print (" \C"); //выводим надпись *C 
Serial.print(" ");
Serial.print(a);
Serial.println("");}// вывод показаний в последовательный порт
delay(2000);




Re: Реле, температура\влажность , ток

Добавлено: 20 фев 2019, 18:17
taras_33
Не получается сделать автоматические отключение кнопки при достижении определенного % Влажности или температуры.
А Так же вывод данных в таблицу с периодичностью 5 мин и возможностью сохранения данных в EXEL.
Стало быть данные из порта Вы получаете без проблем и читаются они на индикаторах правильно? И вопрос только в отключении реле кнопкой по достижении определенной темперетуры, так?
P.S. Кстати зачем дублировать индикаторы? Щелчок правой кнопкой по графическому индикатору и...
Show Digital display.png
Show Digital display.png (10.84 КБ) 2405 просмотров

Re: Реле, температура\влажность , ток

Добавлено: 21 фев 2019, 07:57
АнатолийBarinov
Данные с порта получаю нормально. но кнопка в программе с задержкой работает. нажимаю реле срабатывает не сразу. Требуется Отключение кнопки по достижению температуры.и добавить возможность сохранения раз 5 минут показаний в EXEL.

Re: Реле, температура\влажность , ток

Добавлено: 21 фев 2019, 08:24
АнатолийBarinov
P.S. Кстати зачем дублировать индикаторы? Щелчок правой кнопкой по графическому индикатору и...
Спасибо) я новичок... много не знаю.....

Re: Реле, температура\влажность , ток

Добавлено: 21 фев 2019, 16:23
taras_33
Данные с порта получаю нормально
Я собственно интересуюсь, поскольку Вы довольно странно делаете парсинг полученной строки, а данные у Вас отображаются нормально. Как выглядит поле "чтение данных" после получения их из порта?
но кнопка в программе с задержкой работает. нажимаю реле срабатывает не сразу.
Так оно и понятно, у Вас задержек натыкано... В контроллере более двух секунд, и в самом Vi.
Со стороны LV логичнее было бы делать с использованием Event структуры, изменили состояние кнопки - данные сразу записали в порт, а не пихать их каждую секунду.
Со стороны контроллера, делать на прерываниях - данные прилетели - включили/выключили реле. Впрочем хозяин - барин..
Изменить состояние кнопки можно используя property node - правый щелчок по кнопке далее
Property Node.png
Change Boolean Value.png
Change Boolean Value.png (5.42 КБ) 2330 просмотров
По поводу сохранения в Excel - пользуйтесь поиском, информации полно в том чиле и на этом портале , а что бы сохранять с какой то периодичностью пользуйтесь функциями из палитры Timing

Re: Реле, температура\влажность , ток

Добавлено: 22 фев 2019, 10:42
АнатолийBarinov
Со стороны LV логичнее было бы делать с использованием Event структуры, изменили состояние кнопки - данные сразу записали в порт, а не пихать их каждую секунду.
Извиняюсь, а можно по подробнее....

Re: Реле, температура\влажность , ток

Добавлено: 27 фев 2019, 09:16
yakuba26
Вы измеряете постоянный или переменный ток?

Re: Реле, температура\влажность , ток

Добавлено: 27 фев 2019, 09:34
АнатолийBarinov
Вы измеряете постоянный или переменный ток?
переменный