#1 Re: Програмування Arduino » не коректно працює реле » 2023-09-27 23:11:52

гость пише:
ncux пише:

там нет датчика влажности

можно было взять простой потенциометр

можно, берите

#2 Re: Програмування Arduino » не коректно працює реле » 2023-09-27 20:15:53

там нет датчика влажности, а по выходному сигналу они по сути идентичны

#3 Re: Програмування Arduino » не коректно працює реле » 2023-09-27 14:13:52

На вокви реле с активацией по HIGH, так что HIGH<>LOW
после запуска скетча можно ткнуть на датчик и менять показания.

https://wokwi.com/projects/377019990555021313

#define sensor A0
#define vbochku A1
#define zbochki A2

uint8_t polyv = 1;
uint16_t vologist = 0;
uint32_t last_time;

void setup() {
  Serial.begin(19200);

  pinMode(sensor, INPUT);

  pinMode(vbochku, OUTPUT);
  pinMode(zbochki, OUTPUT);

  digitalWrite(vbochku, LOW);
  digitalWrite(zbochki, LOW);
}

void loop() {

  vologist = analogRead(sensor);

  switch (polyv) {
  case 1:
    Serial.println("case1 fired");
    if (vologist <= 300) {
      digitalWrite(vbochku, HIGH);
      polyv = 2;
      last_time = millis();
    }
    break;
  case 2:
    Serial.println("case 2 fired");
    if (millis() - last_time >= 5000) {
      digitalWrite(vbochku, LOW);
      polyv = 3;
    }
    break;
  case 3:
    Serial.println("case 3 fired");
    digitalWrite(zbochki, HIGH);
    polyv = 4;
    last_time = millis();
    break;
  case 4:
    Serial.println("case 4 fired");
    if (millis() - last_time >= 5000) {
      digitalWrite(zbochki, LOW);
      polyv = 1;
    }
    break;
  }
  Serial.println(vologist);
  Serial.println(polyv);
  Serial.println(millis() - last_time);
  delay(1000);
}

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