Ви не увійшли.
Той же код, але для датчиків температури та вологості типу aht10
#include <Wire.h>
#include <AHT10.h>
AHT10 sensor1, sensor2;
// пін для реле
const int relayPin = 5;
void setup() {
Serial.begin(9600);
sensor1.begin();
sensor2.begin();
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
}
void loop() {
float temp1 = sensor1.getTemperature(); // температура з першого датчика
float hum1 = sensor1.getHumidity(); // вологість з першого датчика
float temp2 = sensor2.getTemperature(); // температура з другого датчика
float hum2 = sensor2.getHumidity(); // вологість з другого датчика
if (hum1 >= 99.9 || hum2 >= 99.9) { // якщо вологість близька до 100%, блокуємо роботу реле
digitalWrite(relayPin, LOW);
} else if (temp1 > (temp2 + 2) && temp1 < (temp2 + 5)) { // якщо температура з першого датчика на 2-5 градусів більша від другого, увімкнути реле
digitalWrite(relayPin, HIGH);
} else {
digitalWrite(relayPin, LOW);
}
// виведення даних на монітор порта для налагодження
Serial.print("Temperature 1: ");
Serial.print(temp1);
Serial.print("°C, Humidity 1: ");
Serial.print(hum1);
Serial.print("%, Temperature 2: ");
Serial.print(temp2);
Serial.print("°C, Humidity 2: ");
Serial.print(hum2);
Serial.println("%");
delay(1000); // затримка 1 секунда
}
Написати код arduino для двох датчиків температури і вологості. Якщо температура з першого датчика на 2-5 градуси більша від другого - увімкнути реле. При вологості близько 100% блокувати роботу реле незалежно від температури. Датчики температури ds18b20, вологості - dht22
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DHT.h>
#define ONE_WIRE_BUS_1 2 // пін для підключення першого датчика температури ds18b20
#define ONE_WIRE_BUS_2 3 // пін для підключення другого датчика температури ds18b20
#define DHTPIN 4 // пін для підключення датчика вологості dht22
#define DHTTYPE DHT22 // тип датчика вологості
// ініціалізація об'єктів
OneWire oneWire_1(ONE_WIRE_BUS_1);
DallasTemperature sensors_1(&oneWire_1);
OneWire oneWire_2(ONE_WIRE_BUS_2);
DallasTemperature sensors_2(&oneWire_2);
DHT dht(DHTPIN, DHTTYPE);
// пін для реле
const int relayPin = 5;
void setup() {
Serial.begin(9600);
sensors_1.begin();
sensors_2.begin();
dht.begin();
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
}
void loop() {
sensors_1.requestTemperatures(); // запит температури з першого датчика
sensors_2.requestTemperatures(); // запит температури з другого датчика
float temp1 = sensors_1.getTempCByIndex(0); // температура з першого датчика
float temp2 = sensors_2.getTempCByIndex(0); // температура з другого датчика
float humidity = dht.readHumidity(); // вологість
if (humidity >= 99.9) { // якщо вологість близька до 100%, блокуємо роботу реле
digitalWrite(relayPin, LOW);
} else if (temp1 > (temp2 + 2) && temp1 < (temp2 + 5)) { // якщо температура з першого датчика на 2-5 градусів більша від другого, увімкнути реле
digitalWrite(relayPin, HIGH);
} else {
digitalWrite(relayPin, LOW);
}
// виведення даних на монітор порта для налагодження
Serial.print("Temperature 1: ");
Serial.print(temp1);
Serial.print("°C, Temperature 2: ");
Serial.print(temp2);
Serial.print("°C, Humidity: ");
Serial.print(humidity);
Serial.println("%");
delay(1000); // затримка 1 секунда
}
Вітаю. Можу взятися за ваш проект. З прикладами моїх робіт можете ознайомитись на сторінці Instagram. Звертайтесь: petrovskyi.rv@gmail.com
можливо є якісь готові рішення.
Полный интернет. Гуглить по - метеостанция на ардуино
Потрібен фахівець для невеличкого проекту. Суть: вентиляційна установка 50-100 вт 220в, яка вмикається коли температура на вулиці більша за температуру в приміщенні на 2-5 градусів. Опціонально щоб можна було блокувати якщо вологість на вулиці близька до 100%. Якщо не знайду виконавця, то хоча б проконсультувати і написати програму і пояснити як залити. Або можливо є якісь готові рішення.