Unter Hobbyisten ist Arduino eine sehr beliebte Open-Source-Plattform für Hardwareprojekte, die einen Mikrocontroller erfordern. Diese Online-Plattform umfasst anwenderfreundliche Entwickler-Boards, die mit Hilfe von Arduino IDE programmiert werden. Allein mit einem Arduino-Board und einigen zusätzlichen Komponenten können Sie viele coole Projekte realisieren!
Zuweilen ist es sinnvoll, sein Design zu testen, bevor man alle Komponenten kauft und viel Zeit in den Zusammenbau investiert. Ein Arduino-Simulator ermöglicht Ihnen genau das! Er simuliert physische Komponenten und Arduino-Boards virtuell, so dass Sie den von Ihnen entworfenen Schaltkreis und sogar seinen Code testen können, bevor Sie ihn in der Realität zusammenbauen.
Die Verwendung eines Simulators ist oft der effizienteste Ansatz für das Prototyping eines Entwurfs in der Anfangsphase. Allerdings bringt dies auch einige Nachteile mit sich, auf die wir noch eingehen wollen.
In diesem Artikel besprechen wir einige der besten verfügbaren Arduino-Simulatoren (sowohl Online als auch Offline), die Faktoren, die wir bei der Auswahl berücksichtigt haben, und wie Sie den am besten zu Ihren Bedürfnissen passenden Simulator auswählen.
Und nun genug des Vorgeplänkels, kommen wir zum interessanten Teil!
Schauen wir uns zuerst die Online-Optionen an. Das heißt, Sie brauchen einen Browser und eine gute Internetanbindung – und müssen 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 Sie grundlegende Konzepte festgelegt haben, können Sie hervorragende Simulationen erstellen.
Und auch wenn Microsoft MakeCode eine Online-Plattform ist, können Sie trotzdem physische Geräte anschließen. Sie haben 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 Ihnen 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. Sie können 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. Sie können ganz einfach Ihre 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 Ihnen nicht, neue Komponentenoptionen (Arduino-Module, verschiedene Modelle von Arduino-Boards, Arduino-Sensoren) zur Bibliothek hinzuzufügen. Ebenso können Sie 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 Sie Tinkercad einmal ausprobieren möchten, müssen Sie sich zunächst anmelden und entweder ein Lehrkraft-, ein Schüler- oder ein persönliches Konto erstellen.
Um das Programm einmal austesten zu können, ohne gleich ein Konto anlegen zu müssen, können Sie dieses virtuelle Maßband ausprobieren. Klicken Sie auf den Link und führen Sie 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 finden Sie in unserem Artikel zum Design und zur Simulation von Schaltkreisen in Tinkercad.
Wokwi basierte ursprünglich auf AVR8js, einer JavaScript-basierten Implementierung der AVR 8-Bit-Architektur. Es ist dieselbe Mikrocontroller-Familie, die auch der Arduino Uno, Nano und Mega verwendet. In den letzten Jahren wurden auch einige andere beliebte Plattformen wie ESP32, STM32 und RP2040 (Raspberry Pi Pico) integriert. Die vollständige Liste der unterstützten Hardware finden Sie auf der Wokwi-Website.
Am einfachsten ist es, die Startseite aufzurufen, auf der Sie die Plattform auswählen können, die Sie ausprobieren möchten (z. B. Arduino). Von dort aus können Sie die vorgestellten Projekte erkunden und sie simulieren. Sie können auch den Code und den Schaltplan ändern, indem Sie entweder die diagram.json-Datei ändern oder einfach die neue Komponente in den Schaltkreis ziehen. Für Tipps und weitere Hinweise gibt es eine ausführliche Anleitung zur Verwendung des Schaltkreis-Editors.
Wenn Sie Ihre Arbeit speichern möchten, müssen Sie sich bei Google oder GitHub anmelden. Nach der Anmeldung erscheint ein kleines Menü (in der rechten oberen Ecke des Bildschirms) mit einer Option namens „ My Projects “ (Meine Projekte), wo Sie Ihre Projekte erstellen und verwalten können.
Wokwi unterstützt das Erstellen oder Hinzufügen von eigenen Komponenten sowie das Hochladen von selbst erstellten Bibliotheken, die in der zugehörigen Dokumentation ausführlicher beschrieben werden. Für fortgeschrittene Benutzer gibt es auch die Möglichkeit, einen interaktiven Debugger und einen Logik-Analysator zu verwenden, um Ihren Code besser zu debuggen.
Der Entwickler und die Community sind sehr aktiv und Wokwi hat sich dank seines Open-Source-Modells, das eine kollaborative Umgebung fördert, rasch etabliert. Über den Discord-Server und die LinkedIn-Gruppe können Sie Fragen stellen und erhalten Unterstützung, auch von den Entwicklern.
Was die Preisgestaltung angeht, so gibt es bei Wokwi eine kostenlose Version für Open-Source-Projekte, bei der jeder die Dateien Ihres Projekts sehen kann. Dies sollte für die meisten Nutzer vollkommen ausreichen, auch wenn das Hochladen von eigenen Bibliotheken nicht unterstützt wird.
Für fortgeschrittene Hobbyisten bieten die kostenpflichtigen Versionen namens Hobby und Hobby+ einige zusätzliche Funktionen, darunter private Projekte, benutzerdefinierte Bibliotheken und eine Visual Studio Code-Integration. Die Wokwi Pro-Version schließlich ermöglicht die Durchführung kommerzieller Projekte und bietet unter anderem eine beschleunigte Entwicklungszeit und die Möglichkeit, ein privates IoT-Gateway zu nutzen.
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, so dass unterschiedliche Anforderungen erfüllt werden.
Virtual Breadboard ist eine Windows-App im Microsoft Store. Die App verfügt über eine benutzerfreundliche Benutzerschnittstelle und Sie können ganz bequem über Drag-and-Drop-Tools Ihre eigenen Schaltkreise designen. Sie können außerdem Ihre 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 können Sie Ihr 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 Sie keine eigenen Teile und Komponenten erstellen oder hinzufügen können und sich auch keine eigenen Programme über die Softwareoberfläche erstellen lassen. Und schließlich können Sie keine Platinen oder Schaltpläne für die PCB-Produktion exportieren.
Um das virtuelle Maßband auszuprobieren, müssen Sie zunächst die Software herunterladen und sie auf Ihrem PC installieren. Danach können Sie die Toolbox nutzen, um per Drag-and-Drop Ihre Komponenten hinzuzufügen. Zum Beispiel: „Toolbox > Integrated circuits > ATMega328p“.
Sie können dann Ihre HEX-Datei durch Hineinziehen laden, werden dann aber die folgende Fehlermeldung erhalten:
Unlicensed components: ATMega328Uno
Consider purchasing a license to enable these components at runtime
Um zu überprüfen, ob Ihr Testprogramm funktioniert, benötigen Sie eine Lizenz. Ist diese vorhanden, können Sie folgende Schritte durchführen:
Das Programm funktioniert! Die Entfernung, die auf dem LCD-Display angezeigt wird, entspricht der vom Sensor gemessenen Distanz.
Wenn Sie kein Abo abschließen möchten, können Sie 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.
Sie können eigene Schaltkreise entwerfen, HEX-Dateien laden oder Dateien direkt aus Arduino IDE importieren. Sie können 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 zum Schluss noch ein paar Optionen, die Sie herunterladen und nutzen können, 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 können Sie anpassbare Befehlsblöcke in ein Flussdiagramm einfügen, um Ihren Arduino zu testen, ohne den Bildschirm wechseln zu müssen. Sehen Sie sich dieses YouTube-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.
Sie können Ihre 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 können Sie auch hier keine eigenen Teile und Komponenten erstellen (Sie könnten 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 Sie einen Code oder ein Beispiel auf dem an den PC angeschlossenen Arduino ausführen, können Sie über die Sensoren und Komponenten des Simulators mit diesem Arduino interagieren. In der kostenlosen Version müssen Sie ü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 können Sie einen Test erleichtern, wenn Sie nicht über alle Komponenten verfügen, oder schnell überprüfen, wie sich Ihr 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 Sie Schaltkreise (klicken Sie hierfür auf „Configure > I/O Devices“) und Programme erstellen (nur Text möglich; alternativ können Sie auch Arduino-Dateien laden), Codes debuggen und I-/O-Schnittstellen von Arduino und die Interaktion mit dem Programm simulieren können.
Hinweis: Sie können 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:
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. Sie haben zum Beispiel Zugriff auf Tausende von Peripherie-Modellen und können Ihren 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 Sie die Software einmal ausprobieren möchten, können Sie eines der vielen Beispielprojekte testen:
Bei Simulatoren müssen wir unsere Erwartungen im Zaum halten, denn sie werden sich nie so einwandfrei und zuverlässig verhalten wie echte Hardware. Dennoch sollte ein guter Simulator die folgenden Eigenschaften aufweisen:
Lizenz: Der Text von "Die besten Arduino-Simulatoren (Online & Offline)" von All3DP unterliegt der Creative Commons Attribution 4.0 International License.