Hallo zusammen,
ich bin gerade über ein interessantes Projekt gestolpert, das ich mit euch teilen wollte.
http://www.codeproject.com/KB/openGL/CircuitEngine.aspx
Und zwar handelt es sich hierbei um ein OpenSource Projekt einer grafischen Simulation eines Schaltkreises auf dem Experimentierboard via OpenGL.
Die Erstellung des Ganzen basiert dabei primär auf der Schaltlogik eines IC's, die vorher per Textdatei definiert werden kann.
OpenGL Visualisierung:
Bild hier
Chip Logik:
Code:
BREADBOARD 20 5 5
CHIP FullAdder 3 2
VOLTAGE 8
GROUND 4
INPUT 1 // ‘INPUT 0’ (BIT1)
INPUT 2 // ‘INPUT 1’ (BIT2)
INPUT 3 // ‘’INPUT 2’ (BIT3)
GATE XOR 2 // ‘XOR 3’
INPUT 0
INPUT 1
END GATE
GATE AND 2 // ‘AND 4’
INPUT 0
INPUT 1
END GATE
GATE XOR 2 output 5 // ‘XOR 5’
XOR 3
INPUT 2
END GATE
GATE AND 2 // ‘AND 6’
XOR 3
INPUT 3
END GATE
GATE OR 2 output 6 // ‘OR 7’
AND 4
INPUT 2
END GATE
END CHIP
Man kann innerhalb der grafischen Oberfläche dann per Keyboard Kabelverbindungen setzen, sowie eine Versorgungsspannung hinzufügen oder LED's. Mehr geht leider noch nicht, da das Projekt in der Entwicklung ist.
Ich fand es ganz interessant und werde vielleicht mal ein paar Sachen verändern im SourceCode, um weitere Bauteile zu integrieren.
Installationshinweis:
Habe das Programm erfolgreich kompiliert mit:
- VC++ Express 2008
Ihr braucht auf der Seite die Datein:
- CircuitEngine_Code_Files_VS6.0 -> VS8.0.zip
- glut-3.7.6-bin.zip
- CESL_CEC_Examples.zip
Glut ist dabei die OpenGL Umgebung die fertig kompiliert als dll vorliegt.
Am Besten, die Datein aus der glut.zip in einen Ordner mit dem Namen "GL" ins Projekt-Verzeichnis entpacken.
Dann in VC noch die glut.lib verlinken.
Hinweis: in der Artist.h wird verlinkt auf:
Code:
#include <GL/glut.h>
Dies musste ich ändern in:
Code:
#include "GL/glut.h";
da VC sonst meckerte.
Nach dem Kompilieren muss die glut.dll noch ins Release/Debug Verzeichnis zur CEngine.exe kopiert werden.
Nun könnt ihr die CESL Datein aus der Examples.zip via der CEngine.exe öffnen und euch die Schaltkreise anschauen.
Bewegen kann man die Bauteile via den Pfeiltasten und per Enter setzt man sie fest. Mit K fügt man Kabel mit L eine LED hinzu. Mit Tab schaltet man durch die Bauelemente.
---
Sieht auf jeden Fall interessant aus zum Weiterentwickeln.
Gruß
Lesezeichen