UNO Board reagiert sonderbar auf manche Sketche

Hallo Leute,

ich habe meine ersten Schritte mit einem Arduino Uno hinter mir und jetzt angefangen, Code für mein eigentliches Projekt zu schreiben. Dabei ist mir ein eigentümliches Verhalten des Boards aufgefallen:
Wenn ich mein neues Sketch auf das Board lade (nichts angeschlossen außer dem USB Kabel), fängt nach dem Upload sofort die LED von Pin 13 an zu leuchten, wobei Pin 13 in meinem Sketch nirgends vorkommt.
Wie man das dann halt so macht, habe ich dann Zeile um Zeile auskommentiert um herauszufinden, was diesen Effekt verursacht. Das habe ich so lange gemacht, bis nur noch ein leeres setup und ein leeres loop übrig war, trotzdem leuchtet nach dem Upload die LED.
Wenn ich jetzt z.B. das Sketch Blink aus den Beispielen hochlade, ist alles OK. Sobald das leere Projekt geladen wird, leuchtet die LED wieder dauerhaft.

Für jede Hilfe dankbar

Florian

Flomo:
Wenn ich jetzt z.B. das Sketch Blink aus den Beispielen hochlade, ist alles OK.

Wenn es blinkt, dann ist wirklich alles OK.

Wieso stört/irritiert/nervt dich die LED?

Flomo:
Dabei ist mir ein eigentümliches Verhalten des Boards aufgefallen:
Wenn ich mein neues Sketch auf das Board lade (nichts angeschlossen außer dem USB Kabel), fängt nach dem Upload sofort die LED von Pin 13 an zu leuchten, wobei Pin 13 in meinem Sketch nirgends vorkommt.

Mit dem Board ist alles in bester Ordnung. Auf den aktuellen Versionen der Arduino-Boards wird die Pin-13 LED von einem Operationsverstärker gesteuert. Und der ist so geschaltet, dass er die LED in den meisten Fällen einschaltet:
Pin-13 auf INPUT LOW ==> LED leuchtet (das ist der Fall, wenn der Pin nicht angesteuert wird)
Pin-13 auf INPUT HIGH ==> LED leuchtet
Pin-13 auf OUTPUT HIGH ==> LED leuchtet
Pin-13 auf OUTPUT LOW ==> LED ist aus

Wenn Du möchtest, dass die LED im Grundzustand INPUT LOW nicht leuchtet, müßtest Du selbst noch einen PullDown-Widerstand einbauen, zwischen GND und PIN-13 geschaltet, damit der Operationsverstärker so auf GND heruntergezogen wird, dass er die LED nicht mehr leuchten läßt.

Normalerweise ist aber eine leuchtende LED nicht weiter problematisch.
Und ein Fehler des Boards liegt dabei nicht vor.

Ja, wenn ich in meinen Code eine Anweisung einbaue, um Pin 13 auf LOW zu setzen, geht auch die LED aus.
Das war dann natürlich nicht so geschickt von mir, als Gegenprobe ein Sketch einzusetzen, wo mit der LED an Pin 13 etwas gemacht wird.
@jurs
Wo erfährt man solche Interna?

@skorpi08
Es stört oder nervt nicht wirklich. Aber wenn das Programm nicht macht was es soll und stattdessen noch ein Eigenleben entwickelt, kommen einem die wildesten Ideen.

Danke für die Antworten

Flomo:
@jurs
Wo erfährt man solche Interna?

Dieses Verhalten kann man zB herausbekommen, wenn man den Schaltplan des Arduino UNO anschaut und sich mit Elektronik auskennt. Viele andere Effekte durch Studium des Datenblatts. Für beides braucht man einiges an Elektronikgrundwissen.
Arduino (Tutorials und Erklärungen) dringen in diese Tiefe vor, weil mehr Wert auf die einfache Handhabung gelegt wurde um Arduino auch für Nicht-Elektroniker und Nicht-Informatiker benutzbar zu machen. Das schöne an Arduino ist ja, daß die Handhabung so einfach ist, daß Du inerhalb 30 Miunuten die Platine aus der Schachtel holst, die Software herunterladts und den ersten Sketch draufladen kannst. Dann kannst Du probieren was sich ändert wenn Du den Sketch modifizierst.

Flomo:
@skorpi08
Es stört oder nervt nicht wirklich. Aber wenn das Programm nicht macht was es soll und stattdessen noch ein Eigenleben entwickelt, kommen einem die wildesten Ideen.

Kann ich verstehen; aber um alles zu verstehen braucht man viel Elektronik- und Informatik-Wissen. Du kannst aber immer uns fragen. :wink: :wink:

Grüße Uwe