Hier erfährst du, wie du Fehler finden und beheben kannst.
Hier erfährst du, wie du Fehler finden und beheben kannst.
Fehlersuche
Wer ein Programm erstellt, braucht in der Regel einen wesentlichen Teil der Zeit, um Fehler im Programmcode zu erkennen und zu korrigieren, oder um den Aufbau der Hardware anzupassen. Es gibt verschiedene Möglichkeiten, dies anzugehen, hier ein Vorschlag:
Wenn du ein Programm geschrieben hast, überprüft die Arduino IDE automatisch, ob die Syntax, also die Regeln der Programmiersprache eingehalten werden (aber nicht die Logik des Programmes). Wenn du in der Arduino IDE auf den Haken klickst, werden eventuelle Syntaxfehler angezeigt. Der häufigste Fehler ist, dass man ein Semikolon (;) vergisst. Weitere häufige Fehler sind: Klammern, die falsch gesetzt sind, Variablen, die nicht definiert sind, Libraries, die nicht im Kopf des Programmes eingebunden werden (siehe Arduino programmieren). Wenn das Programm keine Syntaxfehler aufweist, können die folgenden Schritte durchgearbeitet werden.
Verbindungsfehler
1. Überprüfe, ob das Arduino eingesteckt ist. Wenn eine LED leuchtet, ist das Arduino mit Strom versorgt.
2. Überprüfe, ob du den richtigen Port und das richtige Board ausgewählt hast. Kannst du keinen Port mit einem Arduino sehen, fehlt dir entweder ein Treiber oder du verwendest ein Kabel ohne Datenleitungen.
3. Wenn du das Blink Programm aus den Beispielen auf das Arduino laden kannst, weisst du, dass die Verbindung zwischen Computer und Arduino funktioniert.
Hardwarefehler
4. Ist deine Hardware korrekt aufgebaut? Es kann Sinn machen, die einzelnen Hardwarekomponenten isoliert anzuschliessen. Also zum Beispiel zuerst nur die LED, dann nur den Lichtsensor und dann nur den Taster und die Funktion dieser Teilsysteme mit einem eigenen Programm anzusteuern.
Softwarefehler
5. Fehler in der Programmlogik:
Wenn die einzelnen Systeme wie Sensor oder LED funktionieren, aber nicht das passiert, was passieren soll, liegt der Fehler wahrscheinlich in der Programmlogik. Dann kann es Sinn machen, die Programmlogik grafisch darzustellen, z.B. mit einem Flussdiagramm.