Nooorbi91 Creative Commons License 2016.12.17 0 0 2590

Sziasztok!

Szeretnék csinálni egy nyomógombbal vezérelhető lámpát ami adott idő után lekapcsol. Ez eddig nem is gond, viszont úgy kellene megcsinálni hogy ha a nyomógombot nyomva tartom mondjuk 2 másodpercig akkor a felkapcsolva maradjon a lámpa, és mellette egy visszajelző LED, ami jelzi hogy nem időzítős módban van. A lámpa a nyomógomb újbóli megnyomására kapcsolna le.

 


int Lampa = 9; // LED Pin9-re kotve
int LED = 8; // LED Pin8-re kotve
int kapcsolo = 7; // nyomogomb Pin7-re kotve

int val = 0; // Nyomogomb
int val2 = 0; //gomb hosszan nyomva
void setup()

{

pinMode(Lampa, OUTPUT); //  Lampa-hez tartozo lab kimenet

pinMode(kapcsolo, INPUT); // a nyomogombhoz tartozo lab bemenet

digitalWrite(Lampa, LOW); //Lampa kikapcsolasa

}

void loop()

{

val = digitalRead(kapcsolo); // nyomogomb allapotanak lekerdezese


if (val == HIGH)  // ha a nyomogomb nincs lenyomva

{

digitalWrite(Lampa,   HIGH);  //Lampa bekapcsolasa
delay(1000);               // varakozas 1 masodpercig
val2 = digitalRead(kapcsolo); // nyomogomb allapotanak lekerdezese
delay(4000);               // varakozas 4 masodpercig

digitalWrite(Lampa, LOW);    //Lampa kikapcsolasa

}

else  // kulonben

{

digitalWrite(Lampa,   LOW); //Lampa kikapcsolasa

}




if (val2 == HIGH)  // ha a nyomogomb nincs lenyomva

{

digitalWrite(Lampa,   HIGH);  // Lampa bekapcsolasa
digitalWrite(LED,   HIGH);  //LED bekapcsolasa

delay(20000);               // varakozas 20 masodpercig

digitalWrite(Lampa, LOW);    //Lampa kikapcsolasa
digitalWrite(LED,   LOW);  //LED bekapcsolasa

}

else  // kulonben

{

digitalWrite(Lampa,   LOW); //Lampa kikapcsolasa
digitalWrite(LED,   LOW);  //LED bekapcsolasa
}

}