Guten Tag, ich möchte zu Lehrzwecken die Programmierung eines Arduino ohne reale Hardware ermöglichen. Natürlich werden jetzt einige fragen, warum ich keinen realen Arduino verwenden will. Ich habe bereits eine bestehende Simulation, sozusagen ein virtuelles Breadboard, als C#-Anwendung mit circa 10 Eingängen und Ausgängen (Sensoren, Lichtschranken, Aktuatoren, Motoren, etc.). Wenn man diese Anwendung startet, sieht man ein 3D-Modell der mechanischen Teile und eine Tabelle der Ein- und Ausgänge, welche man per Mausklick einstellen und umschalten kann. Jetzt soll diese Simulation aber nicht mehr per Hand gesteuert werden, sondern von einem virtuellen Arduino gesteuert werden, welcher den eigenen Arduino-Sketch ausführt. Der Nutzer soll also sein Steuerungsprogramm in z. B. der Arduino-IDE oder einem Texteditor schreiben und dieses dann auf dem virtuellen Arduino ausführen können. Dieser soll wiederum über eine definierte Eingangs- und Ausgangsliste mit der bestehenden Simulation kommunizieren. Diese Kommunikation ist offen und kann von mir aus über IPC (so was wie Named Pipes) oder auch über Netzwerkprotokolle wie TCP erfolgen. Ich bin schon seit einer Weile am Suchen und habe noch kein ähnliches Projekt gefunden, was mich eigentlich etwas gewundert hat. Ich weiß, dass ich mit QEMU AVR-basierte µC wie den ATmega2560 emulieren kann, aber ich habe überhaupt keinen Ansatz, wie ich damit dann kommunizieren könnte. Beste Grüße
Ob das geeignet wäre, weiß ich nicht. Aber zumindest ein Ansatz, was anders und mehr an Funktionen dabei sein sollte.
Dieter D. schrieb: > Ob das geeignet wäre, weiß ich nicht. Aber zumindest ein Ansatz, was > anders und mehr an Funktionen dabei sein sollte. Schönes Bild aber leider 0 Infos dazu. Ich brauche so was zwar nicht wirklich aber vielleicht wäre es auch für mich eine Überlegung so was zu nutzen, weil klicken geht einfacher als bauen.;) Wäre ergo nett, wenn da mal ein Link zu den Prg. wäre, damit man sich über Kosten / Funktionsweisen etc. informieren kann. Ich und der TO. ;)
Schlaumaier schrieb: > Wäre ergo nett, wenn da mal ein Link zu den Prg. wäre, damit man sich > über Kosten / Funktionsweisen etc. informieren kann. Anbei die Links: https://sourceforge.net/projects/simulide/ https://www.simulide.com/p/home.html?m=1
Dieter D. schrieb: > Anbei die Links: > https://sourceforge.net/projects/simulide/ > https://www.simulide.com/p/home.html?m=1 Fein DANKE. Dann kann ich mich ja mal schlau machen.
Danke schon mal für die Antworten, ich habe etwas mit SimulIDE herumgespielt und das funktioniert eigentlich ganz gut. Ich konnte in der Arduino-IDE einen einfachen Sketch erstellen und dann die Firmware über Sketch > "Export compiled Binary" exportieren und in SimulIDE laden. Das hat dann auch relativ unkompliziert und auch schnell ("fast in Echtzeit") funktioniert. Keine Ahnung, warum ich das Programm selber nicht gefunden habe, danke für den Tipp! Mein eigentliches Problem besteht trotzdem noch, ich müsste die Eingänge des Arduino mit einem externen Programm füttern und die entsprechend berechneten Ausgänge dann wieder lesen können. Da habe ich jetzt direkt keine Möglichkeit gefunden. Ich versuche mal den Autor der Software zu kontaktieren. Die AVR-Simulation basiert offenbar auf simavr (https://github.com/buserror/simavr), wobei ich dachte, dass das nur unter Linux funktioniert. Ich brauche leider auch zwingend etwas, das auch unter Windows läuft. SimulIDE tut das ja, dann muss simavr ja auch laufen. Ich brauche den IDE-Teil des Simulators eigentlich nicht, da ich ja keine Komponenten an den Arduino anschließen will, sondern nur die Eingänge von einem externen Programm setzen will und anschließend lesen will. Die Belegung bleibt also immer gleich. Vielleicht gibt es ja eine Möglichkeit das mit simavr direkt umzusetzen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.