roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 17:39

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Как прикрутить кнопку?
СообщениеДобавлено: 05 май 2017, 06:19 
Не в сети

Зарегистрирован: 05 май 2017, 06:16
Сообщения: 1
Доброго времени суток! Всем!

Долго мучился... пытался... но нет, мне не поддалось.

И вот обращаюсь к ВАМ. Написал скетч по управлению рэле по сравнению двух датчиков влажности. Но есть необходимость прикрутить кнопку вкл/выкл... Вот вопрос: Как прописать кнопку включения данного в скетче сравнения показаний датчиков на 5 дней (но без delay), с возможностью отключения этого кнопкой... пытался поместить в case'ы, возникла проблема с delay в чтении датчиков...

Код:
#include "stDHT.h"
DHT sens(DHT22);
const int relPin1 = 3; //реле 1
const int relPin2 = 5; //реле 2


void setup()
{
  Serial.begin(57600);
  pinMode(2, INPUT);
  digitalWrite(2, HIGH);
  pinMode(4, INPUT);
  digitalWrite(4, HIGH);
 
  pinMode(relPin1, OUTPUT);
  pinMode(relPin2, OUTPUT);


  pinMode(11, INPUT);
}


void loop()
{
  int t = sens.readTemperature(2); // чтение датчика на пине 2
  int h = sens.readHumidity(2);    // чтение датчика на пине 2
  delay(2000);
  int t2 = sens.readTemperature(4); // чтение датчика на пине 4
  int h2 = sens.readHumidity(4);    // чтение датчика на пине 4
  delay(2000);

  if( t >= (t2+5)){
  digitalWrite(relPin1, LOW); // при достижении температуры датчика 1 более 5 градусов включаем реле 2, отключаем реле 1
  digitalWrite(relPin2, HIGH); //
  }
  else if( h >= (h2+5)){
  digitalWrite(relPin1, LOW); //при влажности датчика 1 более 5 градусов включаем реле 2, реле 1 выключен
  digitalWrite(relPin2, HIGH); //
  }
  else {
  digitalWrite(relPin1, HIGH); // в других случаях реле 1 включено, реле 2 выключено
  digitalWrite(relPin2, LOW);
  }

 
  Serial.print("Влага датчика №1: ");
  Serial.print(h);
  Serial.print(" %");
  Serial.print("Темпер датчика №1: ");
  Serial.print(t);
  Serial.println(" C ");

  Serial.print("Влага датчика №2: ");
  Serial.print(h2);
  Serial.print(" %");
  Serial.print("Темпер датчика №2: ");
  Serial.print(t2);
  Serial.println(" C ");

}


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO