Das Programm "Dynamic Drop-Control" befindet sich zur Zeit noch in der Entwicklungsphase. Es wird dazu dienen, die Einstellungen für ein Mikrocontroller-Board vornehmen zu können, um damit in der Lage zu sein, Fotos von Wassertropfen zu machen, wenn Sie in eine Flüssigkeit eintauchen und dadurch die verschiedensten Gebilde/Figuren entstehen.
Um eine Kamera, und alles was noch dazu notwendig ist (Blitze, Magnetventile etc.), genau in diesen Momenten auslösen zu können bedarf es einer genauen Zeitsteuerung im Millisekundenbereich. Dieses ist ohne technische Hilfsmittel nur sehr schwer zu realisieren und man wird eine große Menge an Fotos haben, die nicht zu gebrauchen sind.
Damit dieses nicht passiert und ich eine große Trefferquote an brauchbaren Bildern erhalte, werde ich ein Arduino Uno bzw. ein Arduino Micro verwenden, um damit sämtliche Geräte zeitlich exakt aufeinander abgestimmt steuern zu können.
Ein erste funktionierende Version ist nun fertig gestellt! Damit ist es bereits möglich, sämtliche Aktionen, die notwendig sind, dynamisch anzulegen. Das heißt es gibt keine Beschränkungen auf eine bestimmte Anzahl von "Modulen" bzw. Aktionen. Unter einem Modul verstehe ich das jeweilige Hardware-Teil (z.B. ein Blitz, ein Magnet-Ventil etc.) und eine Aktion ist eine bestimme Funktion, die man mit diesem Modul ausführt.
Die Konfigurationen können gespeichert werden, so dass man sie später ohne großen Aufwand wieder herstellen kann. Diese gespeicherten Konfigurationen beinhalten alle Informationen, die notwendig sind.
Alle Daten und Werte, mit denen das Programm arbeitet, werden in einer SQL-Server Datenbank (kein Access und keine BDE) abgelegt. Ich denke aber auch darüber nach, diese Daten alternativ/wahlweise in Datei-Form (XML Format) ablegen zu können. Das werde ich aber erst in Angriff nehmen, wenn das Programm in meinen Augen einen Stand erreicht hat, mit dem ich zurfrieden bin.
Wie ist das Programm aufgebaut?
Das Programm an sich unterteilt sich grob gesagt in zwei unterschiedliche Bereiche. Den erste Bereich kann man als "Stammdaten" bezeichnen. Dort werden alle Daten abgelegt, die sich nur sehr selten ändern.
Als erstes werfen wir mal einen Blick in die "Programm-Einstellungen".
In den "Programm-Einstellungen" werden allgemeine Einstellungen für die Software vorgenommen. Ich denke mal, dass die meisten der Einstellungen an dieser Stelle klar sind. Die wichtigste Einstellung hier ist die Einstellung, welches Steuergerät von der Software verwendet werden soll und an welcher COM Schnittstelle es angeschlossen ist. Da sich diese Einstellung nicht sehr oft ändern dürfte, habe ich die Auswahl des Steuergerätes in die Programm-Einstellungen aufgenommen. Die Steuergeräte selber, die manan dieser Stelle in der Liste angezeigt bekommt, kann man selber pflegen.
Als nächstes definiert man seine Kamera, mit der man die Fotso machen möchte. Dazu klickt man im Menü auf den Button "Kameras" und es erscheint eine Liste aller Kameras, die man in der Software definiert hat.
Zu jeder Kamera werden bestimmte Daten der Kamera abgelegt, die für die spätere Steuerung beim Fotografieren der Tropfen benötigt werden (Auslöseverzögerung, Auslösezeit). Mit der Auslösezeit ist die Zeit gemeint, die man mindestens benötigt, bis die Kamera auslöst und ein Foto macht.
Die Dauer der an der Kamera eingestellten Belichtungszeit, wird später an anderer Stelle erfolgen.
Als nächstes gibt es die Daten zu den Microcontroller-Boards. Um sich diese Daten anzeigen zu lassen klickt man im Hauptmenü auf den Button "Arduino-Boards".
Wenn man in der linken Tabelle ein Arduino-Board auswählt, bekommt in der rechten Tabelle die Digital und Analogen Ports des jeweiligen Microcontroller-Boards angezeigt!
Man kann die Liste der Arduino-Boards selber pflegen und so nur die Boards hier in der Liste belassen, mit denen man auch selber arbeitet. Neue Boards können natürlich auch hinzugefügt werden. dazu klickt man einfach auf den Button "Hinzufügen".
Beim Speichern des Boards werden die Digital und Analogen Ports des Boards gleich mit angelegt. Der Type des Boards ist nur für den "Simulator For Windows" interessant und wird nicht benötigt wenn man den Simulator nicht verwendet. Auf den "Simulator For Windows" werde ich an anderer Stelle noch eingehen.
Der nächste Bereich ist nun die Liste der Steuergeräte, den man durch klicken des Buttons "Steuergeräte" öffnen kann.
Wenn man auf der linken Seite ein Steuergerät auswählt kann man auf der rechten Seite eine Liste der Anschlüsse sehen, die dieses Steuergerät besitzt. In der Spalte Typ kann man sehen, ob es sich bei dem Anschluss um einen Eingang ("E") oder einen Ausgang ("A") handelt. Zudem wird hier auch dem Anschluss der benuttzte Port auf dem Microcontroller-Board zugewiesen.
Der letzte Bereich in den Stammdaten sind die sogenannten Modul-Typen. Unter einem Modul-Typ verstehe ich den typ der Hardware-Komponente, die man an das Steuergerät anschliessen kann. Wenn man sich die LIste in dem folgenden Screenshot ansieht, sollte eigentlich klar sein, was damit gemeint ist.
Diese Liste der Modul-Typen ist natürlich auch komplett flexibel und man kann die Module so anlegen wie man selber gerne hätte.
Dieses sind alles Einstellungen, die sich in der Regel nur sehr selten ändern. Diese Stammdaten wird man dann später bei der eigentlichen Konfiguration der Steuerung immer wieder vorfinden.
Aber man kann durchaus schon erkennen, dass diese Software im Grunde genommen komplett flexibel ist und man sich die Daten so anlegen kann, wie man es gerne hätte.
Stand: 04. Februar 2014