Hirdetés

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

  • Pubszon

    veterán

    válasz leventekov #5190 üzenetére

    A kód működik, ahogy kell, még a prell ellen is van benne megoldás.
    A fenti kódból át kell alakítani így:
    void loop()
    {
    for (byte i = 0; i < kapcsolok; i++)
    {
    button[i] = digitalRead(pushbutton[i]);
    if ((button[i] == HIGH) && (toggle[i]))
    {
    toggle[i] = false;
    ledstate[i] = !ledstate[i];
    prelltime[i] = millis() + prell;
    }
    digitalWrite(led[i], ledstate[i]);
    if ((button[i] == LOW) && (!toggle[i]) && (millis() > prelltime[i]))
    {
    toggle[i] = true;
    }
    }
    }

    Ez elé kell berakni azt, hogy ha az idő elérte a beállított időpontot, akkor a ledstate = false; vagy épp true.
    Az i helyére 1, 2, 3 vagy 4-et kell írni ide, mivel ez nem for ciklusban lesz.
    És kell még bele egy vátozó, hogy ha eléri az időpontot, akkor csak egyszer fusson le megváltoztatva a ledstate-et, mert ha nem, akkor folyamatosan ez lesz érvénybe, így nem tudod kapcsolni gombbal, mint jelenleg is!

    [ Szerkesztve ]

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

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