Quick Start: Dein erstes Arduino-Programm mit Blockly
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.
2. Die Oberfläche: links, Mitte, oben
- Links: oben ein Suchfeld („Block suchen …“), darunter die Kategorien: Board, Steuerung, Schrittkette, Zeit, Eingänge, Ausgänge, Ports, Logik, Variablen, Tabellen, Unterprogramme, Erweitert, W-LAN, LAN, Shields und Simulation. Die mit dem Dreieck klappen auf und haben Unterkategorien.
- Mitte: die Arbeitsfläche. Hier steckst du die Blöcke zusammen. Die Fläche verschiebst du, indem du auf einen leeren Fleck klickst und ziehst. Unten rechts gibt's Zoom-Knöpfe (Plus und Minus), ein Fadenkreuz zum Zentrieren und den Papierkorb.
- Oben: die Werkzeugleiste (dazu gleich mehr). Ganz unten steht die Statuszeile mit Board und Anschluss.
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:
- GLOBAL: hier werden Variablen angelegt, die überall gelten.
- SETUP: läuft einmal beim Start. Hier stellst du Dinge ein.
- LOOP: läuft immer wieder, solange der Arduino Strom hat. Das ist das, was bei der SPS der zyklische Programmdurchlauf ist.
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.
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.
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:
- Ausgänge → Standard Pins: „Schreibe Digital-PIN 13 auf HIGH“ (HIGH heißt: Pin an, LED leuchtet).
- Zeit → Zeiten: „Warten 500 ms“.
- Nochmal „Schreibe Digital-PIN 13 auf LOW“ (LOW heißt: Pin aus). Das HIGH im Dropdown-Feld stellst du einfach um.
- 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.
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.
- SETUP: aus Eingänge → Standard Pins den Block „Aktiviere internen Pullup für PIN 2“.
- LOOP: aus Steuerung den Block WENN – DANN – SONST.
- Bei WENN kommt die Bedingung: aus Logik der Block NICHT, und in dessen Mulde aus Eingänge → Standard Pins „Lese digitalen PIN 2“.
- 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.
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:
- oben die Pins als Konstanten (
pin13,pin2), - in
setup()die pinMode-Zeilen, die du nicht selbst gesetzt hast, und den Pullup, - in
loop()deine WENN-Abfrage alsif … else.
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.
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:
- Board-Auswahl: „Welcher Arduino ist angeschlossen?“ Stell hier dein Board ein.
- Anschluss (COM-Port): der USB-Anschluss, an dem dein Arduino hängt. Mit dem Knopf mit den kreisenden Pfeilen suchst du die Anschlüsse neu, wenn du das Kabel erst jetzt eingesteckt hast.
- Häkchen („Prüfen“): übersetzt das Programm, lädt aber nichts hoch. Gut, um zu sehen, ob alles zusammenpasst.
- Upload (blau, auch Strg + U): übersetzt und lädt das Programm auf den Arduino. Danach läuft es von selbst, auch ohne PC.
- Simulation und Monitor (der Serielle Monitor, in dem du Textausgaben deines Arduinos mitlesen kannst).
- Schraubenschlüssel: die Einrichten-Seite von vorhin. Zahnrad: Einstellungen (Hell/Dunkel, Töne, Raster, auch Strg + Komma).
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:
- Förderband: Pakete laufen über ein Band und werden auf einer Palette gestapelt, mit Lichtschranken, Ampel und Zähler.
- Presse: Zweihandbedienung, Lichtschranke, Not-Aus und Pressdruck, eine Sicherheitsschaltung zum Üben.
- Automatiktor: ein Rolltor mit Schrittmotor, Endschaltern, Lichtschranke und Bedientasten.
- dazu unter anderem eine Fußgängerampel und eine WC-Lüftung.
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“.
10. Die Werkzeugleiste links: speichern, rückgängig, Hilfsmittel
Die linke Hälfte der Leiste, von links nach rechts:
- Start: zurück zum Startfenster (Strg + Umschalt + H).
- Neu, Öffnen, Speichern: Strg + N, Strg + O, Strg + S. Beim Zurückgehen fragt LogikStrom nach, ob du Änderungen speichern willst.
- Rückgängig und Wiederholen: Strg + Z und Strg + Y. Verklickt? Kein Drama.
- C++: Code ein- und ausblenden (siehe Punkt 7), daneben „Im Editor“.
- Bild: speichert die Blöcke als PNG, und zwar das ganze Programm. Praktisch für Doku und Schulungsunterlagen.
- Raster, Hell/Dunkel, Ton: schaltet das Raster der Arbeitsfläche, das dunkle Design und die Klickgeräusche ein oder aus.
- + Zahl, + Variable, + Text: legt einen Zahlen-, Variablen- oder Textblock in die Mitte der Fläche. Spart den Weg über die Kategorien.
Die wichtigsten Tasten auf einen Blick
| Was | Wie |
|---|---|
| Neues Programm | Strg + N |
| Öffnen / Speichern | Strg + O / Strg + S |
| Rückgängig / Wiederholen | Strg + Z / Strg + Y |
| Übersetzen und hochladen | Strg + U |
| Zurück zum Startfenster | Strg + Umschalt + H |
| Einstellungen | Strg + , |
| Block löschen | Entf oder in den Papierkorb ziehen |
| Block suchen | Suchfeld 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.
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.