#define LED1 13
#define ledPin  2  
int stanLED1 = LOW;
unsigned long aktualnyCzas = 0;
unsigned long zapamietanyCzasLED1 = 0;
byte stan = 0; 


void setup(){
  Serial.begin(9600);
  pinMode(LED1, OUTPUT);
  pinMode(22,INPUT);
pinMode(23,INPUT);
}
 
void loop(){
  static int wyjscie =150;
  //Pobierz liczbe milisekund od startu
  aktualnyCzas = millis();

  //Jeśli różnica wynosi ponad 1 sekundę
  if (aktualnyCzas - zapamietanyCzasLED1 >= 15UL) {
    //Zapamietaj aktualny czas
    zapamietanyCzasLED1 = aktualnyCzas;
    //Zmieniamy stan diody na przeciwny
    stanLED1 = !stanLED1;
    //ustawiamy nowy stan na diodzie
   
          analogWrite(ledPin, wyjscie);
             Serial.println(wyjscie);
          if (digitalRead(22)==HIGH && digitalRead(23)==HIGH) //sprawdzenie czy oba przyciski nie są zablokowane lub naciśnięte jednocześnie       
          {   Serial.println("oba przyciski są jednocześnie naciśnięte");
       
          }
          else {
    if (stanLED1==HIGH && digitalRead(22)==HIGH && wyjscie < 255) {
      stan=1;
      wyjscie++;
        
          Serial.println(wyjscie);
          analogWrite(ledPin, wyjscie);
          
    }
    else {
      stan=0;
      }
 if (stanLED1==HIGH && digitalRead(23)==HIGH && wyjscie >0) {
      stan=1;
      wyjscie--;
        
          Serial.println(wyjscie);
          analogWrite(ledPin, wyjscie);
    }
    else {
      stan=0;
      }
     if (wyjscie==255) { stanLED1=HIGH; digitalWrite(LED1, stanLED1);} 
    else {digitalWrite(LED1, stanLED1); }
if (wyjscie==0) { stanLED1=LOW; digitalWrite(LED1, stanLED1);} 
    else {digitalWrite(LED1, stanLED1); }
  }
}
  }
