Zum Inhalt springen
Arduino LED Blink Schaltung

Blink – Start mit Arduino

    Dieses Tutorial zeigt Dir, wie Du mit Arduino eine LED blinken lassen kannst. Also: Los geht es!

    Lade die Arduino-Software von https://www.arduino.cc/en/Main/Software herunter. Wähle dazu einfach Dein Betriebssystem in der Sektion Download the Arduino IDE aus.

    Arduino Download Page
    Arduino Software Download

    Installiere und starte die Arduino-IDE. Schließe das Arduino-Board an den Computer an und klicke im Hauptmenü auf Werkzeuge>Board und wähle Dein Arduino-Board aus (in 99% der Fälle wird das Arduino/Genuino UNO sein).  


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


    Arduino Board auswählen
    Arduino Board auswählen

    Nun klicke erneut im Hauptmenü auf Werkzeuge>Port und wähle den Port aus, an dem das Arduino angeschlossen ist.

    Arduino Port auswählen
    Arduino Port auswählen

    Jetzt ist die Arduino-Software für unseren ersten Sketch vorbereitet. 

    Programmiert wird das Arduino-Board in der Sprache C. Im Sketch-Fenster stehen bereits zwei Methoden:

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

    In der Setup()-Methode werden einmalige Einstellungen vorgenommen. Sie wird automatisch beim Start des Arduino-Boards aufgerufen. Die Loop()-Methode wird kontinuierlich wiederholt.

    Das Arduino-Board

    Zentrales Element des Arduino-Boards ist der Mikrocontroller, auf dem die Programme ausgeführt werden. Über einen USB-Port kann er mit dem Computer verbunden und programmiert werden. Das Arduino-Board hat 14 digitale Pins (GPIOs), sechs analoge Input-Pins und diverse Pins für Kommunikation und Stromversorgung. Sechs der digitalen Pins können zur analogen Ausgabe, z.B. zum Dimmen von LEDs verwendet werden (PWM). 

    Arduino Überblick
    Arduino Überblick

    Das Arduino-Board verfügt des Weiteren über eine, bereits auf dem Board integrierte LED am Pin 13. Diese werden wir nun blinken lassen.

    Code

    Um die LED am Pin 13 blinken zu lassen, müssen wir dem Arduino in der Setup()-Methode mitteilen, dass wir den Pin 13 als digitalen Output verwenden möchten. Das geht mit dem Befehl:

    pinMode(13, OUTPUT);

    In der Loop()-Methode schalten wir die LED nun ein und aus:

    digitalWrite(13, HIGH);
    digitalWrite(13, LOW);

    Dazwischen fügen wir ein paar Pausen ein, damit wir die Änderung sehen können.

    delay(1000);

    Dieser Befehl verzögert das Programm um 1000 Millisekunden. 

    Das gesamte Programm sieht so aus:

    void setup() {
      // put your setup code here, to run once:
      pinMode(13, OUTPUT);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      digitalWrite(13, HIGH);
      delay(1000);
      digitalWrite(13, LOW);
      delay(1000);
    }
    Arduino LED Blink Schaltung
    Kurzes Beinchen der LED links, also am Kabel zum GND-Pin

    Um das Programm auf das Arduino-Board zu laden, kann man im Hauptmenü auf Sketch>Hochladen klicken. Voilà, es blinkt :-)


    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    10 Gedanken zu „Blink – Start mit Arduino“

    1. Hallo,
      ich probiere gerade zum 1. mal. Soll die Schaltung auf dem Bild wirklich funktionieren? PIN 13 ist doch mit dem Widerstand (und LED) gar nicht verbunden. Oder?

      1. Wow. Ich möchte nicht wissen, wie viele Leute an dem Beispiel verzweifelt sind, bis endlich jemand gefragt hat. Die Schaltung war natürlich total falsch. Ich habe sie geändert und hoffe, jetzt passt alles. Hab lieben Dank Alex! Viele Grüße

    2. Nachtrag zu meinem vorherigen Post:

      Da ich die Schuld an Problemen grundsätzlich erstmal Windows gebe, habe ich die Software auf meinem Laptop unter LinuxMint 19.1 installiert. Entpacken, install.sh, alles ok. Dann der Start, Doppelklick auf dem Desktop – NICHTS. Aus dem Terminalfenster gestartet gibt die Fehlermeldung: ….arduino-1.8.10/java/bin/java Datei oder Verzeichnis nicht gefunden.

      Kann jemand helfen?

    3. HILFE! Tutorials gelesen, erster Tag mit Arduino Nano. Alles so gemacht, wie hier beschrieben. Windows meldet “neues Gerät”, kann nicht installiert werden. Sketch kopiert, kompiliert,

      Fehler beim Kompilieren für das Board Arduino Nano.
      Arduino: 1.8.10 (Windows XP), Board: “Arduino Nano, ATmega328P”

      panic: Failed to find GetFileInformationByHandleEx procedure in kernel32.dll: Die angegebene Prozedur wurde nicht gefunden.

      goroutine 1 [running]:
      syscall.(*LazyProc).mustFind(0x11c37a00)
      /home/jenkins/go1.12.5/src/syscall/dll_windows.go:311 +0x42
      syscall.(*LazyProc).Addr(0x11c37a00, 0xdda500)
      /home/jenkins/go1.12.5/src/syscall/dll_windows.go:318 +0x21
      internal/syscall/windows.GetFileInformationByHandleEx(0xf70, 0x9, 0x11c5da04, 0x8, 0x3, 0x11c1c048)
      /home/jenkins/go1.12.5/src/internal/syscall/windows/zsyscall_windows.go:353 +0x27
      os.newFileStatFromGetFileInformationByHandle(0x11cec880, 0x38, 0xf70, 0x0, 0x11cec880, 0x38)
      /home/jenkins/go1.12.5/src/os/types_windows.go:52 +0x135
      os.(*File).Stat(0x11c06ed8, 0x984490, 0x11c06ed8, 0x0, 0x11c06ed8)
      /home/jenkins/go1.12.5/src/os/stat_windows.go:55 +0x133
      io/ioutil.ReadFile(0x11cec880, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0)
      /home/jenkins/go1.12.5/src/io/ioutil/ioutil.go:62 +0xac
      github.com/arduino/go-paths-helper.(*Path).ReadFile(…)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/go-paths-helper/paths.go:407
      github.com/arduino/arduino-cli/arduino/cores/packageindex.LoadIndex(0x11c06ed0, 0xa29e60, 0x11c43da0, 0x0)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packageindex/index.go:205 +0x2f
      github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).LoadPackageIndexFromFile(0x11cd2c20, 0x11c06ed0, 0x0, 0x0, 0x11c06ed0)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/package_manager.go:202 +0x25
      github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).loadPlatforms(0x11cd2c20, 0x11c69650, 0x11c06e10, 0x7, 0x11c3eb38)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/loader.go:186 +0xf4d
      github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).LoadHardwareFromDirectory(0x11cd2c20, 0x11c06c10, 0xdda500, 0x703815)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/loader.go:116 +0x43f
      github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).LoadHardwareFromDirectories(0x11cd2c20, 0x11c06c18, 0x1, 0x2, 0x1, 0x1)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/loader.go:52 +0x4f
      github.com/arduino/arduino-cli/legacy/builder.(*HardwareLoader).Run(0xdebc68, 0x11cb25a0, 0xdebc68, 0x0)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/hardware_loader.go:43 +0xe4
      github.com/arduino/arduino-cli/legacy/builder.(*ContainerSetupHardwareToolsLibsSketchAndProps).Run(0xdebc68, 0x11cb25a0, 0xdebc68, 0xdda500)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_setup.go:60 +0x266
      github.com/arduino/arduino-cli/legacy/builder.runCommands(0x11cb25a0, 0x11c5df0c, 0x2, 0x2, 0xffffff01, 0x0, 0x4)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:210 +0xbd
      github.com/arduino/arduino-cli/legacy/builder.(*ParseHardwareAndDumpBuildProperties).Run(0x11c5df40, 0x11cb25a0, 0xdebbb4, 0x11c06c98)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:198 +0xbc
      github.com/arduino/arduino-cli/legacy/builder.RunParseHardwareAndDumpBuildProperties(…)
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:231
      main.main()
      /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:388 +0x772
      C:\Programme\Arduino\arduino-builder gab 2 zurück

      Fehler beim Kompilieren für das Board Arduino Nano.

      Dieser Bericht wäre detaillierter, wenn die Option
      “Ausführliche Ausgabe während der Kompilierung”
      in Datei -> Voreinstellungen aktiviert wäre.

      Kann mir jemand helfen, bitte?
      Gruß, Hajo.

    4. Hallo.
      Weiß ich gerade nicht. Könnte sogar einer dort sein. Aber meine Schüler sehen das so, wissen kaum, was ein Widerstand ist und stecken die LEDs dann auch in die anderen Pins ohne Widerstand rein.

    5. Hallo.

      Die LED ohne Vorwiderstand zu betreiben ist aber nicht das, was Kinder lernen sollten.
      Wenn sie im 1s-Intervall blinkt, dann überlebt sie das vielleicht. Aber Dauerlicht ist nicht zu empfehlen, denke ich. Und überhaupt macht man so etwas nicht.

      Gruß
      Andreas

      1. Hallo Andreas, guter Punkt. Da bin ich wohl auf eine alte Binsenweisheit hereingefallen, die besagt, dass das Arduino-Board am Pin 13 einen eingebauten Widerstand hätte. Dem ist nicht so und deshalb habe ich die Schaltung korrigiert. Vielen Dank und liebe Grüße 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.