Nooorbi91
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 }
}
|
|