merhaba,
Bu kodda millis kullanamadığım için delay kullandım fakat delay kullandığım içinde kod doğru çalışmıyor. Millis kodunu anlayamadım biri düzeltip verebilir mi?
Bu kodda millis kullanamadığım için delay kullandım fakat delay kullandığım içinde kod doğru çalışmıyor. Millis kodunu anlayamadım biri düzeltip verebilir mi?
Kod:
int relay1Pin = 2;
int relay2Pin = 3;
int relay3Pin = 4;
int relay4Pin = 5;
int stopButton = 8;
int startButton = 9;
bool isRunning = false; // Başlangıçta çalışmıyoruz
void setup() {
pinMode(stopButton, INPUT_PULLUP);
pinMode(startButton, INPUT_PULLUP);
pinMode(relay1Pin, OUTPUT);
pinMode(relay2Pin, OUTPUT);
pinMode(relay3Pin, OUTPUT);
pinMode(relay4Pin, OUTPUT);
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay2Pin, HIGH);
digitalWrite(relay3Pin, HIGH);
digitalWrite(relay4Pin, HIGH);
Serial.begin(9600); // Seri portu başlat
}
void loop() {
// Start düğmesine basıldığında röleleri çalıştır
if (digitalRead(startButton) == LOW) {
isRunning = true;
Serial.println("Röleler çalıştırılıyor...");
}
// Stop düğmesine basıldığında röleleri durdur
if (digitalRead(stopButton) == LOW) {
if (isRunning) {
isRunning = false;
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay2Pin, HIGH);
digitalWrite(relay3Pin, HIGH);
digitalWrite(relay4Pin, HIGH);
Serial.println("Röleler durduruldu.");
}
}
// Röleleri çalıştırma durumunda
if (isRunning) {
digitalWrite(relay1Pin, LOW);
digitalWrite(relay2Pin, LOW);
delay(10000);
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay2Pin, HIGH);
delay(5000);
digitalWrite(relay3Pin, LOW);
digitalWrite(relay4Pin, LOW);
delay(10000);
digitalWrite(relay3Pin, HIGH);
digitalWrite(relay4Pin, HIGH);
delay(5000);
}
}