Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Arduino IDE: Erweiterung ArduBlock

Posted on 1. Mai 20187. Juni 2024 by Stefan Draeger

In der Arduino IDE kann man bequem mit C, C++ programmieren. Wer jedoch diese Sprache nicht oder noch nicht beherrscht, aber trotzdem schnell in die Welt der Mikrocontroller eintauchen möchte, kann hier auf die Erweiterung ArduBlock zurückgreifen.

  • Bezug und Installation von ArduBlock
  • Überblick
    • Hauptmenü
    • Funktionen
  • Erstes Sketch erzeugen per Drag’n Drop
    • Was ist Drag’n Drop?
    • Aufräumen & Löschen
    • Die Programmstruktur
      • Bereich – setup
      • Bereich – loop
    • Blink Sketch
    • Abfragen von Werten
      • Aufbau
        • Beispiel
  • Eine Ampelschaltung mit ArduBlock
  • Fazit

Bezug und Installation von ArduBlock

Die Erweiterung kann von der Herstellerseite heruntergeladen werden.
Wenn das JavaArchiv (*.jar) mit dem Browser Google Chrome heruntergeladen wird, dann wird die Endung *.jar als potentiell gefährlich eingestuft und man muss hier den Dialog mit der Schaltfläche „Behalten“ bestätigen.

Meldung aus Google Chrome für die Dateiendung *.jar
Meldung aus Google Chrome für die Dateiendung *.jar

Wenn man die Version von der Herstellerseite verwendet, so ist man bei der Wahl der Arduino IDE auf die Version 1.6.12 beschränkt. Möchte man jedoch eine spätere (aktuellere) Version verwenden, so kann man hier die Version von Carobot verwenden.

In diesem Tutorial verwende ich die Version 161216 von Carobot.

Wenn man also die Datei heruntergeladen hat, so muss diese in den Ordner „Sketchbook“ der Arduino IDE kopiert werden. Aber nicht blank, sondern in ein bestimmtes Unterverzeichnis, was unter Umständen erzeugt werden muss.

Verzeichnisstruktur zur Ablage von ArduBlock
Verzeichnisstruktur zur Ablage von ArduBlock

Überblick

Hat man die Arduino IDE gestartet, so findet man die Erweiterung unter dem Menüpunkt „Werkzeuge“

Ablageort der Erweiterung ArduBlock unter dem Menüpunkt "Werkzeuge"
Ablageort der Erweiterung ArduBlock unter dem Menüpunkt „Werkzeuge“

Mit einem Klick auf diesen Eintrag wird ein neues Fenster geöffnet.

Erweiterung ArduBlock nach dem ersten starten.
Erweiterung ArduBlock nach dem ersten starten.

Hauptmenü

Das Hauptmenü von ArduBlock enthält die Grundfunktionalitäten um eine Datei

  • zu erzeugen (Neu)
  • zu speichern (Speichern, Speichern als),
  • zu öffnen (Öffnen)
  • auf den Arduino zu speichern (Hochladen auf den Arduino)

Des Weiteren lässt sich der serielle Monitor der Arduino IDE bequem aus der Oberfläche mit der Schaltfläche „Seriellmonitor“ starten.

Menüleiste der Erweiterung ArduBlock
Menüleiste der Erweiterung ArduBlock

Funktionen

Im linken Bereich der Erweiterung ArduBlock findet man die Leiste mit den Funktionen für den Aufbau eines Sketches.

ArduBlock Funktionen
ArduBlock Funktionen

Erstes Sketch erzeugen per Drag’n Drop

Was ist Drag’n Drop?

Drag’n Drop bezeichnet frei der Übersetzung „ziehen und loslassen“ und in diesem Fall bedeutet es, dass wir ein Element aus der Funktionsleiste auf die Hauptfläche ziehen und loslassen.

Aufräumen & Löschen

Wenn man ArduBlock startet, so wird bereits ein Element angezeigt, dieses ist aber nicht das korrekte (jedenfalls für die Sketche welche ich schreibe).

ArduBlock "Loop"
ArduBlock „Loop“

Um dieses Element zu entfernen, klicken wir also nun darauf und ziehen dieses auf die Funktionsleiste und lassen dort los.

Element von der Hauptfläche per Drag'n Drop entfernen.
Element von der Hauptfläche per Drag’n Drop entfernen.

Die Programmstruktur

Im eigentlichen Sinne schreiben wir ein Programm und genau so heißt auch das Hauptelement, welches wir benötigen. Öffnen wir zunächst die Steuerungsansicht mit einem Klick auf die Schaltfläche „Steuerung“, es öffnet sich nun eine Leiste mit vielen Elementen. Aus dieser Liste wählen wir das Element mit der Bezeichnung „program“ und ziehen dieses auf die Hauptfläche.

Element "program" per Drag'n Drop auf die Hauptfläche ziehen.
Element „program“ per Drag’n Drop auf die Hauptfläche ziehen.

Diesem Element können wir nun weitere Elemente anheften, hier wird jedoch zwischen „setup“ und „loop“ unterschieden.

Bereich – setup

Im Bereich „setup“ werden alle Elemente abgelegt, welche nur einmal beim Starten / neu Starten des Arduinos ausgeführt werden sollen. Das kann zum Beispiel

  • eine Ausgabe auf dem seriellen Monitor,
  • eine Zuweisung eines Wertes zu
    • einer Variable
    • einem Pin

sein.

Bereich – loop

Im Bereich „loop“ werden alle Elemente abgelegt, welche in einer Dauerschleife ausgeführt werden sollen.
Zum Beispiel kann hier die Zustandsänderung am Pin 13 (interne LED) von LOW auf HIGH und umgekehrt „programmiert“ werden.

Blink Sketch

Fangen wir mit einem kleinen Sketch an, welches „nur“ die interne LED steuern soll.
Hier wollen wir diese in einem Intervall von 1sek. Blinken lassen.

Dazu benötigen wir neben dem Element „program“ noch weitere Elemente, welche wir wieder aus der Funktionsleiste per Drag’n Drop auf die Hauptfläche ziehen.

ArduBlock - erzeugen eines einfachen Sketches
Dieses Video auf YouTube ansehen.

Abfragen von Werten

Im oben genannten Beispiel haben wir nur eine LED blinken lassen, das ist für den Einstieg ein einfaches Beispiel. Aber wie sieht es aus, wenn wir auf einen bestimmten Status / Wert reagieren möchten?

Die Elemente dafür finden wir unter dem Menüpunkt „Test“.

Funktionen zum Testen eines Status / Wertes
Funktionen zum Testen eines Status / Wertes

Nun schreiben wir unser „Blink Sketch“ so um, dass, wenn je nachdem die LED AN/AUS ist, eine Meldung auf dem seriellen Monitor erscheint.

Abfragen eines digitalen Wertes
Abfragen eines digitalen Wertes
Ausgabe auf dem seriellen Monitor
Ausgabe auf dem seriellen Monitor

Aufbau

Im Bereich „setup“ habe ich eine einfache serielle Ausgabe eingebaut, damit man erkennen kann, dass diese wirklich nur beim Starten / neu starten des Arduinos auf dem seriellen Monitor erscheint.

Im Bereich „loop“ habe ich zusätzlich den Zustand des digitalen Pin D13 in einer Variable mit der Bezeichnung „ledPin“ gespeichert. Dieses ermöglicht es mir später auf einen anderen Pin zu wechseln, ohne dass ich überall einen anderen Pin auszuwählen (und ggf. eine Stelle zu vergessen).

Zum Testen von Zuständen / Werten gibt es zwei Elemente.

Element zum Testen eines Wertes
Element zum Testen eines Wertes

Im Bereich „teste“ wird eine Abfrage des Wertes eingebaut und wenn diese WAHR ist, dann wird der Bereich „dann“ ausgeführt.

Beispiel

In dem folgenden Beispiel teste ich, ob 5 größer als 2 ist. Wenn diese Bedingung WAHR ist, dann wird die Meldung „5 ist Groesser als 2.“ auf dem seriellen Monitor ausgegeben.

Einfache Abfrage zweier Werte
Einfache Abfrage zweier Werte

Das zweite Element enthält nun noch einen „sonst Zweig“ dieser wird ausgeführt, wenn die Bedingung FALSCH ist.

In unserem Beispiel würde dieses dann wie folgt aussehen:

Abfrage einer Bedingung
Abfrage einer Bedingung

Da 5 immer größer als 2 sein wird, wird der „sonst Zweig“ nie ausgeführt.

Eine Ampelschaltung mit ArduBlock

Ich möchte jetzt nicht auf jedes Element von ArduBlock eingehen, denn das würde den Rahmen sprengen.

Ziel dieses Projektes soll es sein, eine Ampelschaltung mit dem Arduino UNO zu implementieren.

Von der Firma Cytron aus Malaysia habe ich einen Maker UNO zu einem Review erhalten, dieser Mikrocontroller hat den Vorteil das auf jedem digitalen Ausgang eine SMD LED geschaltet ist und ich meinen Sketch entwickeln kann und gleich testen kann. Auch wenn hier nur die Farbe Blau ist doch die Funktion schon erkennbar.

Wechsellichtzeichen nach §37 Abs.2 StVO
Wechsellichtzeichen nach §37 Abs.2 StVO

Somit ergeben sich 4 Schritte.

Im ersten Schritt wird nur die grüne LED angeschaltet (gelb und rot sind aus).
Im zweiten Schritt wird die gelbe LED angeschaltet (grün und rot sind aus).
Im dritten Schritt ist nur die rote LED angeschaltet (grün und gelb sind aus).
Im vierten Schritt sind die gelbe und die rote LED angeschaltet (grün ist aus).

Ampelschaltung mit ArduBlock und dem MakerUNO
Dieses Video auf YouTube ansehen.

Der Aufbau kann natürlich noch optimiert werden, denn es gibt hier ja „nur“ 3 LEDs. Wenn man also nun eine Funktion erzeugt, welcher die Zustände für die 3 LEDs übergeben werden, dann wird der Sketch um einiges kürzer.

Fazit

Mit der Erweiterung ArduBlock lässt sich schnell und sicher einfache bis komplexe Sketche erzeugen, durch die zusätzlichen Elemente für Bluetooth und Servos hat man hier ohne viel Programmierkenntnisse ein Ergebnis.

Den fertigen Sketch kann man sich in der Arduino IDE anschauen, wobei es sich hier um generierten Code handelt und dieser alles andere als lesbar ist.

11 thoughts on “Arduino IDE: Erweiterung ArduBlock”

  1. Günter Hohn sagt:
    13. Januar 2019 um 20:41 Uhr

    Habe mit arublock ein problem mit steppermotor nema17 er bewegt sich nicht
    Arduino UNO
    CNC Shield
    Nema 17 Steppermotor
    Trafo 24 V
    Warum läuft Motor nicht bei ardublock Progammierung
    programmiert: fortlaufend(steuerung) mit steppermotor step und stepper motor set Speed (DuinoEDU Grove add
    grbl hex 0.9 mit 115200 baud
    motor funktioniert aber mit Grbl Controller wäre für hilfe sehr dankbar (bin anfänger)

    Antworten
    1. Stefan Draeger sagt:
      14. Januar 2019 um 19:17 Uhr

      Hi,

      sende mir dochmal den Quellcode und die ArduBlock Datei. Dann kann ich mir das mal gerne anschauen. Des Weiteren ein Foto auf welchem man erkennt wie die Bauelemente verdrahtet sind wäre zusätzlich nicht schlecht.

      Gruß,

      Stefan Draeger

      Antworten
  2. ArduNeuling sagt:
    29. Oktober 2019 um 12:18 Uhr

    Hallo,
    ich kämpfe mit ganz banalen Dingen.
    Das ArduBlock erscheint einfach nicht unter Werkzeuge/ bei mir Tools. Ich habe mehrere Versionen probiert jetzt die Arduino 1.8.9 mit der ardublock-all-2019-08-13.jar und das mit Win10 aktuelle Version. Pfad/Groß-Kleinschreibung usw. hab ich mehrmals kontrolliert-sollte passen. Gibt es da irgendeine grundlegende Einstellung die ich brauche? Java hab ich auch laufen..
    Für Tips wäre ich echt dankbar!
    lg

    Antworten
    1. Stefan Draeger sagt:
      29. Oktober 2019 um 12:27 Uhr

      Hi,

      ich habe Ardublock nur auf der einen Version zum laufen gebracht bekommen. Jedoch müsste ich mal prüfen wie sich das mit der neuen Version verhält.

      Die „originale“ Version von Ardublock war nur kompatibel bis zur Version 1.6.x ich schaue wie gesagt mir das nochmal an und passe dann das Tutorial ggf. mit den neuen Informationen an.
      Gruß,

      Stefan Draeger

      Antworten
    2. Stefan Draeger sagt:
      29. Oktober 2019 um 18:24 Uhr

      Hi,

      ich habe mal geschaut und auf die schnelle konnte ich zwar das Problem erkennen aber kann dir keine Lösung anbieten.

      Jedoch habe ich eine Zip Datei gefunden welche ein ArduBlock enthält, jedoch stark minimiert, vieleicht hilft dir dieses ja weiter.

      http://duinoedu.com/dl/logiciels/arduino/arduino_augmente/version_duinoedu/DERNIERE_VERSION/1_STANDARD_VERSION/

      Da dieses eine externe Quelle ist, übernehme ich keine Haftung für Viren oder ähnliche Schadsoftware.

      Gruß,

      Stefan Draeger

      Antworten
      1. Michael Arnold sagt:
        29. Februar 2020 um 11:15 Uhr

        Bei mir läuft ArduBlock mit Arduino 1.8.10

        Antworten
        1. Stefan Draeger sagt:
          29. Februar 2020 um 14:59 Uhr

          Hi, stimmt ich habe gerade ArduBlock auf der neuen Version 1.8.12 eingerichtet bekommen.

          Der Pfad ist „Arduino\tools\ArduBlockTool\tool\ardublock-all-20130712.jar“

          Dann findet man auch in der neuen Version wie gewohnt ArduBlock unter dem Menüpunkt Werkzeuge.

          Gruß und Danke,

          Stefan

          Antworten
  3. Simon sagt:
    23. Juni 2020 um 19:48 Uhr

    habe alles in den Pfad ist „Arduino\tools\ArduBlockTool\tool\ardublock-all-20130712.jar so wie beschrieben kopiert. Nuutzte die neuste Arduino Version aber bei dem ArduBlocktool fehlen einige Elemente in der Funktionsleiste, wie kann das sein ? greetz

    Antworten
  4. Uwe A sagt:
    3. Juli 2023 um 10:59 Uhr

    Guten Tag.
    Worum geht es?
    Arduino (IoT-Werkstatt)-> ArduBlock-> Erweiterung der Blöcke mit zusätzlichen Sensoren.

    Erst einmal meinen Dank, dass sie diese Nachricht lesen.

    Was möchte ich?
    Mit einem Sensor (DHT22/Feuchtigkeit-Temp) die Daten über einen ESP8266 erfassen. Auf dem 8266 die Daten mittels einiger Programmierter Zeilen (Arduino/ArduBlock) verarbeiten.
    Diese Daten über MQTT (deshalb IoT-Werkstatt, weil ich MQTT/Ardublock nur hier gefunden habe) über WiFi ins Heimnetzt stellen.

    Problem: Es sind nicht die Sensoren (z.B. DHT22) auf dem ArduBlock vorhanden.
    Wie kann ich Das Tool ArduBlock mit dem Block “Sensor DHT22“ erweitern?

    Danke für ihre Antwort.

    Herzliche Grüße

    Antworten
    1. Stefan Draeger sagt:
      3. Juli 2023 um 19:50 Uhr

      Hallo Uwe,

      Bausteine für ArduBlock habe ich bisher nicht geschrieben.
      Ich denke, das ist auch nicht so einfach.

      Aber ein kleines Programm kann man schon schreiben, um den DHT22 Sensor auszulesen und die Daten per MQTT zu senden.

      Gruß, Stefan

      Antworten
  5. Eisenbart, Dieter sagt:
    13. Februar 2024 um 15:02 Uhr

    Hallo Herr Draeger,
    habe selbst bei der erweiterten Version von ArduBlock nicht so viele Blöcke wie bei Ihren Beispielen gezeigt.
    Zum Beispiel Fehlt ein Bloch zur Programmierung eine LCD-Displays – I2C.
    Wie bekomme ich neue Blöcke in mein ArduBlock-Program.
    Die Bibliatheken für die Bauelemente sind in Arduino vorhanden.
    Würde mich freuen, wenn Sie mir helfen könnten – es würde die Programmiermöglichkeiten von ArduBlock stark erweitern.
    Vielen Dank für Ihre Mühe!
    Es grüßt freundlich
    Dieter Eisenbart

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}