Hirdetés

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

  • gordonfreemN

    addikt

    Kezd valami kialakulni.
    #include "LowPower.h"
    const int powerled = 9;
    int brightness = 0;
    int fadeAmount = 10;

    const int button_p = 2;
    bool buttonstate_p;
    bool lastbuttonstate_p;
    byte vpower;

    const int powerrelay = 13;

    void setup() {
    pinMode(powerled, OUTPUT);
    pinMode(button_p, INPUT);
    buttonstate_p = 1;
    lastbuttonstate_p = 1;
    pinMode(powerrelay, OUTPUT);
    }
    void wakeUp() {
    // Just a handler for the pin interrupt.
    }

    void loop() {
    if (vpower == 0) {
    analogWrite(powerled, brightness);
    brightness = brightness + fadeAmount;
    if (brightness <= 0 || brightness >= 250) {
    fadeAmount = -fadeAmount;
    }
    delay(30);
    if (brightness == 0) {
    digitalWrite(powerled, 0);
    }
    }
    if (vpower == 1) {analogWrite(powerled, 255);}

    buttonstate_p = digitalRead(button_p); //gomb állapot kiolvasása
    if (buttonstate_p != lastbuttonstate_p) //gombnyomás történt? Gomb állapota változott az előzőhöz képest?
    {
    delay(500); //ha történt változás az előző állapothot képest, várj 50ms-ot
    if (buttonstate_p == 0) //ha a gomb nyomva, azaz bemenet értéke alacsony akkor
    {
    if (vpower < 1) { //ha vpower értéke kisebb mint egy
    vpower++; //növelje vpower változó értékét eggyel
    }
    else { //ha vpower értéke egy vagy több
    vpower = 0; //akkor legyen az értéke nulla
    }
    }
    if (vpower == 0) {
    digitalWrite(powerrelay, 0);
    // Allow wake up pin to trigger interrupt on low.
    attachInterrupt(0, wakeUp, LOW);
    LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
    // Disable external pin interrupt on wake up pin.
    detachInterrupt(0);
    // Do something here
    }
    if (vpower == 1) {digitalWrite(powerrelay, 1);}
    }
    lastbuttonstate_p = buttonstate_p;
    }

    Na most itt egy olyan kérdésem lenne, hogy akkor a loop megáll ha sleep forever-t használok?
    Csak mert a LED fade megállt.
    A cél az volna, hogy a készülék kikapcsolásakor a power LED villogjon fade-elve (így jelezvén, hogy a készülék feszültség alatt áll) illetve menjen valami energiatakarék módba, mivel nincs használva a készülék.
    Ez nem a teljes kód, csak egy részletet kihoztam belőle, a jelenlegi cél érdekében feleslegesnek éreztem az egészet ide vetni.

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