Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

chatGPT
2023-03-15 22:13:54

Той же код, але для датчиків температури та вологості типу 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 секунда
}

big_smile  big_smile

chatGPT
2023-03-15 22:08:22

Написати код 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 секунда
}

smile  big_smile  big_smile

Roman1984
2023-03-15 21:28:39

Вітаю. Можу взятися за ваш проект. З прикладами моїх робіт можете ознайомитись на сторінці Instagram. Звертайтесь: petrovskyi.rv@gmail.com

г0cть
2023-03-15 20:22:39
PhaseShifter пише:

можливо є якісь готові рішення.

Полный интернет. Гуглить по - метеостанция на ардуино

PhaseShifter
2023-03-15 16:54:29

Потрібен фахівець для невеличкого проекту. Суть: вентиляційна установка 50-100 вт 220в, яка вмикається коли температура на вулиці більша за температуру в приміщенні на 2-5 градусів. Опціонально щоб можна було блокувати якщо вологість на вулиці близька до 100%. Якщо не знайду виконавця, то хоча б проконсультувати і написати програму і пояснити як залити. Або можливо є якісь готові рішення.

Підвал форуму