Ich möchte mit der Entwicklung einiger grundlegender Arduino-Projekte beginnen, aber ich besitze noch kein Arduino-Board. Gibt es eine Möglichkeit, meinen Code zu schreiben und ihn mit einem Desktop-Computer zu emulieren / testen, sodass ich nach dem Eintreffen meines Boards nur noch mein Projekt hochladen und darauf ausführen muss?
205
Antworten:
Es gibt eine ganze Reihe von Arduino-Simulatoren, viele davon kostenlos und einige kostenpflichtige Produkte.
Viele andere Arduino-Simulatoren sind da draußen, wenn Sie suchen, und es werden ständig neue angekündigt, sogar Crowdfunding.
quelle
Ich benutze dafür gerne circuits.io aka TinkerCAD .
Es ist Cloud-basiert und hat einige nette Funktionen, einschließlich PCB-Design und Zusammenarbeit.
IMO die Arduino-Simulation und -Fähigkeit ist beeindruckend und intuitiv.
quelle
In der Welt der Elektroniksimulatoren gibt es viele Optionen, aber Circuits.io alias TinkerCAD ist wahrscheinlich die vielseitigste auf dem Markt .
Dies ist eine beispielhafte Schaltung mit einer IR-Fernbedienung und einem LCD-Bildschirm.
Haftungsausschluss: Wir sind die Hersteller von 123D Circuits
quelle
Beachten Sie, dass kein Simulator reale Situationen reproduziert. Es gab viele Beiträge im Arduino-Forum über Probleme mit Code oder Elektronik, die sich als subtil herausstellen, wie zum Beispiel:
Von Natur aus können Simulatoren all dies nicht reproduzieren. Selbst wenn dies möglich wäre, würden Sie die Option "Zufälliges Rauschen von Motoren einfügen" aktivieren oder deaktivieren?
Laden Sie die IDE herunter und starten Sie die Programmierung. Sie können Bibliotheken installieren lassen, Code schreiben und frei von Syntaxfehlern verwalten und im Allgemeinen auf den großen Tag vorbereitet sein, an dem die Hardware in Ihren Händen ist.
Viel Spaß und viel Spaß beim Experimentieren mit Ihrem Arduino!
quelle
Sie können Yenka (kostenlos für den Heimgebrauch) verwenden, um Arduino, PIX, PIXACE und andere Karten mit digitaler, analoger und serieller E / A zu simulieren. Es bietet viele Komponenten und Beispielprojekte.
Bildschirmfoto:
quelle
Ja, Sie können versuchen, mit Proteus ISIS Ihren Code zu simulieren ...
Für die vollständige Emulation von Arduino gibt es ein Shareware-Programm namens VBB (Virtual BreadBoard) , ich habe es auch ausprobiert und es war schön.
Bearbeiten: In meinem ausführlichen Tutorial erfahren Sie , wie Sie mit Proteus ISIS simulieren können
quelle
Ich glaube, diese Website enthält eine Liste von Emulatoren und Simulatoren sowie deren Preis und Verfügbarkeit.
Aktualisieren:
Da einige Benutzer angegeben haben, dass auf dieser Website fehlerhafte Links vorhanden sind, habe ich hier eine Auswahl von Emulatoren gefunden. Beachten Sie, dass einige Beschreibungen möglicherweise dem angegebenen Link entnommen sind:
Emulino : Ist eine Open Source Linux-basierte Software in der frühen Entwicklung, die Arduino-spezifische MCUs emuliert.
Emulare : ist ein Allzweck-Hardware-Emulator. Ziel ist es, eine zentrale Schnittstelle zum Erstellen elektronischer Simulationen für die Entwicklung eingebetteter Software bereitzustellen. Derzeit konzentriert sich emulare auf die ATMega-Linie von Mikrocontrollern (Arduino UNO hat den ATMega-Prozessor).
SimAVR : ist ein neuer AVR-Simulator für Linux oder jede Plattform, die avr-gcc verwendet. Der Simulator lädt ELF-Dateien direkt und es gibt sogar eine Möglichkeit, Simulationsparameter direkt im emulierten Code mithilfe eines .elf-Abschnitts anzugeben. Es unterstützt die Emulation vieler ATMega-Prozessoren und es wird erwähnt, dass es einfach ist, neue Prozessoren hinzuzufügen.
Amtel Studio : Dies scheint den Begriff Emulation nicht zu erwähnen, aber es ist eine ausgefeilte IDE, um Ihren Code für viele Plattformen, insbesondere Arduino, zu debuggen. Atmel Studio 7 bietet einen nahtlosen Ein-Klick-Import von Projekten, die in der Arduino-Entwicklungsumgebung erstellt wurden. Ihre Skizze, einschließlich der Bibliotheken, auf die sie verweist, wird als C ++ - Projekt in Studio 7 importiert. Nach dem Import können Sie alle Funktionen von Studio 7 nutzen, um Ihr Design zu optimieren und Fehler zu beheben. Atmel Studio 7 unterstützt den leistungsstarken integrierten Debugger auf der Arduino Zero-Karte vollständig. Für andere Arduino-Boards sind Shield-Adapter verfügbar, die Debug-Anschlüsse freigeben, oder wechseln Sie zu einem der vielen verfügbaren Xplained-Mini / PRO-Boards, um das Atmel HW-Ökosystem voll auszunutzen.
Sie können weiterhin Simulatoren wie EasyEDA verwenden , um Ihren Code zu testen und in den meisten Fällen auf dem Gerät auszuführen. Beachten Sie jedoch, dass Sie aufgrund der Beschaffenheit elektronischer Komponenten möglicherweise externe Widerstände, Kondensatoren usw. bereitstellen müssen, um die erwarteten Ergebnisse zu erzielen.
quelle
Virtualbreadboard hat eine neue VBB4Arduino 'Two Arduino's'-Edition, die sowohl einen JVM-Arduino-Emulator als auch einen AVR-Befehlssatzsimulator mit Beispielen, die fast alle Beispiele der Arduino-Distribution abdecken, und eine Reihe von Peripherie-Hardware enthält - LCDs, WS2812 Neo LEDS, Motors, Servo's , Logic Analyzer und mehr.
http://www.virtualbreadboard.com
Haftungsausschluss: Ich bin der Autor von Virtual Breadboard
quelle
Probieren Sie Simulator für Arduino aus - es ist das Beste, aber dann sind wir voreingenommen, da wir Teil des Entwicklungsteams sind. Nicht jeder möchte 19,99 USD zahlen, obwohl in den letzten Jahren fast 5.000 Arduino-Benutzer angemeldet waren. Es gibt eine kostenlose Version von Simulator für Arduino, die 45 Tage lang läuft oder 100 Skizzenladungen und maximal 200 Linien. Probieren Sie es aus und kaufen Sie dann, wenn Sie es sich leisten können und / oder wenn es sich lohnt.
Wenn etwas nicht stimmt oder verbessert werden könnte, lassen Sie es uns wissen - alle anderen tun es und haben es. Aus diesem Grund wurde Simulator for Arduino zu 99% aus Benutzerideen und Fehlerberichten erstellt.
Das einzige andere Programm, das wir ausprobiert haben und dessen Qualität nahe kommt, ist Proteus, aber dies ist ein komplettes PCB-Designstudio und scheint sehr teuer zu sein - dh viel mehr als 20 US-Dollar. Wir planen, eine kürzlich erfolgte Benutzeranfrage zu ignorieren, um den Preis auf 200 US-Dollar zu erhöhen.
quelle
Du könntest zB meinen Simulator benutzen. Es ist besonders für SPS-ähnliche Anwendungen geeignet, bei denen Multitasking durch zyklische Auswertung von miteinander verbundenen schaltungsähnlichen Objekten erreicht wird: Timer, Marker, Latches, Oneshots und Register. Sie können damit auch Ihre Regelstrecke simulieren, wie die Beispiele im Download verdeutlichen. Es verfügt über bescheidene Visualisierungskapazitäten, kann Zeitdiagramme zeichnen und ermöglicht es Ihnen, während einer laufenden Simulation auf alle Variablen in Echtzeit zuzugreifen und diese zu ändern. Sie können auch die Zeit einfrieren. Wenn Sie mit dem Verhalten Ihres Steuerelements zufrieden sind, generiert es den C-Code, der auf ein tatsächliches Arduino hochgeladen werden soll.
https://pypi.python.org/pypi/SimPyLC
quelle
Wenn Sie meinen, mit einem Desktop-Computer " Komponententests " durchführen zu können, kann ich eine Bibliothek namens arduino_ci anbieten, die ich geschrieben habe .
Es bietet keine Emulation. Sie würden Ihre Tests in Code ausdrücken. Beispiel: Hier ist ein Test aus der Referenzdokumentation , der die in einen Port geschriebenen Daten überprüft :
In der Praxis würden Sie die
digitalWrite
Funktionen wahrscheinlich nicht direkt aufrufen - Sie würden eine Funktion in Ihrer Bibliothek aufrufen und dann überprüfen, ob der "Weltzustand" (hier durch dasGODMODE
Konstrukt dargestellt) mit dem übereinstimmt, was Sie von Ihrer Bibliothek erwartet haben.quelle
Ja, Sie können und ziemlich leicht. Es gibt eine wunderbare Online-Simulation (völlig kostenlos) namens TinkerCAD . Es verfügt über eine hervorragende Breadboard-Simulation mit Bauteilen wie Transistoren, LEDs, ICs und Arduino. Sie können den Arduino programmieren und alles in einer Live-Simulation ausführen, die interaktive Eingänge (Drucktasten, DIP-Schalter usw.) enthält.
[Bearbeiten: Der folgende Text bezieht sich auf Funktionen, die in Circuits.io verschoben wurden , nämlich Eagle PCB ]
Das ist nicht alles. Es enthält außerdem eine separate Registerkarte mit Schaltplänen für Ihre Schaltung und eine weitere Registerkarte für das PCB-Design Ihrer Steckplatine! Oder Sie können Ihre Schaltpläne einfach von Grund auf neu erstellen und Ihre Leiterplatte von dort aus erstellen.
Sie können Ihre Schaltungsentwürfe machen lassen und Sie können sie kaufen. All dies können Sie in circuit.io tun, und Sie riskieren nicht, Ihr tatsächliches Arduino durcheinander zu bringen. Die Simulation enthält auch Warnanzeigen (z. B. wenn Sie nicht genügend Widerstand für eine LED oder einen IC verwendet haben).
quelle