Hirdetés

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

  • Pubszon

    veterán

    Na és össze van állítva próbára, működik ahogy elgondoltam! :D

    Itt a kód, tippeket várok. :K

    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);
    }

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

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

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

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

    {
    delay(11); //Ha kinyilik, mennyit toljon meg, hogy feszes legyen
    digitalWrite(jelzoPin, HIGH);
    digitalWrite(ACvPin, HIGH);
    digitalWrite(resetPin, LOW);
    do
    {
    digitalWrite(ledPin, HIGH);
    delay(100);
    digitalWrite(ledPin, LOW);
    delay(100);
    digitalRead(nyitoGomb);
    digitalRead(zaroGomb);
    break;
    }
    while((nyitoGomb==HIGH) || (zaroGomb==HIGH));
    delay(400);
    digitalWrite(resetPin, LOW);
    }

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

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

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

    {
    delay(11); //Ha bezarul, mennyit toljon meg, hogy feszes legyen
    digitalWrite(jelzoPin, HIGH);
    digitalWrite(ACvPin, HIGH);
    digitalWrite(resetPin, LOW);
    do
    {
    digitalWrite(ledPin, HIGH);
    delay(100);
    digitalWrite(ledPin, LOW);
    delay(100);
    digitalRead(nyitoGomb);
    digitalRead(zaroGomb);
    break;
    }
    while((nyitoGomb==HIGH) || (zaroGomb==HIGH));
    delay(400);
    digitalWrite(resetPin, LOW);
    }

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

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

    }

    else

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

    [ Szerkesztve ]

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

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