Zum Inhalt springen
Arduino Variablen

Lektion 9 – Variablen!

    Eine besonders wichtige Sache beim Programmieren sind Variablen. Du kennst sie bestimmt schon aus dem Matheunterricht. Wenn man da sagt x=10, dann bedeutet das, dass überall, wo x steht, eigentlich 10 steht.

    Variablen können wir uns als kleine Boxen oder Container vorstellen, in denen wir Informationen speichern können.

    Variablen und Arduino

    Variablennamen kann man sich selbst aussuchen. Eine Variable könnte also Tim, Lisa oder DFB heißen. Es macht aber Sinn, einen Namen zu wählen, der uns verrät, was wir mit der Variable eigentlich vorhaben.

    Lass uns noch mal das Programm aus dem letzten Beispiel ansehen:


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    void setup(){
      pinMode(9, OUTPUT);
    }
    
    void loop(){
      digitalWrite(9, HIGH);
      delay(200);
      digitalWrite(9, LOW);
      delay(200);
    }

    Hier hatten wir die LED am Pin 9 angeschlossen. Deshalb steht hier in jedem Befehl eine 9. Was passiert, wenn wir die LED jetzt aber am Pin 8 anschließen?

    LED an Pin 8

    Wir müssten den Pin jetzt in jedem Befehl ändern, oder?

    void setup(){
      pinMode(8, OUTPUT);
    }
    
    void loop(){
      digitalWrite(8, HIGH);
      delay(200);
      digitalWrite(8, LOW);
      delay(200);
    }

    Bei so einem einfachen Programm ist das noch kein Problem, aber wenn das Programm länger wird, könnte es ja schon sein, dass wir da eine Veränderung übersehen. Deshalb ist es besser, hier eine Variable zu benutzen.

    Wir wollen mit dieser Variable den Pin der LED festlegen, also lass uns die Variable einfach ledPin nennen. Variablen schreibt man immer klein und wenn sie aus mehreren Worten bestehen, schreibt man die Worte in der Mitte immer groß. Das macht das Lesen einfacher, denn Variablennamen dürfen keine Leerzeichen enthalten.

    So legt man eine Variable an:

    int ledPin = 8;

    Das Wort int ist die Kurzform von Integer. Das kommt aus dem Englischen und bedeutet Ganzzahl. Ganzzahlen sind zum Beispiel 1, 2, 3, 4, … Na und acht ist natürlich auch eine ganze Zahl. Wenn wir eine Variable anlegen, müssen wir Arduino sagen, von welchem Typ unsere Variable ist. Unsere Variable ledPin ist jetzt vom Typ int. Durch das Gleichheitszeichen weisen wir auch gleich einen Wert zu, nämlich 8.

    Jetzt haben wir also eine ganzzahlige Variable, die ledPin heißt und gleich acht ist. Überall, wo wir die Variable jetzt einsetzen, steht da eigentlich acht.

    int ledPin = 8;
    
    void setup(){
      pinMode(ledPin, OUTPUT);
    }
    
    void loop(){
      digitalWrite(ledPin, HIGH);
      delay(200);
      digitalWrite(ledPin, LOW);
      delay(200);
    }

    Und jetzt stecken wir das Kabel wieder zurück in den Pin 9.

    LED an Pin 9

    Wie muss sich das Programm jetzt ändern? Die Lösung findest du wieder hier unten, aber versuche es erstmal allein.

    int ledPin = 9;
    
    void setup(){
      pinMode(ledPin, OUTPUT);
    }
    
    void loop(){
      digitalWrite(ledPin, HIGH);
      delay(200);
      digitalWrite(ledPin, LOW);
      delay(200);
    }

    10 Gedanken zu „Lektion 9 – Variablen!“

    1. Pingback: Tic-Tac-Toe mit dem Arduino selber bauen - reichelt Magazin

    2. Pingback: Tic-Tac-Toe mit dem Arduino – reichelt Magazin

    3. Hi Andreas,
      tolles Tutorial! Ich bin auch Anfänger und versuche einen bestehenden Code zu verstehen, wobei dein Tutorial sehr hilfreich ist. Trotzdem eine Frage: Würde sich an dieser Stelle statt „int“ nicht „#define“ besser anbieten, oder ist mir da ein Fehler unterlaufen??

      1. Hi Patrick, gute Frage. Also #define kann man auch nehmen, am besten wäre allerdings const int . Ich hab in meinen Beispielen der Einfachheit halber aber normalerweise int . Liebe Grüße Stefan

      1. Hallo Andreas,

        sehr gute Frage. In vielen Programmiersprachen – so auch in C – haben Variablen Geltungsbereiche. Würde man eine Variable innerhalb von void setup() anlegen, könnte man sie nur in dieser Methode verwenden. Sie »gilt« dann also nur im Setup. Im Loop könnte man also nicht darauf zugreifen. Deshalb deklariert man sie außerhalb dieser Methoden als so genannte globale Variable. Ich hoffe, das hilft dir erstmal.

        Liebe Grüße

        Stefan

    4. Ich bin wirklich Anfänger (65 Jahre, Lehrer, mäßige Kenntnisse in Elektronik) im Mikrokontrollerprogrammieren, habe diese Lernseite durch surfen entdeckt und möchte eine Anerkennung festhalten. Ein anderer höchst bekannter Verlag legt zu einem Starterkitt ein Handbuch (vielleicht im hoch Sommer geschrieben) bei, das nicht im geringsten dieser Anleitung hier an Präzision und pädagogischem Sachverstand nahe kommt. Die Kleinheiten, Kürze, Genauigkeit und Übersichtlichkeit sind es, die hier zur Anwendung kommen. Zusätzlich kostet das Starterkitt hier nur die Hälfte. Habe ich leider alles erst später bemerkt. Wahrscheinlich weil Franz der häufigste Vorname in Österreich ist.
      FG an Alle

      1. Hallo Alois,

        vielen Dank für dieses nette Feedback. Es freut mich wirklich sehr, dass Dir die Seite gefällt.

        Liebe Grüße nach Österreich,

        Stefan

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

     

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.