arduinoErste Schritte mit Arduino

Bemerkungen

Was ist Arduino?

Arduino ist eine Open-Source-Elektronikplattform, die auf benutzerfreundlicher Hardware und Software basiert.

Warum Arduino verwenden?

  • Preiswert Sie können auch Klone kaufen, die noch günstiger sind.
  • Einfach zu bedienen und loslegen
  • Riesige Gemeinschaft
  • Vollständig Open Source

Versionen

Ausführung Veröffentlichungsdatum
1.0.0 2016-05-08

Das absolut Nötigste

Hier ist die "Nötigste" Arduino-Skizze. Dies kann in die Arduino IDE geladen werden, indem Sie File > Examples > 01. Basics > Bare Minimum wählen. File > Examples > 01. Basics > Bare Minimum .

void setup() {
  // put your setup code here, to run once
}

void loop() {
  // put your main code here, to run repeatedly
}
 

Code in der Funktion setup() wird einmalig ausgeführt, wenn das Programm startet. Dies ist nützlich, um E / A-Pins einzurichten, Variablen zu initialisieren usw. Code in der Funktion loop() wird wiederholt ausgeführt, bis der Arduino ausgeschaltet oder ein neues Programm hochgeladen wird. In der Arduino-Laufzeitbibliothek sieht der obige Code so aus:

setup();
while(1) {
  loop();
}
 

Im Gegensatz zu Programmen, die auf Ihrem Computer ausgeführt werden, kann Arduino-Code niemals beendet werden. Dies liegt daran, dass in den Mikrocontroller nur ein Programm geladen ist. Wenn dieses Programm beendet wird, gibt es dem Mikrocontroller nichts zu sagen, was zu tun ist.

Blinken

Hier ist ein kurzes Beispiel, das die Funktionen setup() und loop() veranschaulicht. Dies kann in die Arduino IDE geladen werden, indem Sie File > Examples > 01. Basics > Blink wählen. File > Examples > 01. Basics > Blink . ( Hinweis: Die meisten Arduino-Boards verfügen bereits über eine LED, die an Pin 13 angeschlossen ist. Möglicherweise müssen Sie jedoch eine externe LED hinzufügen, um die Auswirkungen dieser Skizze zu sehen.)

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}
 

Der obige Ausschnitt:

  1. Definiert die setup() Funktion. Die setup() Funktion wird bei der Ausführung in jedem Arduino-Programm zuerst aufgerufen.

    1. Legt Pin 13 als Ausgang fest.

      Andernfalls könnte es auf einen Eingang gesetzt werden, wodurch die LED nicht funktioniert. Sobald es jedoch als Ausgang eingestellt ist, bleibt es auf diesem Weg, so dass dies nur einmal beim Start des Programms erfolgen muss.

  2. Definiert die Funktion loop() . Die Funktion loop() wird wiederholt aufgerufen, solange das Programm ausgeführt wird.

    1. digitalWrite(13, HIGH); schaltet die LED ein.
    2. delay(1000); wartet eine Sekunde (1000 Millisekunden).
    3. digitalWrite(13, LOW); schaltet die LED aus.
    4. delay(1000); wartet eine Sekunde (1000 Millisekunden).

Da loop() so lange wiederholt wird, wie das Programm läuft, blinkt die LED innerhalb von 2 Sekunden (1 Sekunde an, 1 Sekunde aus). Dieses Beispiel basiert auf dem Arduino Uno und jeder anderen Platine, an der bereits eine LED an Pin 13 angeschlossen ist. Wenn an der verwendeten Platine keine Onboard-LED an diesem Pin angeschlossen ist, kann eine extern angeschlossen werden.

Mehr zum Timing (z. B. Verspätungen und Zeitmessung): Zeitmanagement

Erstmalige Einrichtung

Benötigte Software: Arduino IDE

Arduino IDE

Konfiguration

Die meisten Arduino-kompatiblen Karten verfügen über einen USB-Anschluss und werden mit einem USB-Kabel geliefert. Schließen Sie das Arduino mit dem USB-Kabel an und starten Sie die Arduino IDE.

Arduino IDE beginnt mit einer neuen Skizze, normalerweise mit einer emtpy-Funktion setup() und loop() . Dies reicht aus, um auf ein Arduino-Board hochgeladen zu werden, aber es wird überhaupt nichts unternommen. Die Beispielskizze "Blink" ist ein einfacher Test, wenn Sie zum ersten Mal eine Arduino-Platine verwenden. Gehen Sie zu Datei → Beispiele → 01.Basics → Blink. Dies öffnet ein neues Fenster mit der Blink-Skizze.

Wähle dein Board aus. Gehen Sie zu Tools → Board → [Name Ihres Arduino-Boards].

Werkzeuge, Bord

Wählen Sie den COM-Port für Ihr Board. Die meisten Aurduino-kompatiblen Karten erstellen einen falschen COM-Port, der für die serielle Kommunikation (Debugging) und für die Programmierung der Karte verwendet wird. COM 1 ist normalerweise bereits vorhanden, und Ihre Karte erstellt eine neue, z. B. COM 4. Wählen Sie dies unter Tools → Port → COM 4 (oder einer anderen COM-Nummer) aus.

Einige Boards haben zusätzliche Einstellungen im Menü Tools, z. B. die Taktrate. Diese variieren von Board zu Board, aber normalerweise sind bereits akzeptable Standardwerte ausgewählt.

Hochladen

Sie können jetzt Blink hochladen. Klicken Sie auf die Schaltfläche Hochladen oder wählen Sie Skizze → Hochladen. Die Skizze wird kompiliert und dann auf Ihr Arduino-Board hochgeladen. Wenn alles funktioniert hat, blinkt die integrierte LED im Sekundentakt.

Hochladen

Serienmonitor

In der Arduino IDE hat ypu einen seriellen Monitor. Um es zu öffnen, verwenden Sie den seriellen Button-Button auf der rechten Seite des Fensters.

Serienmonitor

Stellen Sie sicher, dass der Code hochgeladen ist, bevor Sie den Monitor öffnen. Upload und Monitor werden nicht gleichzeitig ausgeführt!

LED - Mit Tastensteuerung

Sie können diesen Code auch verwenden, um eine LED mit einem Tastschalter mit einem Pull-Up-Widerstand einzurichten. Dies kann vorzugsweise im nächsten Schritt nach dem Einrichten des ersten LED-Controllers erfolgen

int buttonState = 0; // variable for reading the pushbutton status

void setup()
{
    // initialize the LED pin as an output:
    pinMode(13, OUTPUT); // You can set it just using its number
    // initialize the pushbutton pin as an input:
    pinMode(2, INPUT);
}

void loop()
{
    // read the state of the pushbutton value:
    buttonState = DigitalRead(2);

    // check if the pushbutton is pressed.
    // If it's not, the buttonState is HIGH : if (buttonState == HIGH)
    {
        // turn LED off:
        digitalWrite(13, LOW);
    }
    else
    {
        // turn LED off:
        digitalWrite(13, HIGH);
    }
}