Flackernde LED und parallel andere Funktion

Hi,
ich würde gerne eine LED flackern lassen und parallel etwas anderes ausführen, in diesem Fall einen Servo bewegen.
Wenn ich den ganzen Servo teil rausnehme (Zeile 18-25) , flackert die LED. Wenn ich den Code so lasse wie er jetzt aussieht, funktionierts nicht.
Habe ich einen Fehler gemacht? Oder ist das technisch gar nicht möglich?
Danke schonmal im Voraus :slight_smile:

  • #include <Servo.h>
  • Servo myservo;
  • int pos = 0;
  • int candle = 11;
  • int howBright;
  • void setup()
  • {
  • myservo.attach(12);
  • myservo.write(0);
  • pinMode(candle, OUTPUT);
  • }
  • void loop()
  • {
  • howBright = random(10,255);
  • analogWrite(flackergreen, howBright);
  • delay(random(50,150));
  • for(pos = 0; pos < 50; pos +=1 ) {
  • myservo.write(pos);
  • delay(80);
  • }
  • for(pos = 50; pos >= 1; pos -=1 ) {
  • myservo.write(pos);
  • delay(80);
  • }
  • }

vergiß delay() benutze millis()

Moin,

Du schreibst blockierenden Code. Die Delays müssen alle raus.

Hier die Anleitung für Blinken ohne delay.

Neulich auch hier ausführlich beschrieben, ab #25 wird es interessant für Dich.

Gruß,

Helmuth