Keresés

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

  • ngabor2

    nagyúr

    válasz vargalex #8311 üzenetére

    Nem méretm, hanem kipróbáltam. 3 másodpercenként váltogattam a HIGH és a LOW állást, kapcsolgatott.

    Viszont valamit nem értek. A korábbi kódot módosítottam egy kicsit, különvettem a kapcsolást és az idő ellenőrzését. Hogy lássam, mit csinál, ideiglenesen 16 órát állítottam be. A módosult kódrész:

    ora = t.hour();
    Serial.println(ora, DEC);
    if (ora > 5 && ora < 16 ){
    p2 = 1;
    }
    else{
    p2 = 0;
    }

    if (p2 = 1){
    digitalWrite(2, LOW);
    }
    else{
    digitalWrite(2, HIGH);
    }
    Serial.println(p2, DEC);

    A kimenete:

    2018/3/26 (Monday) 16:34:1
    16
    1
    2018/3/26 (Monday) 16:34:4
    16
    1

    Tehát hiába 16 az ora értéke, ami nem kisebb, mint 16, tehát az első if() értéke hamis, a p2 mégis 1 marad. Az időt számként tárolja, mivel próbaként műveleteket végeztem vele és ment, illetve az ora és a p2 int típusú.

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

Hirdetés