Arduino ist eine Open-Source-Plattform für Elektronik, mit der interaktive Projekte erstellt werden können. Wenn du gerne mit einem Arduino herumexperimentierst, benötigst du ein Steckbrett, jede Menge kleiner Komponenten und natürlich einen Arduino. Außerdem brauchst du, wenn du – wie viele von uns – gleichzeitig mehrere Projekte startest, neben Zeit auch ein bisschen Geld. Des Weiteren wirst du mit einigen kleinen Überbrückungskabeln herumhantieren müssen, wenn du deine Träume zum Leben erwecken willst.
Bei so einem Projekt fallen also einige Zusatzkosten an. Es gibt aber einen Weg, wie du dies umgehen kannst. Bevor du dich an einen echten Arduino heranwagst, kannst du es zunächst einmal mit einem Arduino-Simulator versuchen. Ein guter Simulator ermöglicht es dir, mehrere Aspekte des gesamten Prozesses digital nachzustellen:
Dieser Artikel hilft dir bei der Entscheidung, welcher Simulator der richtige für dein Projekt ist. Bei jedem Simulator bieten wir dir Hintergrundinformationen und ein einfaches Beispiel, das du selbst ausprobieren kannst.
Schauen wir uns zuerst die Online-Optionen an. Das heißt, du brauchst einen Browser und eine gute Internetanbindung – und musst kein Programm herunterladen.
In Microsoft MakeCode werden Simulationen mit verschiedenen Steckbrettern – darunter auch Arduino-Modelle – mit visuellen Blöcken erstellt, sodass sie auch für diejenigen zugänglich sind, die keine Vorkenntnisse im Programmieren haben. Man kann sich aber auch dafür entscheiden, mit Python oder JavaScript zu programmieren. Alles in dieser Umgebung ist sehr intuitiv und sobald du grundlegende Konzepte festgelegt hast, kannst du hervorragende Simulationen erstellen.
Und auch wenn Microsoft MakeCode eine Online-Plattform ist, kannst du trotzdem physische Geräte anschließen. Du hast Zugriff auf eine Vielzahl von Erweiterungen für Sensoren und andere Komponenten, die eine große Hilfe bei Simulationen sind. Neben den grundlegendsten Funktionen gibt es weiter unten in der Benutzeroberfläche fortschrittlichere Erweiterungen, die dir zusätzliche Funktionen wie einen Joystick, Sensoren oder sogar Befehle für die Unterstützung von USB- und Memory Sticks bieten.
Die Benutzeroberfläche ist recht übersichtlich und zeigt links ein illustratives Bedienfeld mit Animationen und rechts das Blockprogrammierfeld. Einige Ausgabebefehle zeigen Ergebnisse auch ohne einen Arduino oder eine angeschlossene Komponente an, wie zum Beispiel Töne. Du kannst sogar den elektronischen Schaltplan ausdrucken, um den physische Zusammenbau zu erleichtern.
Sehen wir uns einmal ein einfaches Beispiel einer Operation an:
Tinkercad Circuits ist ein kostenloser Onlineservice von Autodesk, der 2017 ins Leben gerufen wurde und der vermutlich der benutzerfreundlichste Arduino-Simulator überhaupt ist. Du kannst ganz einfach deine eigenen Schaltkreise entwerfen, ein Programm im Block- oder Textformat schreiben und es dann debuggen.
Die Simulation der Arduino-Platinen und der I-/O-Schnittstellen sowie die Interaktion mit dem Code läuft wie am Schnürchen. Der Code kann außerdem heruntergeladen und mit anderen Makern geteilt werden.
Natürlich gibt es auch hier Einschränkungen. Tinkercad ermöglicht die Verwendung aller Elemente aus der Bibliothek, aber es erlaubt dir nicht, neue Komponentenoptionen (Arduino-Module, verschiedene Modelle von Arduino-Boards, Arduino-Sensoren) zur Bibliothek hinzuzufügen. Ebenso kannst du die in der Bibliothek verfügbaren Elemente nicht verändern. Einige grundlegendere Komponenten wie Widerstände können parametriert werden, aber das gilt nicht für Mikrocontroller, und beim Arduino gibt es nur das Modell Arduino Uno R3.
Wenn du Tinkercad einmal ausprobieren möchtest, musst du zunächst beitreten und entweder ein Lehrkraft-, ein Schüler- oder ein persönliches Konto erstellen.
Um das Programm einmal austesten zu können, ohne gleich beitreten zu müssen, kannst du dieses virtuelle Maßband ausprobieren. Klicke auf den Link und führe dann folgende Schritte aus:
Das Ergebnis: Es funktioniert! Die Entfernung, die auf dem LCD-Display angezeigt wird, entspricht der vom Sensor gemessenen Distanz. Weitere Informationen findest du in unserem Artikel zum Design und zur Simulation von Schaltkreisen in Tinkercad.
Wokwi basiert auf AVR8js, einer JavaScript-Implementierung der AVR 8-Bit-Architektur. Auf der entsprechenden GitHub-Seite findest du „Wokwi-elements“ und „Wokwi-playgrounds“. Hier befinden sich Beispiele, die du simulieren kannst. Außerdem kannst du den Entwurf und den Aufbau des Schaltkreises modifizieren (mithilfe der Datei „diagram.json“).
Wenn du ein Beispiel speichern (bzw. eine Kopie machen) möchtest, musst du dich bei Google oder GitHub registrieren. Nach der Registrierung siehst du ein kleines Menü (rechts oben am Bildschirm) mit den folgenden Optionen: „Discord server“, „My projects“, „The Club“ und „Logout“.
Das Menü hat keine Drag-and-Drop-Funktion, du musst dir also die bestehenden Beispiele einzeln ansehen, sie kopieren und modifizieren und dir dann das Ergebnis ansehen. Sobald das erledigt ist, kannst du deine eigene Simulation starten. Zum Erstellen deines eigenen Schaltkreises musst du die Datei „diagram.json“ bearbeiten. Weitere Informationen erhältst du in den Dokumenten.
Erfahrene Nutzer können ihre eigenen Teile und Komponenten erstellen oder hinzufügen sowie Arduino-Datenbanken hizufügen (klicke hierzu auf den kleinen Pfeil neben der Dateiliste, wähle „New file…“ aus und füge .h- und .cpp-Dateien hinzu). Einzige Einschränkung: Du kannst keine Platinen und Schaltpläne für die Herstellung der Leiterplatte exportieren.
Der Entwickler und die Community sind sehr proaktiv und Wokwi ist sehr schnell gewachsen. Im Discord-Server kannst du Fragen stellen und unter anderem vom Entwickler Hilfe erhalten.
Und wenn die kostenlose Version deine Erwartungen nicht erfüllt, kannst du für ca. 7 €/Monat dem Wokwi-Club beitreten. Dort erhältst du neben benutzerdefinierten Einstellungen auch die Möglichkeit, deine Projekte privat zu halten.
Sehen wir uns einmal unser Testprogramm an:
Das Programm funktioniert! Die Entfernung, die auf dem LCD-Display angezeigt wird, entspricht nahezu der vom Sensor gemessenen Distanz.
Die folgenden Simulatoren sind sowohl online als auch offline verfügbar, sodass unterschiedliche Bedürfnisse befriedigt werden.
Virtual Breadboard ist eine Windows-App im Microsoft Store. Die App verfügt über eine benutzerfreundliche Benutzerschnittstelle und du kannst ganz bequem über Drag-and-Drop-Tools deine eigenen Schaltkreise designen. Du kannst außerdem deine Entwürfe im HEX-Format aus Arduino IDE, Arduino Create, PlatformIO, Visual Studio usw. importieren.
Die App kann unter anderem ein Arduino-Board und die I-/O-Schnittstellen sowie die Interaktion mit dem Programm simulieren. Außerdem kannst du dein Projekt im SVG- und im KiCad-Format exportieren. Das Besondere an Virtual Breadboard ist die Integration von virtueller Mixed-Reality-Hardware und die Möglichkeit, Hardware neu zu modifizieren.
Der Simulator ist etwas restriktiv, da du keine eigenen Teile und Komponenten erstellen oder hinzufügen kannst und auch keine eigenen Programme über die Softwareoberfläche erstellen kannst. Und schließlich kannst du keine Platinen oder Schaltpläne für die PCB-Produktion exportieren.
Um das virtuelle Maßband auszuprobieren, musst du zunächst die Software herunterladen und sie auf deinem PC installieren. Danach kannst du die Toolbox nutzen, um per Drag-and-Drop deine Komponenten hinzuzufügen. Zum Beispiel: „Toolbox > Integrated circuits > ATMega328p“.
Du kannst dann deine HEX-Datei durch Hineinziehen laden, wirst dann aber die folgende Fehlermeldung erhalten:
Unlicensed components: ATMega328Uno
Consider purchasing a license to enable these components at runtime
Um zu überprüfen, ob dein Testprogramm funktioniert, benötigst du eine Lizenz. Ist diese vorhanden, kannst du folgende Schritte durchführen:
Das Programm funktioniert! Die Entfernung, die auf dem LCD-Display angezeigt wird, entspricht der vom Sensor gemessenen Distanz.
Wenn du kein Abonnement abschließen möchtest, kannst du die Beispiele der Online-Beta ausprobieren.
PICSimLab ist ein Echtzeit-Emulator für Entwicklungsplatinen mit einem integrierten MPLAB X-/AVR-GDB-Debugger. Er unterstützt einige PICSim-Microcontroller und einige Simavr-Microcontroller. In PICSimLab integriert ist außerdem MPLAB X Arduino IDE, mit dem Microcontroller-Platinen programmiert werden können.
Du kannst eigene Schaltkreise entwerfen, HEX-Dateien laden oder Dateien direkt aus Arduino IDE importieren. Du kannst außerdem die I-/O-Schnittstellen des Arduino sowie die Interaktion mit dem Programm simulieren. Erfahrene Nutzer können ihre eigenen Teile und Komponenten erstellen oder hinzufügen, jedoch ist es hier ebenfalls nicht möglich, Platinen und Schaltpläne zu entwerfen und für die Leiterplattenherstellung zu exportieren.
Und um das Ganze abzurunden, findest du hier ein paar Optionen, die du herunterladen und mit denen du arbeiten kannst, ohne während der Simulation mit dem Internet verbunden sein zu müssen.
Flowcode ist eine grafische Programmierplattform mit integrierter IDE für verschiedene Controller wie PIC, AVR, ARM, ESP oder Raspberry Pi. Neben der einfachen Simulation von Arduinos bietet es eine breite Palette an Testkomponenten und eine 3D- oder 2D-Umgebungsvisualisierung. Per Click-and-Drag kannst du anpassbare Befehlsblöcke in ein Flussdiagramm einfügen, um dein Arduino zu testen, ohne den Bildschirm wechseln zu müssen. Sieh dir dieses XouTube-Video von StudentCompanion Electronics an, um das Programm in Action zu sehen.
Flowcode ist sehr intuitiv und somit gleichermaßen geeignet für alle Neulinge als auch alle, die schon über ein wenig Erfahrung verfügen. Es bietet die einzigartige Möglichkeit, 3D-Modelle zu importieren (in den Dateiformaten MESH, STEP und OBJ), was es perfekt zum Experimentieren mit elektromechanischen Systemen macht, bei denen Motoren, Servos und Aktuatoren alle in die digitale Darstellung integriert werden können.
Es gibt eine kostenlose Version von Flowcode für registrierte Maker und Tüftler, die viel zu bieten und keine Einschränkungen hinsichtlich der Projektgröße hat. Die Pro- und Academic-Versionen verfügen über einige Besonderheiten im Zusammenhang mit Debugging, Paradigmen und Dokumentation. Flowcode erklärt alle Versionsunterschiede ausführlich auf der eigenen Seite. Es steht in sechs Sprachen zur Verfügung.
Zusätzlich zum „Erste Schritte“-Leitfaden und einem Anleitungsvideo für Einsteiger können wir unser Testprogramm ausprobieren, um zu sehen, wie ein Workflow aussehen könnte:
SimulIDE ist ein Echtzeit-Schaltkreis-Simulator für die Simulation von PIC-, AVR- und Arduino-Anwendungen. SimulIDE setzt auf eine spartanische Benutzeroberfläche, die dafür aber schnell, einfach und benutzerfreundlich ist.
Du kannst deine eigenen Schaltkreise entwerfen und sie mit einem Code-Editor und -Debugger für GcBasic, Arduino, PIC und AVR programmieren. SimulIDE verfügt außerdem über einen eigenen YouTube-Kanal, auf dem mehr als 45 Videos zu finden sind.
Wie bei den vorherigen Simulatoren kannst du auch hier keine eigenen Teile und Komponenten erstellen (du könntest aber im Forum oder auf Patreon danach fragen). Außerdem können keine Platinen und Schaltpläne entworfen und für die Leiterplattenherstellung exportiert werden.
Wir nutzen die kostenlose Version für dieses Beispiel. Es gibt hierbei zwei Möglichkeiten:
Trotz des Namens eignet sich der Arduino IO Simulator am besten zum Testen von Komponenten und erfordert zur Verwendung einen physischen Arduino, der mit dem Computer verbunden ist. Wenn du einen Code oder ein Beispiel auf dem an den PC angeschlossenen Arduino ausführst, kannst du über die Sensoren und Komponenten des Simulators mit diesem Arduino interagieren. In der kostenlosen Version musst du über ein USB-Kabel verbunden sein und einen COM-Port verwenden, in der Pro-Version ist es jedoch möglich, Ports über das TCP-Protokoll zu emulieren und somit eine Verbindung über WLAN herzustellen. Derzeit steht die Pro-Version kostenlos zur Verfügung.
Mit diesem Programm kannst du einen Test erleichtern, wenn du nicht über alle Komponenten verfügst, oder schnell überprüfen, wie sich dein Code verhält. Alles ist gut dokumentiert: Es gibt eine Bedienungsanleitung und eine Installationsanleitung, die erklärt, was man für die Java-Installation benötigt. Es gibt mehrere Beispiele, die das Programm zum Testen anbietet. Außerdem gibt es Bibliotheken, die den Einsatz von Komponenten erleichtern. Dieses Programm kann für pädagogische Zwecke sehr hilfreich sein.
Sehen wir uns einmal an, wie man dieses Programm verwendet:
UnoArduSim ist ein kostenloses Lerntool, mit dem du Schaltkreise (klicke hierfür auf „Configure > I/O Devices“) und Programme erstellen (nur Text möglich; alternativ kannst du auch Arduino-Dateien laden), Codes debuggen und I-/O-Schnittstellen von Arduino und die Interaktion mit dem Programm simulieren kannst.
Hinweis: Du kannst keine eigenen Teile und Komponenten erstellen oder hinzufügen, Komponenten, erstellte Platinen oder Entwürfe per Drag-and-Drop hinzufügen und auch keine Platinen und Schaltpläne für die Herstellung der Leiterplatte exportieren.
Sehen wir uns einmal unser Testprogramm an:
Virtronics ist ein Simulator, der nicht allzu viele virtuelle Komponenten bietet, aus denen du Projekte mit Drähten, Modulen und symbolischen Teilen zusammenstellen kannst. Stattdessen übernimmst du die Kontrolle über einen Testlauf, der zeigt, wie sich ein Arduino-Board oder -Modell in einer bestimmten Situation technisch verhalten könnte.
Du kannst Eingänge und Ausgänge steuern, um Komponenten und Verhaltensweisen zu simulieren, und Monitore verwenden, um potenzielle Fehler zu erkennen und zu verstehen, warum sie auftreten. Das kann sehr nützlich sein, wenn du bei einem laufenden Projekt nicht hinter einen Fehler kommst.
Und das ist noch nicht alles, es gibt unter anderem auch einen seriellen Monitor und zahlreiche weitere Tools wie eine ASCII-Tabelle, einen Barcode-Maker, einen Taschenrechner, einen Logik-Analysator für digitale Pins, einen Plan der USB-Anschlüsse, Ethernet und einen 2,1mm-Anschluss.
Das Interface zeigt einen Echtzeit-Überblick der Variablen und im Menü „Ansicht“ findest du weitere Optionen wie SubRoutinen, EEPROM, Class-Explorer und mehr. Dies alles kannst du mit den Modellen von 10 unterschiedlichen Boards verwenden: dem Uno, Due, Papilio, Esplora, Leonardo, Lily Pad, Arduino Mega, Arduino Nano, Uno32, und dem Yun. Du kannst auch andere Hardware testen, wie Terminal- und LCD-Monitore.
All diese Funktionen ermöglichen es dir, Code zu testen, bevor du Hardware kaufst, und die Funktionsweise des Boards zu debuggen, zu demonstrieren und zu lehren. Außerdem ist es ein großartiges Werkzeug, um komplexeren Code zu entwerfen und schneller und einfacher zu testen als direkt mit dem physischen Board.
Die kostenlose Version wird durch drei unabhängige Zähler eingeschränkt. Erreicht einer dieser das Limit, wird eine Pause von 300 Sekunden eingelegt. Dies verlangsamt die Nutzung des Programms, verhindert sie aber nicht. Die drei limitierenden Zähler der kostenlosen Version zählen 200 Zeilen, 45 Tage und 100 Skizzen, der zuerst erreichte Wert zählt. Der Timer verzögert den Programmstart, das Öffnen oder Erstellen eines Projekts sowie einige weitere Funktionen.
Das Ausprobieren ist einfach, du kannst die kostenlose Version bei Virtronics downloaden. Das Programm enthält bereits einige Demo-Beispiele. Führe nach Installation und Starten des Programms die folgenden Schritte aus:
Proteus VSM für Arduino AVR ist mit Abstand die teuerste Option auf dieser Liste. Dies einmal ausgeklammert bietet die Software aber neben all den grundlegenden Funktionen einige Besonderheiten, die wir so bei anderen Simulatoren nicht vorfinden. Du hast zum Beispiel Zugriff auf Tausende von Peripherie-Modellen und kannst deinen Simulationen per Drag-and-Drop Dutzende Abschirmungen hinzufügen.
Wir konnten zwar unser Testprogramm nicht ausprobieren, da die professionelle Demoversion relativ limitiert ist, aber auf YouTube finden sich viele Videos, in denen Nutzer genau dieses Maßbandprojekt verwenden.
Wenn du die Software einmal ausprobieren möchtest, kannst du eines der vielen Beispielprojekte testen:
Lizenz: Der Text von "Die besten Arduino-Simulatoren 2023 (Online & Offline)" von All3DP unterliegt der Creative Commons Attribution 4.0 International License.