Wie kann ich beim Arduino ohne for-Schleife eine LED dimmen?
Hey,
ich wollte fragen, ob jemand hier vielleicht weiß, wie ein Sketch aussehen könnte, wo man eine LED dimmt, ohne eine for-Schleife zu benutzen und auch, warum das ohne for-Schleife besser ist?
4 Antworten
Erläutere mal dein Problem, warum die Schleife entfallen soll... Geht es um parallele Abarbeitung anderer Vorgänge? Dann mit millis einen Timer bauen und mit if auf Bedingungen prüfen... zähler kann man auch ohne Schleifen laufen lassen...
Die pwm funktion arbeitet intern mit den hardware timern.
Timer zählen im gegensatz zu ner for schleife selbstständig im hintergrund weiter und lösen nur bei der eingestellten zählbedingung aus -> isr funktionsaufruf
ISR: Da steht dann drinnen was der led pin machen soll
Außerdem sind hardware features weniger bis garnichtrech3naufwendig (außer ISR) da hardware
Ich bin mir nicht sicher, aber dafür müsste es einen extra Befehl geben. analogWrite() oder sowas, bin mir gerade aber nicht sicher, ist schon länger her, dass ich das gemacht hab.
Wenn du das nur über den Arduino machen willst brauchst du glaube ich Pulsweitenmodulation (PWM), also auch eine for Schleife...(?).
Auch bei analogWrite(Led_pin, x); würde wahrscheinlich im Hintergrund einen while Schleife laufen, die das PWM für dich macht.