Der fertige Joystick

Der fertige Joystick

Dies ist ein Projekt von 2004, auf der alten Schatenseite war es ausführlich beschrieben. Da gab es noch ein paar Bilder mehr, dazu Schaltpläne und eine Beschreibung wie ich den Tastaturcontroller analysiert habe.

Der PS/2-Anschluss von damals ist heutzutage obsolet. Mittlerweile würde ich so ein Projekt auf Basis von Mikrocontrollern machen, und dann per USB an den Rechner gehen. Deshalb lasse ich die Einzelheiten in der Vergangenheit und stelle das Projekt hier nur kurz vor.

Seinerzeit habe ich mich für MAME interessiert, den Multi Arcade Machine Emulator. Damit konnte man — man kann immer noch — auf einem PC die alten Spielhallenklassiker spielen. Eine Tastatur lässt aber nicht das authentische Feeling aufkommen, und so habe ich mir was gebastelt.

Ein Vogelnest

Ein Vogelnest

Die Joysticks waren eigentlich Zubehör für eine Sega Dreamcast Konsole. Ich habe die originale Elektronik rausgeworfen und stattdessen einen Controller aus einer PC-Tastatur implantiert. Dazu musste ich herausfinden wie die Matrix der Tastatur aufgebaut war, und die nötigen Kontakte dann mit den Mikroschaltern im Joystick verbinden. Gar nicht so kompliziert, eigentlich.

Die Kontakte für den zweiten Spieler habe ich auf einen Stecker gelegt, über ein Kabel das eigentlich für eine serielle Schnittstelle gedacht war konnte ich den zweiten Joystick anschliessen. Zusätzlich habe ich eine Y-Weiche gebastelt, damit ich neben den Joysticks auch noch eine richtige Tastatur anschliessen konnte. Irgendwie will so ein PC ja auch bedient werden.

Das Ergebnis war vom Aufbau her nicht schön, aber es hat funktioniert. :-D

Mittlerweile habe ich keinen PC mehr mit einer PS/2-Schnittstelle. Einen Joystick habe ich schon zerlegt und einer anderen Verwendung zugeführt. Aber das ist eine andere Geschichte, und die soll ein anderes Mal erzählt werden…

Siehe auch…

  • MAME – Die offizielle Seite des Arcade-Emulators
  • xMAME – Die Unix- bzw. Linux-Version
  • ArcadeControls – Tips und Anleitungen zum Selbstbau

Gestern habe ich auf Twitter gelesen dass es im Zabbix-Share ein Modul gibt mit dem man das Monitoring-Tool meiner Wahl — Zabbix — direkt auf einen Arduino zugreifen lassen kann: Zabbuino nennt sich das.

Komischerweise habe ich letzte Woche erst überlegt wieviel Aufwand es wohl sein mag, das Zabbix-Protokoll nachzuimplementieren. Ich bastele zur Zeit wieder mal mit dem WLAN-fähigen Chip ESP8266 herum, den hatte ich hier auch schon erwähnt. Damit lassen sich prima Messwerte einsammeln, und das schreit dann nach Zabbix. Mein erster Ansatz war, Messdaten per HTTP zur Verfügung zu stellen. Die werden dann von einem Skript periodisch abgeholt und per zabbix_send eingespeist. Wesentlich eleganter wäre es natürlich, Zabbix direkt auf den Sensor zugreifen zu lassen…

Es wäre also wirklich mal einen Versuch wert, das Zabbuino-Modul in Verbindung mit einer kleinen ESP8266-Platine zu testen, die kann man auch fuer deutlich unter fünf Euro kaufen. Oder hat das schon jemand ausprobiert?

Da ich das letzte Woche aber noch nicht kannte habe ich schon einen dritten Weg eingeschlagen. Noch viel besser, wie ich finde. Das ist aber eine andere Geschichte, und die soll ein anderes Mal erzählt werden…

Nachgemessen

Nachgemessen

Vor einer Weile hat mich jemand auf WeMos aufmerksam gemacht. Das sind kleine Entwicklungsplatinen, ähnlich wie Arduino. Im Gegensatz zu dem befindet sich darauf allerdings kein kleiner AVR-Controller, sondern der deutlich schnellere ESP8266 — mit dem ich ja in anderer Bauform auch schon rumgespielt habe. Dementsprechend funken die kleinen auch im WLAN. Da die WeMOS-Boards direkt per USB an den Rechner angeschlossen werden können entfällt das Gefummel mit RS232-Konvertern und 3,3V Versorgungsspannung, und programmiert wird komfortabel über die Arduino-IDE.

Sehr interessant ist die Mini-Variante. Dabei muss man zwangsläufig an das Buzzword Internet of Things denken. :-)

Für den Mini gibt es auch direkt ein Shield mit einem DHT22. Das ist ein Sensor mit dem man digital Temperatur und Luftfeuchtigkeit auslesen kann. Solche Messknoten will ich schon seit langem im Haus verteilen, und diese Boards sehen so aus als ob sie dafür gemacht sind. Der Wemos und das Shield kosten jeweils rund 4,50 Euro, so ist das auch ein bezahlbarer Spaß.

Abweichung je nach Anordnung

Abweichung je nach Anordnung

Die Programmierung war — Arduino-typisch dank der vielen Bibliotheken — nicht allzu schwer, so hatte ich nach kurzer Zeit einen funktionierenden Messknoten, samt der Messwerte im Zabbix.

Aber die Temperaturen waren verblüffend. Im Wohnzimmer ist es warm, aber nicht über 28°C. Nanu?

Das Infrarot-Thermometer hat mir dann verraten dass der WeMos stellenweise bis zu 32°C warm wird, und die Temperatur im DHT etwa 7°C über Raumtemperatur. Und richtig genug: wenn ich mein Platinen-Sandwich senkrecht positioniert habe waren es dank der Luftzirkulation nur noch 5°C zu viel. Mit dem Shield direkt neben dem WeMos — also nicht als Sandwich — waren es nur noch 2°C. Vielleicht hätte ich für den Versuch auch dünnere Drähte nehmen sollen. Vernünftige Werte habe ich erst bekommen als ich den Sensor thermisch komplett von dem WeMos entkoppelt habe, durch etwa 10cm Draht. :-(

Also: gute Idee, leider nicht ganz zu Ende gedacht. Von den WeMos-Boards werde ich mir wohl noch ein paar zulegen, aber die Sensoren kommen dann wohl in freier Verdrahtung zum Einsatz. Und vielleicht durch ein Gehäuse vom ESP getrennt…

Oh, eine andere Möglichkeit wäre vielleicht, die Sensoren aktiv zu machen. Bei mir werden die zur Zeit passiv abgefragt, per HTTP. Dazu müssen sie natürlich durchgehend im Netz sein. Wenn die sich beispielsweise nur alle fünf Minuten aktivieren und dann zum Beispiel per MQTT ihre Werte abliefern hätten sie vielleicht gar keine Zeit um sich aufzuheizen… und vielleicht würde diese Variante eh mehr Sinn machen. Schon allein wegen des Stromverbrauches (der im Moment übrigens bei 70mA am USB-Port liegt). Mal sehen…

Erwähnt hatte ich dieses Projekt schon mal, es stammt vom November 2012. Aus mir nicht nachvollziehbaren Gründen habe ich es aber nie vorgestellt. Das reiche ich hiermit nach.

Dass ich ein ausgeprägtes Interesse an Tastaturen habe muss ich hier wohl nicht nochmal betonen. :-)

So finden sich in meiner Sammlung auch zwei ältere Apple-Tastaturen. Zum einen ist da ein — tatsächlich ganz ordentliches — Apple Extended Keyboard II. Gebaut wurden die von 1990 bis 1994, und Enthusiasten zufolge ist das die beste Tastatur die Apple je verkauft hat, sicherlich nicht zuletzt weil da anständige Alps-Schalter drin sind.

Noch origineller — und in meinen Augen ein typisches Apple-Produkt — ist das Apple Adjustable Keyboard von 1993. Typisch Apple? Wie gesagt, in meinen Augen: sie war teuer, und vor allem ist das Aussehen wichtiger als die Benutzbarkeit. Pfeiltasten gibt es zur Not noch ohne die kleine Erweiterung, aber ich persönlich würde weder auf Funktionstasten noch auf Navigationstasten (Anfang, Ende, Seite hoch, Seite runter) verzichten wollen. Und hat man die Erweiterung angeschlossen muss man schon einen ziemlich langen Arm machen um zur Maus zu greifen… :-/

Wie auch immer: ausprobieren wollte ich beide, und da ich selbst bei der Arbeit keinen Zugriff auf einen Rechner habe an dem die funktionieren würden — Apple hat den Apple Desktop Bus 1999 sterben lassen — musste ein Konverter her. Sowas kann man kaufen. Muss man aber nicht.

Dank eines japanischen Entwicklers der auf geekhack.org als hasu bekannt ist, auf Github als tmk. Der hat die TMK Keyboard Firmware Collection veröffentlicht. Das ist eine Firmware die auf verschiedenen AVR-basierten Plattformen lauffähig ist, in erster Linie ist das wohl der Teensy 2.0. Die Firmware kann verschiedene Tastatur-Protokolle sprechen. In die eine Richtung natürlich USB, für den Anschluss an einen modernen Rechner. In die andere Richtung unter anderem PS/2, Sun, oder eben Apple Desktop Bus. Dabei bietet die Firmware eine Reihe von Features mit denen man auch alten Tastaturen programmierbare Makros, Media-Tasten oder Maussteuerung beibringen kann.

Leider hatte ich keinen Teensy zur Hand. Wohl aber die Teile um was kompatibles zu bauen, sowie die Ausstattung um eine passende Platine zu ätzen. Also erstmal KiCad angeworfen und ein minimales Schaltbild, sowie ein Platinenlayout gezaubert:

(Die Dateien die dabei entstanden sind bräuchten etwas Pflege, daher veröffentliche ich die hier nicht. Aber mit den beiden Bildern dürfte es nicht schwer sein das bei Bedarf nachzuvollziehen.)

ADB USB Konverter

ADB USB Konverter

Das Resultat ist mit etwa 2x5cm wirklich winzig geworden, aber: es funktioniert!

Mit einem gekauften Konverter hätte man vielleicht auch die Maus benutzen können, aber mal ehrlich: da zieht wohl auch ein hartgesottener Fanboy was modernes ohne Kugel vor. Obwohl: ich hatte vor einer Weile die Gelegenheit mal etwas mit System 7.5 (dem zeitgenössischen Betriebssystem für die beiden Tastaturen) rumzuspielen, und da hat das Adjustable Keyboard deutlich zur Authentizität beigetragen… :-D

Diesen Text habe ich aus dem alten CMS kopiert, ich glaube er war von 2004. Hier nur nochmal damit er nicht vollends verloren geht.

Hierbei handelt es sich um ein Gerät aus eigener Fertigung. Ich habe es im Jahr 2000 gebaut. Im Prinzip geht es um eine Schaltung, die ein Blitzgerät auslösen kann. Und zwar gesteuert durch eine Lichtschranke oder wahlweise ein Mikrofon.

Man kann mit diesem Gerät Vorgänge fotografisch einfrieren, für die das menschliche Auge zu träge beziehungsweise die Reaktionszeit des Fotografen und der Kamera zu lang ist. Das geht indem man den Verschluß der Kamera in einem abgedunkelten Raum öffnet, und einen Foto-Blitz durch diese Schaltung auslösen läßt. Mit einer Belichtungszeit von bis zu einer 100.000stel Sekunde kann der Blitz das Geschehen einfrieren, die Kamera sieht nur den Moment in dem der Blitz leuchtet.

Als sehr Hilfreich in Verbindung mit dieser Technik hat sich der Einsatz einer Digitalkamera erwiesen. Bei meinen ersten Versuchen (‚Ein Keks fällt in eine Schale Milch‘) hatte ich die noch nicht, an dem Abend sind von 36 analogen Aufnahmen etwa sieben Stück ‚was geworden‘.

Was kann es?

Eine Münze fällt in eine Schale mit Wasser

Eine Münze fällt in eine Schale mit Wasser

Es kann wie gesagt durch einen optischen oder akustischen Impuls einen Blitz auslösen. Der optische Impuls wird durch eine Lichtschranke, bestehend aus einem Laser (aus einem Laserpointer) und einer Fotozelle, erfaßt. Der akustische Impuls durch ein Mikrofon.

Die beiden Sensoren verfügen über jeweils eine Empfindlichkeitsregelung. Den optischen Kreis kann man wahlweise direkt steuern lassen, oder über eine Verzögerungsschaltung. So kann der Blitz auch einen Moment nach dem Unterbrechen der Lichtschranke gezündet werden.

Die Auswahl der möglichen Motive ist grenzenlos. Klassische Fälle für die Lichtschranke sind Gegenstände die in Flüssigkeiten fallen, oder die Flüssigkeiten an sich wenn sie durch den Laser plätschern. Mit dem Mikrofon lassen sich zum Beispiel platzende Luftballons oder Glühbirnen ablichten.

Warum?

Ich weiß gar nicht mehr, wie ich damals dazu gekommen bin dieses Gerät zu bauen. Sicher ist nur, daß es eine Anregung aus dem Internet war.

Auf der HiViz-Seite gibt es eine Bauanleitung für Hochgeschwindigkeits-Equipment. Ich habe diese als Anregung genommen, mit ein paar Schaltungen aus den 30x-Büchern (Elektor) verfeinert, und das Ergebnis in ein schickes Gehäuse eingebaut. Letzteres hauptsächlich um meine Verbrechen an der Leiterplatte zu vertuschen… ;-)

Ich habe tatsächlich mehrere Tage mit mir gerungen, aber ich fürchte dass die Vernunft gesiegt hat: ich werde mir wohl keinen PiDP-8/I kaufen. Nicht weil ich keinen haben wollen würde. Einfach weil ich in letzter Zeit eine Menge andere Ideen für Spielzeug habe, und (leider?) sind die meisten anderen sinnvoller… :-(

Was es ist? Nüchtern betrachtet ist PiDP-8/I ein Gehäuse für den Raspberry Pi.

Mit etwas mehr Enthusiasmus ist es die Replik eines Bedienteils einer Digital PDP-8, so wie sie in den sechziger Jahren eingesetzt wurde. Einschliesslich der Kippschalter und der Blinkenlights die seinerzeit für die Inbetriebnahme der PDP gebraucht wurden. Und da es einen offenbar brauchbaren Emulator für den Raspberry gibt kann man mit dem Gehäuse tatsächlich erfahren wie es gewesen ist so einen Rechner zu bedienen — wenn man davon absieht dass Programme vom USB-Stick geladen werden statt von einem Lochstreifenleser… :-)

Ich muss nicht erwähnen dass ich ein Faible für Emulatoren habe. Oder dass ich auch gerne mal auf ungewöhnlicher Hardware programmiere. Wie gesagt: ich habe wirklich mehrere Tage gebraucht um mich von dem Kauf abzuhalten…

Useless Machine

Useless Machine

Meine Useless Machine hatte ich hier nie vorgestellt. Dabei habe ich die vor über einem Jahr schon fertig gemacht. Eine einfache Version, mit einem umgebauten Modellbauservo als Motor und einem einfachen Wechselschalter. Keine weitere Elektronik. So wie hier oder hier beschrieben.

Das Konzept sollte mittlerweile jeder kennen: man schaltet die Maschine ein, ein Arm (bzw. in meinem Fall: ein Finger :-) ) kommt heraus und schaltet wieder aus.

Mechanik

Mechanik

Es gibt jede Menge mehr oder weniger aufwändige Variationen davon. Einer meiner Favoriten ist die Advanced Edition, seht Euch das Video an! :-D

Jetzt habe ich die Annoying Machine kennengelernt. Sie wird als ‚evil cousin‘ der Useless machine vorgestellt, und ich glaube das trifft es ziemlich gut: man sieht an der Kiste nur eine LED und einen Schalter. Der natürlich zum Einschalten einlädt. Alles ist ruhig solange sich niemand davon in Versuchung führen lässt. Dann fängt der Kasten an Radau zu machen — woraufhin man wohl schnell wieder abschalten möchte. Der Schalter ist aber ein Kippschalter der auch elektronisch gesteuert werden kann, und damit schaltet sich die Radaukiste automatisch wieder ein. Der einzige Weg nachhaltig für Ruhe zu sorgen ist, die Kiste in die Luft zu werfen. Das merkt der eingebaute Beschleunigungssensor, und damit bereitet die Elektronik dem Generve ein Ende…

Mein Umfeld würde mich hassen… aber wenn ich mal irgendwo günstig an so einen Schalter gerate… :twisted: