Ab und an muss mal ein Prototyp her
Klar, wenn man etwas entwickelt, will man ja so schnell wie möglich fertig werden, aber ab und an ist es ganz praktisch, wenn man Teile seiner Ideen schonmal testen kann. Genau das habe ich mir bei meiner aktuellen Hardwarentwicklung gedacht und erstmal nur den Mikrocontrollerteil nachgebaut. Als Bonus habe ich an die Datenleitungen ein paar LEDs drangehängt, um zu sehen, ob das, was ich mir ausgedacht habe, auch wirklich so funktioniert. Der Mikrocontroller-Teil wird per USB Stack an den PC gehängt, weshalb ich auf dem Prototypen erstmal einen USB Bootloader installiert habe. Damit ist es mir möglich, Programme auch ohne ISP Programmiergerät auf den Prototypen einzuspielen und das sogar ohne spezielle Treiber auf der PC Seite. Der nächste Schritt ist die Implementierung einer Firmware, die ein Custom-Gerät simuliert und die ich dann mit einem kleinen Programm über einen USB Treiber ansprechen kann. Hört sich einfach an – ist es bestimmt auch, aber ich brauche dafür wohl noch ein Weilchen
.
Das ist jedenfalls der momentane Aufbau:
Mein kleines Netbook samt USBasp Programmiergerät (links unten) und dem Prototypen (links oben).
Neuer Spielkram
In den letzten Monaten habe ich mir einiges an komischen Zeug für diverse Projekte bestellt. Zu einem meiner Projekte zählt ein “Super 8 Digitizer”, also eine Vorrichtung, mit der man Super 8 Filme digitalisieren kann. Klar, man könnte einfach den Film an die Leinwand projizieren und dann abfilmen, das Problem ist aber dabei, dass ein Super 8 Film mit 18 fps läuft und eine Digitalkamera die Bilder mit 25 fps aufnimmt. Dadurch, dass die Kamera schneller läuft, bekommt man ein Flimmern im Bild, das zumindest mich stört. Selbst wenn die Kamera gleich schnell wie der Projektor läuft, müsste man beide perfekt miteinander synchronisieren, was so ohne weiteres nicht möglich ist.
Meine Idee ist es deshalb, jeweils Einzelbilder mit einer Digitalkamera / Webcam aufzunehmen und dann später wieder einen Film daraus zu erzeugen. Ein Problem ist bei diesem Projekt der Projektor. Hier muss man sich die Frage stellen, ob man lieber einen alten Projektor umbaut oder sich einen neuen besorgt und durch Zufall bin ich über folgenden Projektor gestolpert:
Japp, ziemlich viel Plastik, aber dafür nagelneu und läuft mit LED. Er bietet sich jedenfalls sehr für einen Umbau an.
Zur Steuerung habe ich überlegt, wie man am besten und einfachsten eine Ansteuerung hinbekommen kann. Dazu fällt mir natürlich sofort ein Mikrocontroller samt Schrittmotor ein, aber diesmal wollte ich nicht erst einen eigenen kleinen Prototypen selbst bauen, sondern gleich auf etwas fertiges setzen, also fiel die Wahl auf einen Arduino Uno. Den kann man günstig bei Watterott bekommen und man kann ihn auch spielend leicht programmieren.
Zusätzlich zum Arduino Uno habe ich mir noch gleich ein Ethernet-Shield dazugeholt, da ich anfangs die Bilder auch gleich per Netzwerk auf einem Server ablegen wollte, allerdings habe ich das Modell mittlerweile schon wieder verworfen, da ich die Digitalkamera nicht mehr mit dem Arduino ansteuern werde, denn die Ansteuerung der Kamera wird von einem von mir programmierten, kleinen Programm erfolgen, das eine Logitech C910 Webcam ansteuert. Auch wenn sich Webcam direkt schon nach Qualitätsverlust anhört, trifft das auf diese Webcam nicht zu, denn sie hat eine Auflösung von 10 Megapixel und liefert HD Qualität. Die Ansteuerung ist dadurch auch ziemlich einfach.
Im Prinzip habe ich also schon alles zusammen, was ich für den Digitizer benötige, jetzt fehlt mir nur noch die Zeit dafür
.
USB-ZXJoy – diesmal ein Joystick Konverter
Im vorigen Blogeintrag habe ich ja schon beschrieben, dass ich mit USBasp ein Atmel Programmiergerät zusammengebastelt habe und da es gerade so viel Spaß gemacht hat, an USB Geräten herumzubasteln habe ich gleich mal weitergemacht und mir als nächstes einen Joystickkonverter gebaut. Mit diesem Joystickkonverter kann ich nun digitale Joysticks (z.B. die meines Amstrad CPCs) per USB an einen PC anschliessen. Und hier ist ein Bild des Lochrasterplatinenaufbaus (noch ohne 9 polige D-SUB Stecker, die muss ich noch bestellen
):
Einen ersten Test habe ich natürlich schon durchgeführt und es funktioniert soweit alles. Dank dem umständlichen Aufbau auf Lochrasterplatine habe ich diesmal gelernt, dass Kupferlackdraht doch komfortabler ist und ich das wohl in Zukunft doch endlich mal mehr einsetzen werde. Ein nächstes Projekt steht schon an, mal schauen, ob ich vielleicht schon über Ostern dazu komme, daran zu arbeiten.
USBasp: Atmel Programmer selbst gebaut
Was tun, wenn einem langsam die Druckerschnittstellen ausgehen, um seine Mikrocontroller mit dem Parallelport Programmieradapter noch zu programmieren? Klar, da muss eine Alternative her, die mit USB klarkommt. Also entweder so ein Ding bereits fertig kaufen oder halt selbst bauen. Nach ein wenig Suchen habe ich die Schaltpläne für das USBasp Programmiergerät gefunden und habe, da ich die Bauteile sowieso in der Gegend rumfliegen hatte, am Wochenende das Ding auf einer Lochrasterplatine einfach mal nachgebaut. Dabei herausgekommen ist folgendes Programmierboard:
Das Board funktioniert, nachdem ich bei dem Streifenrasterboard eine Verbindung zwischen Pin 15 und Pin 16 am ATMega8 vergessen hatte (musste unterbrochen werden), einwandfrei und ist wesentlich schneller als die Parallelport Version. Beim nächsten Mal würde ich mir allerdings wahrscheinlich nicht mehr die Arbeit mit der Lochrasterplatine machen, sondern gleich eine Platine belichten und ätzen. Das hätte mir sicherlich etwas Zeit gespart.
Siemens S55 Handykamera zum verbasteln
Da ist sie ja, die die Handykamera für das Siemens S55, die ich für gerade mal 3 EUR (1 EUR + 2 EUR Versandkosten) ersteigern konnte. Der Sinn dahinter ist eigentlich ganz einfach: Die Kamera kann per RS232 gesteuert werden und bietet sich deshalb für die Verwendung mit einem Mikrocontroller, bei mir speziell das Pollin-AVR Board, an. Das Protokoll wurde bereits im Mikrocontroller.net Forum auseinandergenommen und einige haben es geschafft, die Kamera zum laufen zu bekommen. Weitere Infos gibt es auf einer slowakischen Seite, die für mich allerdings nur bedingt nützlich sind, da ich die Sprache nicht spreche
.
Die Kamera kann übrigens Bilder in den Auflösungen 160x120 und 640x480 schiessen. Meine derzeitige Idee wäre es, eine über einen Servo gesteuerte Webcam mit dem Pollin-Net-IO Board zusammenzubauen, die z.B. mehrere Bilder nacheinander machen kann, um ein Panoramabild zu erzeugen. Mal schauen, ob dafür mal genug Zeit da ist oder ob es bei Spielereien an einer RS232 Schnittstelle meines Desktop-PCs bleibt.
Kleiner Tipp: Die Schrauben sind beim Zerlegen der Kamera speziell unten links schlecht erreichbar. Ein einfaches Verbiegen des darüberliegenden Bauteils hat mir geholfen die Schraube zu lösen und damit die Kamera zu zerlegen. Hier ein paar Bilder der Kamera: