Vor längerer Zeit habe ich mal ein Projekt angefangen: Die Impbox. Ich habe immer mal wieder in längeren Abständen daran gearbeitet: Ein Prototyp ist entstanden und eine Softwareversion, die die wichtigsten Aufgaben die geplant waren, implementiert. Weiterlesen
Archiv der Kategorie: Impbox
Das Kind brauchte einen Namen!
Das Kind brauchte einen Namen, und zwar dringend: Zum einen habe ich die Hoffnung das Projekt irgendwann auf hackaday einzureichen (wenn ich stolz drauf sein kann), zum anderen ist es einfacher ist mir die Idee zu sehr ans Herz gewachsen, um namenlos zu bleiben.
Also Impbox. In Terry Pratchetts Romanen sitzen Imps, also kleine süsse Dämonen in Ikonographen und malen furchtbar unkreative, aber genaue Bilder der Wirklichkeit. Also nicht ganz dass, was die Impbox machen soll, aber zumindest grob. Und wenn es schon einen Namen gibt, dann auch ein Ordnersymbol: 5 Minuten in Paint und fertig, also mir gefällts.
Gedanken über LCDs
Ganz kurz nur zusammengefasst einige Erkenntnisse:
Schlecht: Das LCD bei jedem Programmzyklus löschen und neu beschreiben. Das dauert ca. 1,64ms, also eine kleine Ewigkeit. Folge: Das Display wird blass und flackert.
Gut: Das Display immer dann löschen, wenn sich etwas darauf ändern wird. Bei mir am Ende der Hauptroutine. Weiterlesen
Zwischenstand
So, das LCD läuft jetzt endlich, nachdem ich eine Routine zusammengehackt habe um es zu initialisieren. Glücklicherweise lässt sich die XLCD-Routine von Microchip für den Rest verwenden, bis auf einzelne Steuerbefehle.
Mittlerweile habe ich mich entschlossen einen Design-Freeze bei der Pinbelegung zu machen. Dabei habe ich schweren Herzens die Pins an Port A für die Knöpfe herangezogen. Später wird es also schwer Analogsignale einzulesen, höchstens gemultiplext mit den Knöpfen, was ich aber nicht schön finde.
Nach Murphys Law habe ich natürlich erst hinterher bemerkt, dass RA2 keinen Interrupt auslöst. Jetzt wird eben im 1ms Raster gepollt (gleichzeitig mit dem Update der Echtzeituhr). Aber wenn es weiter nichts ist…
Ziele für Version 1.0
Da die Version 0.9 schon einmal den Auslöser betätigen konnte hier die Ziele für die Version 1.0
1.Funktionen:
- Intervalometer: Eine bestimmte Vorlaufzeit warten, dann im Abstand von x Sekunden ein Bild machen, insgesamt n Bilder lang.
- Langzeitbelichtung: Den Verschluss für x Sekunden offen halten. Eine Zeitspanne warten, um der Kamera Rechenzeit zur Rauschunterdrückung zu geben („Totzeit“), wiederhole das ganze n mal.
2. MMI – Mensch-Maschine-Interface:
- Rückmeldung über ein Alphanumerisches LCD. Das ganze mit möglichst verständlichen Texten.
- Bedienung über Drei Tasten: Links/Minus, Rechts/Plus, Enter. Die Tastenfunktion wird in der zweiten Displayzeile dargestellt.
- Es existiert eine klare, einfache Menüstruktur.
Hier schon mal ein erster Entwurf eines Menüs. Mal sehen, wie sich das in real anfühlt. Aber dazu gehe ich erstmal die nächste Baustelle an: Die Ansteuerung des LCD.
Hallo Welt!
Worum geht es hier? Kurz gesagt um ein Intervalometer. Das ist ein Stück Hardware das eine Kamera in regelmäßigen Abständen auslöst. Das ist z.B. für Time-Lapse-Aufnahmen recht nützlich, oder wenn man mit dem Selbstauslöser mehrere Bilder auf einmal machen will, die länger als 300ms auseinander liegen, so wie das bei „Dauerfeuer“ mit der DSLR der Fall ist.
Warum bauen und nicht kaufen? Es gibt auf Ebay zwar Batteriegriffe die die Intervallometerfunktion bieten für ca. 50-100€. Intervallometer, auch gute kosten so ab 60€. Also ein Preis, der einen Selbstbau mit mindestens 30€ Materialkosten nicht unbedingt rechtfertigt. Warum dann selbst machen? Because we can. Das Projekt ist für mich ein guter Einstieg in die Mikocontroller-Programmierung: Im einfachsten Fall wird ein Pin zu einem definierten Zeitpunkt auf Masse gezogen, das wars. Alle weiteren Funktionen lassen sich Schicht für Schicht darumbasteln. Und zusätzliche Features lassen sich mehr als genug denken…
(Bild: ein erster Test mit der Selbstaulöser-Buchse der 450D)