Здрвствуйте Уважаемие Помогите пожолуйста мне, я новичок в етом деле и не очень разбираюсь в программирование. как совместит оба кода Код (C++): 01 #include <boarddefs.h> #include <IRremote.h> #include <IRremoteInt.h> #include <ir_Lego_PF_BitStreamEncoder.h> #include <IRremote.h> int RECV_PIN = 4; //вход ИК приемника IRrecv irrecv(RECV_PIN); decode_results results; int LED = 6; void setup() { irrecv.enableIRIn(); // включить приемник pinMode(LED, OUTPUT); } void loop() { if (irrecv.decode(&results)) { if (results.value == 0xFFA25D) //код моей кнопки "2FD807F". У Вас он будет дугой { digitalWrite(LED, HIGH); } if (results.value == 0xFFE21D)//код моей кнопки "2FD40BF". У Вас он будет дугой { digitalWrite(LED, LOW); } irrecv.resume(); } } и этот код Код (C++): #include "DHT.h" //библиотека для работы с DHT #define DHTPIN 3 //Обозначаем номер пина, к которому подключен датчик DHT11 #define Relay 5 //Обозначаем номер пина, к которому подключен реле DHT dht(DHTPIN, DHT11); //инициируем датчик DHT void setup() { pinMode (Relay, OUTPUT); //Инициализируем режим работы порта в режиме выхода dht. begin(); Serial.begin (9600); } void loop() { delay (1000); float h = dht.readHumidity(); //Считываем влажность в переменную "h" float t = dht.readTemperature(); //Считываем температуру в переменную "t" //if (isnan(t) || isnan(h)) { //если неправильно считалась информация { /*Serial.println ("Ошибка при считывании информации"); //выводим надпись в программе } else { //иначе Serial.print ("Humidity: "); //выводим надпись Humidity Serial.print (h); //выводим значение переменной влажности Serial.print (" %\t"); //выводим надпись %\t Serial.print ("Temperature: "); //выводим надпись в программе Serial.print (t); //выводим переменную температуры Serial.println (" *C"); //выводим надпись *C } */ if (t > 24) //Указываем условие, если переменная "h" (влажность) больше 40% { digitalWrite (Relay, LOW); //то включаем наше реле, которое приводит в действие вентилятор } else //иначе { digitalWrite (Relay, HIGH); //Реле будет выключено, вентилятор не работает } } /*Вы можете изменить переменную на переменную . Мы привели вам самый простой пример, его идею можно использовать для создания качественного проекта! */ извеняюсь за ошибки)))))
Вот: Код (C++): #include <boarddefs.h> #include <IRremote.h> #include <IRremoteInt.h> #include <ir_Lego_PF_BitStreamEncoder.h> #include "DHT.h" //библиотека для работы с DHT #include <IRremote.h> #define DHTPIN 3 //Обозначаем номер пина, к которому подключен датчик DHT11 #define Relay 5 //Обозначаем номер пина, к которому подключен реле DHT dht(DHTPIN, DHT11);//инициируем датчик DHT int RECV_PIN = 4; //вход ИК приемника IRrecv irrecv(RECV_PIN); decode_results results; int LED = 6; void setup() { irrecv.enableIRIn(); // включить приемник pinMode(LED, OUTPUT); pinMode (Relay, OUTPUT);//Инициализируем режим работы порта в режиме выхода dht. begin(); Serial.begin(9600); } void loop() { Тут совмещать должны вы сами, в зависимости от поставленной перед вами задачи. } }
у меня в этом не получаеться вот код который сам попробовал Код (C++): #include "DHT.h" //библиотека для работы с DHT #define DHTPIN 3 //Обозначаем номер пина, к которому подключен датчик DHT11 #define Relay 5 //Обозначаем номер пина, к которому подключен реле DHT dht(DHTPIN, DHT11); //инициируем датчик DHT #include <boarddefs.h> #include <IRremote.h> #include <IRremoteInt.h> #include <ir_Lego_PF_BitStreamEncoder.h> #include <IRremote.h> int RECV_PIN = 4; //вход ИК приемника IRrecv irrecv(RECV_PIN); decode_results results; int LED = 5; void setup() { pinMode (Relay, OUTPUT); //Инициализируем режим работы порта в режиме выхода dht. begin(); Serial.begin (9600); irrecv.enableIRIn(); // включить приемник pinMode(LED, OUTPUT); } void loop() { delay (1000); float h = dht.readHumidity(); //Считываем влажность в переменную "h" float t = dht.readTemperature(); //Считываем температуру в переменную "t" //if (isnan(t) || isnan(h)) { //если неправильно считалась информация { /*Serial.println ("Ошибка при считывании информации"); //выводим надпись в программе } else { //иначе Serial.print ("Humidity: "); //выводим надпись Humidity Serial.print (h); //выводим значение переменной влажности Serial.print (" %\t"); //выводим надпись %\t Serial.print ("Temperature: "); //выводим надпись в программе Serial.print (t); //выводим переменную температуры Serial.println (" *C"); //выводим надпись *C } */ if (irrecv.decode(&results)) if (t > 24 || results.value == 0xFFA25D ) //Указываем условие, если переменная "h" (влажность) больше 40% { digitalWrite (Relay, LOW); //то включаем наше реле, которое приводит в действие вентилятор digitalWrite(LED, HIGH);} else if ( t < 24 || results.value == 0xFFE21D) //иначе { digitalWrite (Relay, HIGH); //Реле будет выключено, вентилятор не работает digitalWrite(LED, LOW); } irrecv.resume(); } /*Вы можете изменить переменную на переменную . Мы привели вам самый простой пример, его идею можно использовать для создания качественного проекта! */ когда включаю через пулт он через секунду отключаеться из зи того что градус меньше 24 как сделат что вкл в пулте или выше 24 градусов и отклячение наборот.