| Temperaturmessung am Gameport |
|
|
| Mittwoch, 12. November 2008 um 08:42 | ||||
|
Nach den ersten Versuchen, mit dem Gameport meinen Gaszähler auszulesen, interessierten mich nun die “analogen” Eingänge am Gameport. Diese messen allerdings keine Spannung, sondern einen Widerstand. Kann man damit die Außentemperatur messen?
Die AnschlüsseDie Anschlüsse für Potentiometer, die gewöhnlich in Joysticks verbaut werden, um die Position des Steuerknüppel zu ermitteln, sind folgende: An PIN1 liegen 5V, da kommt das eine Ende der Potentiometer ran. Die Messung erfolgt am Gameport intern über Kondensatoren, die abhängig vom angelegten Widerstand verschieden schnell entladen werden. Damit mißt man also nicht direkt den Widerstand, sondern die Zeit, die es braucht, eine bestimmte Triggerschwelle zu erreichen, um daraus auf den Widerstand rückzuschliessen. Typische Potentiometer, die in Joysticks verbaut werden, haben einen Widerstand von 100KOhm. Der FühlerDa ich noch einen PT1000-Temperaturfühler rumliegen hatte, hab ich ihn testweise angeschlossen. Zwar sind diese Fühler sehr linear und genau, aber mit 15EUR verflucht teuer. Wenn ich was neues hätte kaufen müssen, würde ich mich für andere Sensoren und Meßmethoden entscheiden. Das ProgrammWieder ein kleiner Auszug aus meinem C-Programm. Adresse 0×201 ist der Gameport. /* Lesevorgang initialisieren */ Die Messung an den analogen Pins startet man, indem man eine null in die Adresse schreibt. Dadurch gehen die Pins auf eins. Achtung! Ich habe festgestellt, dass zwischen den einzelnen Lesezyklen ein wenig Zeit vergehen sollte, sonst haben die Kondensatoren nicht genügen Zeit, wieder aufgeladen zu werden und man verfälscht die Messung. Das ErgebnisAuch hier werte ich die Meßergebnisse mit mySQL aus und erstelle über jpgraph ein hübsches Bild für den hauseigenen Webserver. Das war der Temperaturverlauf am Ostersamstag, den 7.4.07.
|
||||
| Aktualisiert ( Montag, 12. Januar 2009 um 07:16 ) | ||||

