Quick Start: Dein erstes Arduino-Programm mit Blockly

Programmieren, ohne eine einzige Zeile zu tippen? Geht. Du steckst bunte Blöcke zusammen, und LogikStrom macht daraus den Arduino-Code. Zehn Handgriffe, dann läuft deine erste LED.

Wir bauen hier zwei Mini-Programme, und mit denen hast du alles Wichtige gesehen: erst eine blinkende LED (das „Hallo Welt“ der Arduino-Welt), dann eine LED, die per Taster geschaltet wird. Für die Steuerungsleute unter euch: Das ist nichts anderes als Ausgang setzen und Eingang abfragen, nur eben mit Klötzchen statt Kontaktplan. Und falls du lieber erst mal spicken willst: Unter „Projekt öffnen → Beispiele“ liegt ein fertiges Programm bereit (ganz unten mehr dazu).

1. Starten und einrichten

Programm starten, auf der Startseite die Kachel „Blockly“ anklicken. Dann fragt dich LogikStrom: „Womit programmierst du?“ Zur Wahl stehen der ESP32 DevKit und der Arduino UNO. Wir nehmen den Arduino UNO. Pfeiltasten und Enter gehen übrigens auch, mit Esc kommst du zurück.

Damit LogikStrom später auf deinen Arduino übertragen kann, braucht es einige Dateien aus dem Internet (Arduino-Werkzeuge, Quellen, Bibliotheken). Beim ersten Mal bekommst du dafür die Seite „Einrichten“. Du entscheidest selbst, was geladen wird: „Ich bin Anfänger – erkläre es mir“ führt dich Schritt für Schritt mit kurzen Erklärungen durch (dauert etwa fünf Minuten), „Ich bin Profi“ zeigt dir gleich alle Quellen zum Auswählen und Bestätigen. Später erreichst du die Seite jederzeit über den Schraubenschlüssel oben rechts. Zum reinen Zusammenklicken von Blöcken brauchst du das alles noch nicht.

Fenster „Womit programmierst du?“ mit ESP32 DevKit und Arduino UNO, darunter die Seite „Einrichten“ mit den Knöpfen „Ich bin Anfänger“ und „Ich bin Profi“
Oben die Boardauswahl, unten die Einrichten-Seite mit „Anfänger“ und „Profi“.

2. Die Oberfläche: links, Mitte, oben

Blockly-Editor von LogikStrom: oben die Werkzeugleiste, links die Blockkategorien, in der Mitte die Arbeitsfläche mit einem Blinkprogramm
Der Editor mit dem fertigen Blinkprogramm. Klick aufs Bild macht es groß.

3. Der Startblock: GLOBAL, SETUP, LOOP

Auf der Arbeitsfläche liegt schon ein Block: PROGRAMM START. Der ist das Gerüst jedes Arduino-Programms, und er hat drei Fächer:

Pin-Modi (also ob ein Pin Eingang oder Ausgang ist) musst du nicht selbst setzen, das erledigt LogikStrom beim Übersetzen automatisch. Du siehst es gleich im C++-Code.

Der leere Startblock PROGRAMM START mit den Fächern GLOBAL, SETUP und LOOP
Der Startblock: GLOBAL, SETUP und LOOP. Alles, was du baust, hängt hier dran.

4. Blöcke holen und zusammenstecken

Kategorie anklicken, schon klappt rechts daneben ein Fach mit Blöcken auf (Fachleute sagen Flyout). Von dort ziehst du den Block, den du willst, auf die Arbeitsfläche. Ist die Kategorie zugeklappt, klick auf den Pfeil davor. Wenn du den Namen kennst, geht's per Suchfeld noch schneller.

Blöcke haben Zapfen und Aussparungen wie Puzzleteile: Untereinander stecken sie, wenn sie passen, mit einem leichten Einrasten. Zahlen und Bedingungen werden seitlich in die runden Mulden gesteckt. Passt etwas nicht, rastet es einfach nicht ein. Kaputtmachen kannst du also nichts. Weg damit geht per Ziehen in den Papierkorb oder mit Entf.

Aufgeklappte Kategorie Ausgänge, Unterkategorie Standard Pins, daneben das Fach mit dem Block „Schreibe Digital-PIN 13 auf HIGH“ und weiteren Ausgangsblöcken
Ausgänge → Standard Pins: Oben im Fach liegt „Schreibe Digital-PIN … auf HIGH/LOW“.

5. Programm Nr. 1: LED blinken lassen

Auf dem Arduino UNO hängt an Pin 13 eine kleine eingebaute LED. Die lassen wir blinken, ganz ohne Zusatzteile. Hol dir diese Blöcke und stecke sie ins Fach LOOP, genau in dieser Reihenfolge:

  1. Ausgänge → Standard Pins: „Schreibe Digital-PIN 13 auf HIGH“ (HIGH heißt: Pin an, LED leuchtet).
  2. Zeit → Zeiten: „Warten 500 ms“.
  3. Nochmal „Schreibe Digital-PIN 13 auf LOW“ (LOW heißt: Pin aus). Das HIGH im Dropdown-Feld stellst du einfach um.
  4. Nochmal „Warten 500 ms“.

Die Zahlen und den Pin änderst du, indem du aufs Feld klickst und tippst. Fertig: LED an, halbe Sekunde warten, LED aus, halbe Sekunde warten, und dank LOOP geht das ewig so weiter. Wer die Wartezeit auf 100 ms stellt, bekommt eine hektische LED, wer 2000 nimmt, eine müde.

Startblock mit dem Blinkprogramm im LOOP: Pin 13 HIGH, 500 ms warten, Pin 13 LOW, 500 ms warten
Das komplette Blinkprogramm. Vier Blöcke, mehr braucht es nicht.

6. Programm Nr. 2: Taster abfragen

Jetzt soll die LED nur leuchten, solange ein Taster gedrückt ist. Den Taster klemmst du zwischen Pin 2 und GND. Einen Widerstand brauchst du nicht, denn wir schalten am Arduino den internen Pullup ein: Der Pin hängt dann von selbst auf HIGH, und gedrückt zieht der Taster ihn auf LOW. „Gedrückt“ heißt also „Pin ist NICHT HIGH“. Das ist die einzige Stolperfalle bei der Sache.

  1. SETUP: aus Eingänge → Standard Pins den Block „Aktiviere internen Pullup für PIN 2“.
  2. LOOP: aus Steuerung den Block WENN – DANN – SONST.
  3. Bei WENN kommt die Bedingung: aus Logik der Block NICHT, und in dessen Mulde aus Eingänge → Standard Pins „Lese digitalen PIN 2“.
  4. DANN: „Schreibe Digital-PIN 13 auf HIGH“. SONST: „Schreibe Digital-PIN 13 auf LOW“.

Das Ganze liest sich auf Deutsch: Wenn nicht (Pin 2 ist HIGH), dann LED an, sonst LED aus. Gedrückt = LED leuchtet. Wenn du es umgekehrt willst, lässt du das NICHT einfach weg und tauschst HIGH und LOW.

Programm mit Pullup im SETUP und WENN NICHT Lese digitalen PIN 2 DANN Pin 13 HIGH SONST Pin 13 LOW im LOOP
Taster an Pin 2: Pullup im SETUP, im LOOP die WENN-Abfrage.

Wichtig bei externen LEDs: Die eingebaute LED an Pin 13 hat ihren Vorwiderstand schon dabei. Hängst du selbst eine LED an einen Pin, gehört immer ein Vorwiderstand in Reihe (je nach LED etwa 220 Ω bis 1 kΩ). Sonst qualmt entweder die LED oder der Pin. Direkt 230 V an den Arduino anschließen ist übrigens keine gute Idee: Dafür gibt's Relais und Schütze, und die gehören in die Hände einer Elektrofachkraft.

7. Was da eigentlich im Hintergrund passiert: der C++-Code

Klick in der Werkzeugleiste auf „C++“ (das Symbol mit den spitzen Klammern). Rechts klappt ein Bereich auf, in dem du siehst, wie dein Blockprogramm für den Arduino als richtiger Code aussieht. Der aktualisiert sich live, während du Blöcke bewegst. Du siehst zum Beispiel:

Mit „Kopieren“ nimmst du den Code mit, und mit dem Knopf „Im Editor“ daneben öffnest du ihn in einem neuen Editor-Dokument und schreibst dort in C++ weiter. Ein prima Weg, um nebenbei zu lernen, wie Arduino-Code aussieht.

Links das Blockprogramm mit Taster und LED, rechts der daraus erzeugte C++-Code mit setup() und loop()
Links die Blöcke, rechts der erzeugte C++-Code. Aus dem WENN-Block wird ein if … else.

8. Prüfen, Board wählen, Upload

Jetzt soll das Ding auf den echten Arduino. In der Werkzeugleiste rechts findest du von links nach rechts:

Rechte Hälfte der Werkzeugleiste: Boardauswahl, Anschluss, Anschlüsse neu suchen, Prüfen, Upload, Simulation, Monitor, Einrichten, Einstellungen
Rechte Werkzeugleiste: Board, Anschluss, Prüfen, Upload, Simulation, Monitor, Einrichten, Einstellungen.

Bei einem echten Arduino-Upload also: Board wählen, Anschluss wählen, Upload klicken, kurz warten, die LED blinkt.

9. Simulation: erst mal ohne Hardware

Du hast gerade keinen Arduino zur Hand, oder du willst eine Anlage üben, die du dir nicht ins Wohnzimmer stellen willst? Dann klick auf „Simulation“. Du bekommst die Auswahl „Simulation wählen“ mit fertigen Anlagen, die sich in einem eigenen Fenster öffnen:

Dein Arduino bekommt dabei die Eingänge (Taster, Lichtschranken) und schickt die Ausgänge (Motor, Lampen) zurück, über denselben USB-Anschluss. Das passende Blockmaterial findest du je Anlage in der Kategorie „Simulation“, zum Beispiel „Förderband“ oder „Presse“.

Fenster „Simulation wählen“ mit den Anlagen Förderband, Presse und Automatiktor
Die Simulationsauswahl. Unter jeder Anlage steht, in welcher Blockkategorie das passende Material liegt.

10. Die Werkzeugleiste links: speichern, rückgängig, Hilfsmittel

Die linke Hälfte der Leiste, von links nach rechts:

Linke Hälfte der Werkzeugleiste: Start, Neu, Öffnen, Speichern, Rückgängig, Wiederholen, C++, Bild, Editor, Raster, Hell/Dunkel, Ton und + Zahl
Linke Werkzeugleiste: Start, Dateien, Rückgängig/Wiederholen und die kleinen Hilfsmittel.

Die wichtigsten Tasten auf einen Blick

WasWie
Neues ProgrammStrg + N
Öffnen / SpeichernStrg + O / Strg + S
Rückgängig / WiederholenStrg + Z / Strg + Y
Übersetzen und hochladenStrg + U
Zurück zum StartfensterStrg + Umschalt + H
EinstellungenStrg + ,
Block löschenEntf oder in den Papierkorb ziehen
Block suchenSuchfeld oben links

Spicken erlaubt: das Beispiel

Auf der Startseite gibt's unter „Projekt öffnen“ → „Beispiele“ ein fertiges Arduino-Programm: „Förderband programmieren“. Der Arduino steuert dort ein Förderband, mit Start und Stopp, Lichtschranke, Ampel und Palettenzähler. Du siehst Variablen (laeuft, amEnde), mehrere WENN-Abfragen, eine UND-Verknüpfung und Wartezeiten, also alles, was du oben kennengelernt hast, nur in groß. Zum Ausprobieren passt die Förderband-Simulation aus Punkt 9.

Das Beispielprogramm Förderband programmieren: Variablen im GLOBAL-Fach und mehrere WENN-DANN-Abfragen im LOOP
Das Beispiel „Förderband programmieren“. Alles, was in den Abschnitten oben vorkam, nur mehr davon.

Weiterlesen: Du willst nicht Code, sondern Strom zeichnen? Dann geht's weiter mit dem Quick Start Schaltplan-Editor. Wie du Pläne liest, steht unter Schaltplan lesen.

Wichtig: Ein Arduino ist ein Lernbaukasten und kein zugelassenes Sicherheitsbauteil. Für sicherheitsgerichtete Funktionen (Not-Aus, Zweihandbedienung an echten Maschinen und so weiter) gehören geprüfte Sicherheitsbauteile in die Anlage, und Arbeiten an elektrischen Anlagen gehören in die Hände einer Elektrofachkraft. Mehr dazu unter Hinweise & Haftung.