Ausgang schaltet nicht auf LOW

Hallo !

Ich stehe vor einem komischen Problem, und zwar meine Leuchtdiode will einfach nicht ausgehen. Obwohl der Code so simpel wie möglichst ist funktioniert es nicht. Die Leuchtdiode bleibt ganze Zeit auf HIGH aber das sollte sie laut Programm ja gar nicht.

int digital = 22;

void setup() {
  Serial.begin(9600);

  pinMode(digital, OUTPUT);

}

void loop() {
  digitalWrite(digital,HIGH);
  delay(10);
  digitalWrite(digital,LOW);
  delay(10);
}

Was ist hier falsch ? Eigentlich sollte es wie ein Blinker funktionieren

Die 10 Millisekunden sind sehr kurz, mach mal 1000 daraus, also delay(1000);.

Oder anders gesagt: Deine LED geht an und aus, und zwar mit etwa 100 50 Hz im 20ms-Takt - digitalWrite() benötigt ja auch etwas Zeit. Die 100 50 Hz sieht man nicht ohne weiteres, dazu ist das menschliche Auge zu träge.

[edit] 50 Hz natürlich, wie ich soeben korrigiert wurd. Danke fürs Aufpassen!

sth77:
… mit etwa 100 Hz …

Ich mache diesen Fehler leider viel zu häufig, weshalb ich darauf hinweisen möchte, auch wenn es für dieses Thema nebensächlich ist: 10 ms LOW + 10 ms HIGH = Periodendauer 20 ms entspricht 50 Hz. Sonst stimme ich Dir aber vollkommen zu :slight_smile: