Hallo ich wollte mal fragen ob es eine Art Lichtsensor Matrix gibt.
Ich habe mir das so vorgestellt das man eine ca 10*10cm große
Fläche hat wo überall Lichtsensoren verteilt sind, wo man dann mit einem
Laserpointer drauf zielen kann, und man einen Wert bekommt wie weit der
Laserpunkt von der Mitte entfernt ist. (Zielscheibe)
ich wüsste jetzt nicht, das es sowas fertig gibt, aber du könntest dir ja ein array aus phototransistoren im multiplexbetrieb löten...
ja habe ich mir auch schon überlegt das selber zu bauen
kannst du mir einmal genauer erklären was du mit
"array aus phototransistoren im multiplexbetrieb " meinst
ich verstehe nur Bahnhof XD
Wenn es um eine Zielscheibe geht, wo nur die Entfernung zur Mitte, aber nicht die genaue Trefferposition benötigt wird, ginge das vermutlich sogar ohne multiplexen.
Man baut die Zielscheibe in der Mitte z.b. mit 4 Fototransistoren, die alle auf dem gleichen digitalen Eingang liegen, egal welcher Transistor getroffen wird, er setzt den Eingang auf HIGH.
Das gleiche macht man mit X Fototransistoren die als Ring um die Mitte angeordnet sind, die wieder gemeinsam auf einen zweiten digitalen Eingang geschaltet werden. Jenachdem wieviele Ringe man baut, braucht man mehr oder weniger Pins. Wählt man diese noch so geschickt aus, das z.B. die 8 verwendeten Pins (1x Mitte plus 7 Ringe) auf einem der Input-Ports liegen, muss man nur ein Byte einlesen und kann anhand des Wertes (0,1,2,4,8,16,..,128) sofort erkennen ob und wenn ja welcher Ring getroffen wurde.
Wird die genaue Trefferposition benötigt, dann muss man vermutlich eine Matrix bauen. Also z.b. 10 x 10 Fototransistoren die man dann aber nicht mehr direkt abfragen kann, da man keine 100 Eingänge hat. Das Prinzip ist aber das Gleiche wie bei diversen X x Y Tasten-Matrix Tutorials: Arduino Playground - KeypadTutorial
Wenn man es geschickt anstellt, bekommt man mit 8 Bit (8 digitalen Pins / 4x Reihe und 4 x Spalte) eine 16*16 Matrix ausgelesen. Das wären dann 256 Fototransistoren und schon eine recht ordentliche Zielscheibe.
die idee mit den ringen ist auch ganz gut, alternativ könnte man vermutlich auch mit weniger pins auskommen, wenn man die analogen pins auswertet und an die phototransistoren verschieden starke spannungen anlegt, dabei sollte aber entweder ein starker laserpointer gewählt werden oder aber die spannungen gute differenzen aufweisen (welche genau müsste man sicher mal austesten) da der transistor vielleicht nicht immer voll durchschaltet. meine idee mit dem multiplex betrieb von den transistoren wäre in etwa die gleiche wie beim multiplexen von LED-Displays, du schaltest in sehr hoher frequenz immer eine zeile deines sensorarrays an (spannung an eine reihe der phototransitoren anlegen) und fragst per software ob in dieser zeile einer der transistoren beleuchtet ist (und somit einen strom leitet, also einen input pin auf high zieht), danach machst du das gleich für die nächste zeile (spannung von der vorherigen runter nehmen, auf die zweite zeile drauf schalten), so hast du in kurzer zeit mehrere zeilen abgefragt und weißt nun welche phototransistoren in welcher zeile beleuchtet waren, so kannst du mit 20 pins 10x10, also 100 phototransistoren beschalten... aber die keypad-variante scheint mir da geschickter zu sein. der unterscheid dieser varianten dürfte sein, das mit meiner variante auch mehrere stellen "gleichzeitig" getroffen werden können, was bei der keypad-variante nicht gehen sollte. "gleichzeitig" ist allerdings relativ, der lichtpuls muss dafür länger als die multiplexzeit sein, wenn du also mit 5ms pro zeile 10 zeilen multiplext muss der lichtblitz 50ms lang sein um mit sicherheit erkannt zu werden.
Das Problem das ich beim multiplexen sehe ist, das die "Beschussdauer" länger sein muss, als ein kompletter Durchlauf durch alle Zeilen und Spalten. Je länger der Beschuss aber dauert, desto größer ist die Gefahr das durch das natürliche Zittern/Wackeln des Schützen wieder mehrere Stellen getroffen werden können.
Das typische Problem aller Fotografen, bei welcher Belichtungszeit man noch unverwackelte Bilder hinbekommt.
Eine weitere Idee wäre die Verwendung einer Laserdiode, die keinen Punkt, sondern ein Kreuz liefert (gibts bei Ebay für wenige Euro aus China). Dann braucht man keine gefüllte Matrix mehr, sondern nur noch den äußeren Rand. Wird ein Punkt innerhalb der Matrix getroffen, bekommt man 4 Punkte am Rand (auf jeder Seite einen), aus denen man recht einfach die Koordinate des Mittelpunktes (Schnittpunkt) berechnen kann. Man braucht aber für eine 10x10 Matrix keine 100, sondern nur 40 (bzw. eigentlich nur 36) Fototransistoren, ohne an Genauigkeit zu verlieren.
Ich bin mir gerade nicht sicher (und hab ferner gerade nicht die zeit meine tafel mit nem beweis voll zu kleistern), aber müsste man bei der kreuz-methode nicht noch ein paar bedingungen an kreuz und rand stellen? also spontan fällt mir ein das rotationen des kreuzes ein wenig kompliziert werden könnten, sofern das kreuz nicht rechtwinklig ist oder das ziel nicht quadratisch und ferner der treffpunkt nicht die exakte mitte ist... ansonsten ist die idee nicht schlecht, fordert aber sicher ein bisschen trigonometrie im vorfeld. und das mit der beleuchtungszeit sehe ich weniger kritisch, ich könnte mir vorstellen das eine multiplexzeit von 50ms für alle 10 zeilen unproblematisch wäre (man könnte mal reaktionszeiten von phototransistoren aus datenblättern kramen, aber hauke-peters darf ja auch noch was zu tun haben), das wäre dann eine zwanzigstel sekunde, was durchaus üblichen belichtugnszeiten entspricht, ich habe auch schon (sichtbare)LED-Matritzen testweise mit einer millisekunde pro zeile laufen lassen, war auch machbar, führt zu einer hundertstel sekunde pro 10 zeilen... einen versuch wäre es sicher wert. da die zielzone mit 10x10 transistoren aber auch ziemlich klein ist, könnte man beide ideen verknüpfen und so per multiplexing einen viel größeren rand erzeugen...
Also, unter der Annahme das das Kreuz rechtwinklich ist, ist es egal ob das Ziel quadratisch oder "nur" ein Rechteck ist. Auch wenn das Kreuz verdreht ist, macht das nix da es immer nur eine Drehung um den Mittelpunkt ist. Der Rest ist einfache Geometrie, bzw. simple Realschulmathematik. Aus den jeweils gegenüberliegenden zwei Punkten bekommst Du die "Steigung" beider lienarer Funktionen. Der Rest ist die einfache Berechnung des Schnittpunktes beider Geraden. Wenn das Kreuz nicht gedreht ist, ist es noch einfacher. Dann geben die Randpunkte (je zwei sind ja dann identisch) gleich die Koordinate an.
50ms sind wie Du schon schreibst eine 20stel Sekunde und das bekommt man als Fotograf nicht mehr aus der Hand geschossen, bzw. können das nur wenige. Bis zu einer 60stel geht wohl noch so. Da man aber vom ungünstigsten Fall ausgehen muss, würde ich eher 10ms als sinnvoll ansehen.
Mario.