PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Entfernungsmesser Sharp anstelle von Joystick Poti..



ketteleg
05.01.06, 00:20
Hallo...

bin ein totaler Grünschnable puncto Elektronik. Hier mein Anliegen kurz
und Bündig:

Habe mir einen alten 2nd Hand Joystick besorgt und ihn mal zerlegt.
Der Joystick besteht ja aus 2 x 100 Ohm Potis und wird über das
Gameport mit 5V versorgt.

Nun, dachte ich mir wenn ein poti als widerstand funktioniert geht ja
5V durch und wird zum Beispiel auf 2V verringert - wenn man den
Joystick bewegt - das ganze auf die 4 Achsen.

Dann habe ich mir einen Sharp GP2D12 Distanz-Sensor gekauft und gehofft
das Teil - einfach an Stelle des Pottis zu hänge. - und scheitert es

funktioniert gar nix - nada
Hab schon herumgesucht im Netz (2 Tage :) ) und bin nicht wirklich
fündig geworden.

Will damit ein Pure Data projekt steuern.

Was kann ich tun?

Bin für jede Hilfe dankbar!!

Dank im vorraus

Greetz aus Österreich

retak
05.01.06, 05:05
Schau mal ins Datenballt vom Sharp. Da steht drinne, dass es eine max. Ausgangspannung vom 2.56V hat und Entfernungen zwischen 10 und 80cm misst.

Die Spannungs kann man mit einem Operationsverstarker auf 5V hinbiegen aber sonst weiss ich nicht wie du die Potis durch den Sensor ersetzen willst.

ketteleg
06.01.06, 14:12
auch wenn es wahrscheinlich ziemlicher blödsinn ist
hier ist was ich mir dachte (mit meinem unwissenden elektrohirn)

der poti ist ja ein widerstand - des heisst ich schicke 5V über
das Gameport und der Poti lässt dann nur 3 Volt zb. durch.
Bei PD bekomme ich dann werte von 0 bis 33700 (oder so)
und ich dachte mir dass diese zahlen irgendwie auf 0 bis 5 Volt
zurückzuführen sind.

da dachte ich mir der Entfernungsmesser liefert ja 0.4 volt bis
2.4 volt - also müsste pd wert zwischen 0 und sagen 15000
tut es abe nicht.

wahrscheinlich denke ich ganz falsch!!

danke trotzdem für die antwort

georg

E S
06.01.06, 23:01
Hi,

im klassischen Gameport sitzen Kondensatoren (10µF), die über das Joystickpoti aufgeladen werden. Der PC entlädt die Kondensatoren über einen Transistor und misst die Zeit, die der Kondensator braucht um sich wieder auf eine bestimmte Spannung aufzuladen.

Legt man jetzt eine fixe Spannung an, so kann der PC hardwaremässig nur zwischen viel Spannung und wenig Spannung unterscheiden. Der Joysticktreiber seiht nur entweder sofort aufgeladen = Linksanschlag oder dauert ewig = Joystick ausgesteckt.

Nur der C64 hat einen echten A/D Wandler am Joystickport (für Paddles), der PC kann nur die Ladedauer seiner Kondensatoren messen und die ist durch t=R*C vorgegeben.

Digitale Analogjoysticks benutzen einen Trick. Die können messen, wann der PC die Kondensatoren entlädt, weil da die Spannung am Joystickeingang plötzlich auf 0 geht. Dann warten die abhängig vom Wert den die erreichen wollen und laden den kondensator im gameport schlagartig auf. Der PC hat dann die wartezeit des Joysticks gemessen und somit kann der Joystick den Wert genau steuern. Genauer als es durch langsames laden des Kondesators gehen würde.

Was Du machen kannst ist einen parallelen A/D Wandler an den Druckerport anschließen und den auslesen. Oder Du kaufst einen seriellen A/D Wandler, der ebenfalls an den Druckerport angeschlossen wird und durch ein I²C ähnliches Protokoll ausgelesen wird. Dann wäre z.B. das Meßmodul M232 von ELV intereessant, das wird an die RS232 angeschlossen und lässt sich per ASCII befehlen leicht aus einem selbstgeschriebenen Programm bedienen.

Du kannst aber auch, sofern Du keine schnellen Bewegungen auswerten möchtest einen LDR als Widerstand am Gameport benutzen und den dann über eine LED beleuchten. Deinen Abstandssensor hängst Du dann an die LED und stellt den Wert über die Leuchtstärke am LDR ein. LDRs sind nämlich relativ träge, dafür kannst Du aber auf Spezialhardware verzichten.

Gruß
Elmar

ketteleg
09.01.06, 15:25
hallo

ein großes dankeschön für die ausführliche beschreibung.
werde das mit dem fotowiederstand gleich mal ausprobiern.

- Resultate werden berichtet


mfg
georg kettele