• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie ośmioma przekaźnikami
#11
Kod:
int stan = 0;
void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(11, INPUT_PULLUP); //Przycisk jako wejście
// digitalWrite(11, INPUT_PULLUP); //Włączenie przekaźnika nie wiem po co to jest pytanie do autora
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
}

void loop()
{
  if (digitalRead(11) == LOW && stan ==0 ) { //Jeśli przycisk wciśnięty i zmienna stan jest równa 0
    digitalWrite(2, LOW); //Włącz przekaźnik
    delay(1000); //Czekamy 1 sekund
    digitalWrite(3, LOW); //Włącz
    delay(1000); //Czekamy 1 sekund
    digitalWrite(4, LOW); //Włącz
    delay(1000); //Czekamy 1 sekund
    digitalWrite(5, LOW); //Włącz
    delay(1000); //Czekamy 1 sekund
    digitalWrite(6, LOW); //Włącz
    delay(1000); //Czekamy 1 sekund
    digitalWrite(7, LOW); //Włącz
    delay(1000); //Czekamy 1 sekund
    digitalWrite(8, LOW); //Włącz
    delay(1000); //Czekamy 1 sekund
    digitalWrite(9, LOW); //Włącz
    stan = 1;
  }
    if (digitalRead(11) == LOW && stan ==1 ) { //Jeśli przycisk wciśnięty i zmienna stan jest równa 1
    digitalWrite(9, HIGH); //Włącz przekaźnik
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(8, HIGH); //Wyłącz
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(7, HIGH); //Wyłącz
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(6, HIGH); //Wyłącz
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(5, HIGH); //Wyłącz
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(4, HIGH); //Wyłącz
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(2, HIGH); //Wyłącz
    delay(2000); //Czekamy 2 sekundy
    digitalWrite(2, HIGH); //Wyłącz
    stan = 0;
  }

 
  }
Może to zadziała.
Wiem, że można zrobić inaczej bardziej elegancko, ale chciałem pokazać, że tak też można. 
Procesor z tym kodem oczywiście oprócz włączania i wyłączania przekaźników już nic więcej nie potrafi robić, no chyba, że nie będzie się w tym czasie naciskać przycisku.
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie ośmioma przekaźnikami - przez Piotr82 - 22-09-2019, 11:43
RE: Sterowanie ośmioma przekaźnikami - przez semi - 22-09-2019, 12:05
Sterowanie ośmioma przekaźnikami - przez gavron7 - 22-09-2019, 16:21
RE: Sterowanie ośmioma przekaźnikami - przez Agregacik - 23-09-2019, 16:42
RE: Sterowanie ośmioma przekaźnikami - przez semi - 23-09-2019, 21:23
RE: Sterowanie ośmioma przekaźnikami - przez semi - 23-09-2019, 11:42
RE: Sterowanie ośmioma przekaźnikami - przez semi - 24-09-2019, 12:53
RE: Sterowanie ośmioma przekaźnikami - przez semi - 24-09-2019, 20:00

Skocz do:


Przeglądający: 1 gości