Hirdetés

Új hozzászólás Aktív témák

  • Pubszon

    veterán

    válasz happy555 #345 üzenetére

    Na, javítgattam, de míg nincs itt az arduino addig nem tudom tesztelni, ezért kérem véleményezd és mond mit a hiba. :)

    const int buttonPin1 = 2; // Kapu nyitas gomb, a vevo egyik releje
    const int buttonPin2 = 3; // Kapu zaras gomb, a vevo masik releje
    const int iranyPin1 = 4; // Kapu nyitas-zaras, elso rele valtokapcsolo 1. rele
    const int iranyPin2 = 5; // Kapu nyitas-zaras, masodik rele valtokapcsolo 2. rele
    const int jelzoPin = 6; // Jelzofeny nyitas/zaras ideje alatt 3. rele
    const int resetPin = 7; // Vevo reset hogy a relek NO-ba alljanak 4. rele
    const int ACvPin = 8; // Motor 230V lekapcsolasa 5. kulonallo rele
    const int vegallasPin1 = 9; // Vegallaskapcsolo-nyitva
    const int vegallasPin2 = 10; // Vegallaskapcsolo-zarva /Magnes erzekelo/
    const int ledPin = 13; // Allapotjelzo LED, folyamatosan vilagit muvelet kozben


    // valtozni fognak:
    int nyitoGomb = 0; // Valtozik a gomb allapota alapjan
    int zaroGomb = 0; // Valtozik a gomb allapota alapjan
    int vegallasNyitva = 0; // Valtozik a vegallaskapcsolo allapota alapjan
    int vegallasZarva = 0; // Valtozik a vegallaskapcsolo allapota alapjan

    void setup() {
    // Ki-bemenetkent:
    pinMode(buttonPin1, INPUT);
    pinMode(buttonPin2, INPUT);
    pinMode(vegallasPin1, INPUT);
    pinMode(vegallasPin2, INPUT);
    pinMode(iranyPin1, OUTPUT);
    pinMode(iranyPin2, OUTPUT);
    pinMode(jelzoPin, OUTPUT);
    pinMode(ACvPin, OUTPUT);
    pinMode(resetPin, OUTPUT);
    pinMode(ledPin, OUTPUT);
    digitalWrite(jelzoPin, HIGH);
    delay(2000);
    digitalWrite(jelzoPin, LOW);
    Serial.begin(9600);
    }

    void loop()
    {
    nyitoGomb = digitalRead(buttonPin1);
    zaroGomb = digitalRead(buttonPin2);
    vegallasNyitva = digitalRead(vegallasPin1);
    vegallasZarva = digitalRead(vegallasPin2);

    if (digitalRead(nyitoGomb) == HIGH && digitalRead(zaroGomb) == LOW && digitalRead(vegallasNyitva) == LOW) // Nyitas

    {
    digitalWrite(jelzoPin, HIGH);
    digitalWrite(ledPin, HIGH);
    digitalWrite(iranyPin1, HIGH); //+
    digitalWrite(iranyPin2, LOW); //-
    delay(500);
    digitalWrite(ACvPin, HIGH);
    }

    else if (digitalRead(nyitoGomb) == HIGH && digitalRead(zaroGomb) == LOW && digitalRead(vegallasNyitva) == HIGH) // Nyitva

    {
    delay(196);
    digitalWrite(jelzoPin, LOW);
    digitalWrite(ACvPin, LOW);
    digitalWrite(resetPin, LOW);
    do
    {
    digitalWrite(ledPin, HIGH);
    delay(100);
    digitalWrite(ledPin, LOW);
    delay(100);
    }
    while(digitalRead(nyitoGomb)==HIGH || digitalRead(zaroGomb)==HIGH);
    delay(200);
    digitalWrite(resetPin, HIGH);
    }

    else if (digitalRead(nyitoGomb) == LOW && digitalRead(zaroGomb) == HIGH && digitalRead(vegallasNyitva) == LOW) // Zaras

    {
    digitalWrite(jelzoPin, HIGH);
    digitalWrite(ledPin, HIGH);
    digitalWrite(iranyPin1, LOW); //+
    digitalWrite(iranyPin2, HIGH); //-
    delay(500);
    digitalWrite(ACvPin, HIGH);
    }

    else if (digitalRead(nyitoGomb) == LOW && digitalRead(zaroGomb) == HIGH && digitalRead(vegallasNyitva) == HIGH) // Zarva

    {
    delay(374);
    digitalWrite(jelzoPin, LOW);
    digitalWrite(ACvPin, LOW);
    digitalWrite(resetPin, LOW);
    do
    {
    digitalWrite(ledPin, HIGH);
    delay(100);
    digitalWrite(ledPin, LOW);
    delay(100);
    }
    while(digitalRead(nyitoGomb)==HIGH || digitalRead(zaroGomb)==HIGH);
    delay(200);
    digitalWrite(resetPin, HIGH);
    }

    else if (digitalRead(nyitoGomb) == LOW && digitalRead(zaroGomb) == LOW) // Mind 2 gomb kikapcsolva a taviranyiton, alap statusz

    {
    digitalWrite(iranyPin1, LOW);
    digitalWrite(iranyPin2, LOW);
    digitalWrite(ACvPin, LOW);
    digitalWrite(jelzoPin, LOW);
    do
    {
    digitalWrite(ledPin, HIGH);
    delay(1000);
    digitalWrite(ledPin, LOW);
    delay(1000);
    }
    while(digitalRead(nyitoGomb)==LOW && digitalRead(zaroGomb)==LOW);
    }

    else

    {
    digitalWrite(jelzoPin, LOW);
    digitalWrite(ACvPin, LOW);
    digitalWrite(resetPin, LOW);
    do
    {
    digitalWrite(ledPin, HIGH);
    delay(100);
    digitalWrite(ledPin, LOW);
    delay(100);
    }
    while(digitalRead(nyitoGomb)==HIGH || digitalRead(zaroGomb)==HIGH);
    delay(200);
    digitalWrite(resetPin, HIGH);
    }
    }

    ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

Új hozzászólás Aktív témák