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.

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).

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

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).

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); }

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
DIE LED ist doch auch falsch eingezeichnet
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?
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
Wahrscheinlich weil ich absolute Anfänger bin. Übrigens, ganz oben ist noch das alte Bild.
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?
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.
Könnte sein, dass du Java updaten (oder installieren) musst. Ist das in deiner Linux Distro schon dabei?
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.
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
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