Go Down

Topic: aiuto software please (Read 469 times) previous topic - next topic

lupastro81

Sep 22, 2012, 11:31 pm Last Edit: Sep 23, 2012, 12:41 am by UweFederer Reason: 1
ciao, in questo codice, ingresso con antirimbalzo, e uscita, quando si riavvia l'arduino mega mi manda l'uscita a "1", mentre vorrei fosse a "0" ... come posso fare?
grazie

Code: [Select]
#define P1 22  //INPUT PULSANTE -k1  CENTROVOLTA CUCINA
#define K1 2  //OUTPUT relè  CENTROVOLTA CUCINA

#define debounce 150  //Tempo di antirimbalzo


// variabili interne
int stateK1 = HIGH;  //Stato del pin OUTPUT LED
int readingK1;  //Lettura corrente del pin INPUT PULSANTE
int previousK1 = LOW;  //Lettura precedente del pin INPUT PULSAN
long timeK1 = 0;  //Ultimo tempo in cui il pin di OUTPUT è stato attivato

void setup()

{
    pinMode(P1, INPUT);  //Imposto il pulsante come INPUT
    pinMode(K1, OUTPUT);  //Imposto il LED come OUTPUT
}

void loop()
// K1  P1

{  {
    readingK1 = digitalRead(P1);  //Leggo il valore in ingresso dato dal pulsante

    //Se abbiamo premuto in pulsante (HIGH) e la volta prima il suo stato
    //era LOW ed è trascorso il tempo necessario
    if (readingK1 == HIGH && previousK1 == LOW && millis() - timeK1 > debounce) {
        //Inverte l'OUTPUT
        if (stateK1 == HIGH)
            stateK1 = LOW;
        else
            stateK1 = HIGH;

        //Ricorda quando l'ultima volta è stato premuto il pulsante  
        timeK1 = millis();
    }

digitalWrite(K1, stateK1);  //Scrivo lo stato sul LED

previousK1 = readingK1;

}

uwefed

forse perché scrivi all inizio:
Code: [Select]
int stateK1 = HIGH;  //Stato del pin OUTPUT LED
Ciao Uwe

lupastro81


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy