Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Handy - Wahl des Sensors (https://www.delphipraxis.net/193421-handy-wahl-des-sensors.html)

derseitzer 27. Jul 2017 20:40

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:
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;
mit der globalen Variable: FSensor: TCustomMotionSensor;

Nun möchte ich das gleiche mit dem Inclinometer3D machen also hab ich den Code kurzer Hand umgeschrieben in:
Code:
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;
mit globaler Variable F2Sensor: TCustomOrientationSensor;

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 :/?

arnof 27. Jul 2017 22:25

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.

Ydobon 28. Jul 2017 10:06

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;

Der schöne Günther 28. Jul 2017 10:14

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:
SensorType
dir gefällt. Oft gibt es mehrere Sensoren des gleichen Typs :warn:.

derseitzer 28. Jul 2017 13:16

AW: Handy - Wahl des Sensors
 
Ich habe gerade das gleiche Problem nochmal hier auf dem Forum gefunden - siehe: http://www.delphipraxis.net/177204-x...ml#post1377703

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

Ydobon 28. Jul 2017 13:27

AW: Handy - Wahl des Sensors
 
Ist in der Unit System.TypInfo (F1 z.B.).

derseitzer 28. Jul 2017 13:57

AW: Handy - Wahl des Sensors
 
okay ja da steht bei mir unter anderem: orientation: - inclinometer3D :)

derseitzer 28. Jul 2017 17:43

AW: Handy - Wahl des Sensors
 
Kann nicht wahr sein, dass das nicht funktioniert :(

Rollo62 28. Jul 2017 18:30

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

derseitzer 28. Jul 2017 19:44

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 03:01 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz