![]() |
Handy - Wahl des Sensors
Hallo Leute,
Ich habe schon mehrmals hier die Frage gestellt aber leider noch keine Antwort bekommen: Ich habe ein Sasmsung S7 Edge und ich habe mehrere Apps installiert um zu schauen welche Sensoren sich in meinem handy befinden. Unter diesen Sensoren befinden sich ein Motionsensor (Gyrometer3D) und ein Orientationsensor (Inclinometer3D). Mein Ziel: Vom Inclinometer3D Werte bekommen die nicht 0 sind (denn ich bekomme bis jetzt nur 0-Werte zurück). Wofür?: Ich mmöchte eine 3D Objekt mit den Sensoren drehen und dies ist mit einem Motionsensor nicht so bequem, wie mit einem Orientationsensor. Das Gyrometer3D funktioniert sehr gut hier der Code:
Code:
mit der globalen Variable: FSensor: TCustomMotionSensor;
var
Sensormanager: TSensorManager; Sensors: TSensorArray; Sensor: TCustomSensor; begin //Sphere1.MaterialSource:= Menu.TextureMaterialSource1; Sensormanager := TSensormanager.Current; Sensormanager.Activate; Sensors:= Sensormanager.GetSensorsByCategory(TSensorCategory.Motion); for Sensor in Sensors do if TCustomMotionSensor(Sensor).SensorType = TMotionSensortype.Gyrometer3D then begin FSensor:=TCustomMotionsensor(Sensor); end; FSensor.Start; Nun möchte ich das gleiche mit dem Inclinometer3D machen also hab ich den Code kurzer Hand umgeschrieben in:
Code:
mit globaler Variable F2Sensor: TCustomOrientationSensor;
var
Sensormanager: TSensorManager; Sensors: TSensorArray; Sensor: TCustomSensor; begin //Sphere1.MaterialSource:= Menu.TextureMaterialSource1; Sensormanager := TSensormanager.Current; Sensormanager.Activate; Sensors:= Sensormanager.GetSensorsByCategory(TSensorCategory.Orientation); for Sensor in Sensors do if TCustomOrientationSensor(Sensor).SensorType = TOrientationSensortype.Inclinometer3D then begin F2Sensor:=TCustomOrientationsensor(Sensor); end; F2Sensor.Start; Leider gibt mir das Inclinometer3D bei der Abfrage Label1.Text := FloatToStr(F2Sensor.TiltX); nur 0 zurück, egal wie ich das handy hebe und neige.. aht jemand eine Idee :/? |
AW: Handy - Wahl des Sensors
es gibt bei den Demos die Sensordemo, schau damit mal nach ob der Sensor bei deinem Handy verfügbar ist und ob dort werte zurückkommen.
|
AW: Handy - Wahl des Sensors
Ich habe kein S7, aber bei meinem Handy funktioniert der Code ohne Änderungen. Entweder hat Samsung gespart oder da ist etwas nicht so, wie es sein soll.
Was sagt das S7 denn dazu?
Delphi-Quellcode:
var sensenmann: TSensorManager;
Sensor: TCustomSensor; max, i: Integer; begin sensenmann:=TSensorManager.Current; sensenmann.Activate; max:=sensenmann.Count; for i:=0 to max-1 do begin Sensor:=Sensenmann.Sensors[i]; Memo1.Lines.Add(GetEnumName(TypeInfo(TSensorCategory), Ord(Sensor.Category))); if Sensor.Category = TSensorCategory.Orientation then Memo1.Lines.Add('- '+GetEnumName(TypeInfo(TOrientationSensorType), Ord(TCustomOrientationSensor(Sensor).SensorType))); end; sensenmann.Deactivate; end; |
AW: Handy - Wahl des Sensors
Bei diesem verwirrenden Raussuchen von Sensoren aus einem Pool muss man aufpassen, du nimmst gleich den ersten dessen
Delphi-Quellcode:
dir gefällt. Oft gibt es mehrere Sensoren des gleichen Typs :warn:.
SensorType
|
AW: Handy - Wahl des Sensors
Ich habe gerade das gleiche Problem nochmal hier auf dem Forum gefunden - siehe:
![]() Hier wurde es auch nicht gelöst :/ ich bekomme einfach nur Nullen zurück. Sensoren sind da aber leider nur Nullen als Werte.. sehr schade |
AW: Handy - Wahl des Sensors
Ist in der Unit System.TypInfo (F1 z.B.).
|
AW: Handy - Wahl des Sensors
okay ja da steht bei mir unter anderem: orientation: - inclinometer3D :)
|
AW: Handy - Wahl des Sensors
Kann nicht wahr sein, dass das nicht funktioniert :(
|
AW: Handy - Wahl des Sensors
Hängt vielleicht an der Andridversion. Bei mir hat es mal funktioniert mal nicht.
Könntest als alternative inclinometer aus acceleration selber berechnen |
AW: Handy - Wahl des Sensors
Mein handy sollte so ziemlich auf dem neuesten Stand der Dinge sein, deswegen glaube ich nicht daran, dass es an der Version liegen könnte.
Den Wert aus dem Acceleration zu berechnen funktioniert auch nicht, da er mir ja nur Bewegungswerte gibt... Somit kann ich zum Beispiel ganz am Anfang garnicht sagen, wie das Handy jetzt steht. Beim Inclinometer habe ich Anfangswerte und beim bewegungsmelder eben nicht, der gibt mir ja nur Bewegungen :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz