fad2.ino


/* Beispiel 2
    zwei Led mit Taster auf/ ab faden
    verwendet delay() wenn beide noch akliv doppelte Zeit
*/

const byte LedRot = 5;    // Pin für LED
const byte LedGruen = 6;
const byte btnRot = 7;    // taster schalten gegen OV
const byte btnGruen = 8;

byte hellRot, hellGruen;  // Helligkeit der LED
const byte fadstep = 10;
const byte delaytime=50;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(btnRot, INPUT_PULLUP);
  pinMode(btnGruen, INPUT_PULLUP);
}

void loop() {
  //---------- Teil für die Rote LED
  if (digitalRead(btnRot) == 0) {   // wenn Taster gedrückt
    if (hellRot + fadstep <= 255 ) {  // max noch nicht erreicht
      hellRot = hellRot + fadstep;
      analogWrite(LedRot, hellRot);
      delay (delaytime);   
    }
  }
  else {
    if (hellRot - fadstep >= 0 ) {    // min noch nicht erreicht
      hellRot = hellRot - fadstep;
      analogWrite(LedRot, hellRot);
      delay(delaytime);
    }
  }

  // -------------Teil für die Grüne LED
  if (digitalRead(btnGruen) == 0) {
    if (hellGruen + fadstep <= 255 ) {
      hellGruen = hellGruen + fadstep;
      analogWrite(LedGruen, hellGruen);
      delay (delaytime);
    }
  }
  else {
    if (hellGruen - fadstep >= 0 ) {
      hellGruen = hellGruen - fadstep;
      analogWrite(LedGruen, hellGruen);
      delay(delaytime);
    }
  }
  // delay(delaytime);
}