Ви не увійшли.
На вокви реле с активацией по 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); }
спасибо большое, но не могли б вы прочитать один из моих ответов на коментарий учасника(там где я привёл 2 кода) просто я пытаюсь именно разобраться что не так
Неактивний
digitalWrite(vbochku, HIGH);
digitalWrite(zbochki, HIGH);
перенесіть із loop в setup, вони і дають "ШІМ"
це і справді допомогло, але ви незнаєте чому це не заважало коду який написав до перериву?
Неактивний
Honey пише:digitalWrite(vbochku, HIGH);
digitalWrite(zbochki, HIGH);
перенесіть із loop в setup, вони і дають "ШІМ"це і справді допомогло, але ви незнаєте чому це не заважало коду який написав до перериву?
Тому, що:
analogRead(sensor);
digitalWrite(vbochku, HIGH);
digitalWrite(zbochki, HIGH);
...
digitalWrite(vbochku, LOW);
дає ШІМ з більшим коефіцієнтом заповнення нулем (це відповідає замкненому реле), ніж:
digitalWrite(vbochku, HIGH);
digitalWrite(zbochki, HIGH);
analogRead(sensor);
...
digitalWrite(vbochku, LOW);
по причині того, що analogRead(sensor); дає значну затримку в часі.
Тобто і там також була та ж проблема з ШІМ, але реле не встигало розмикатись.
Неактивний
Антончик пише:Honey пише:digitalWrite(vbochku, HIGH);
digitalWrite(zbochki, HIGH);
перенесіть із loop в setup, вони і дають "ШІМ"це і справді допомогло, але ви незнаєте чому це не заважало коду який написав до перериву?
Тому, що:
analogRead(sensor); digitalWrite(vbochku, HIGH); digitalWrite(zbochki, HIGH); ... digitalWrite(vbochku, LOW);
дає ШІМ з більшим коефіцієнтом заповнення нулем (це відповідає замкненому реле), ніж:
digitalWrite(vbochku, HIGH); digitalWrite(zbochki, HIGH); analogRead(sensor); ... digitalWrite(vbochku, LOW);
по причині того, що analogRead(sensor); дає значну затримку в часі.
Тобто і там також була та ж проблема з ШІМ, але реле не встигало розмикатись.
дякую
Неактивний