2016-04-08 28 views
1

私はギャラクシーS5の光センサー情報を読むためにJava & Androidスタジオを使用しています。Android RGB光センサーを読み取る - ギャラクシーS5

public void onSensorChanged(SensorEvent event) { 
      // TODO Auto-generated method stub 

      if(event.sensor.getType()==Sensor.TYPE_LIGHT){ 
      currentReading = event.values[0]; 
//... 

} 

} 

これは私にルックス値を与えます。より多くの情報を得るために、Galaxy S5のRGB光センサーの個々の値を読み取ることは可能ですか?私はサムスンのSDKを見ているが、私はこの情報を(もしあれば)見つけることができない。 更新:3センサデータ[0](ルックスデータ)は200回、1は変更されず、[2]は200と比較可能な値になります。 3 sensor data

+0

私は答えは分かりませんが、 'event.values [1]'に何かチャンスがありますか? –

+0

はい。 3つの値があります(event.values.lengthは3です)。[0]:3.0、[1] 1596.0 [2] 1.0。最初はluxで、2番目はライトで変化します(値1596.0は0ルクス)、3番目のビットは少し小さくなりますが最初のビットに近くなります。 – user3546827

+0

@MattGibson 3つの値は、それらが変化するにつれて光に関連しています。 – user3546827

答えて

1

だけで同様の問題とそこに誰を支援するための答えを投稿:RGBの光センサーとギャラクシーデバイスに返された3つの値があります最も賢明で1ですが、それは時には他から独立して動くことに注意してください:event.values[0], event.values[1] and event.values[2]。公式のAndroidのドキュメントでは、最初のものだけが言及されています。センサーpdf(「TMG3993、ジェスチャー、カラー、ALS、近接センサモジュール、mobeam」、ams Datasheet、Available:http://ams.com/eng/content/view/download/349956)を調べたところ、IRフィルターがあることがわかりました。

したがって、そのセンサーからのRGB情報は、event.values[1]にあります。これは、赤外光でターゲットを絞ったときに変更されない唯一のものです。それはまた、3つの値の中で最も敏感です。

0

私はS5に同じことをしようとしたし、次を発見:

values[0]values[2]はLUX値であるように見えるが、彼らはあまりにも高いです。 純粋なルクスメーターではないがやや信頼性の高いマルチメータールクスメーター(Mastech ms8229)と比較しました。 高い値(1000+)は約2倍で、[0]は常に[2]よりも高かった。 何らかの方法でフィルタリングや正規化/修正が行われているとします。 そして、その不正確さがデバイスごとに異なると仮定すると、キャリブレーションなしでは最高の目安となります。 また、低照度で測定された値は以下のとおりです。マルチメータで測定された50ルクスで、センサーは20と言う。

values[1]はケルビンの明るい色を表すようですが、非常に不正確です。私は2700Kから6500Kまでの光源を私の場所に持っていて、彼らはすべて「OK」と測定されましたが、距離によっては、4000KのPhilips LED電球が3900Kから3600Kまで測定されました。

質問に掲示されているグラフについては、[2]は[1]でなければならず、もう1つは[0]と[2]でなければならず、それが普通の電球で、実際には最大50ルックスになっていた可能性があると仮定すると、目にはまったく問題ありません。それはすべて理にかなっています。

光温度からの重要な注意

あなたには、いくつかのRGB値を計算することができますが、センサーは、光スペクトルの特定の波長に反応し、それが問題であるフォトダイオードを持つことになります。光源に奇数または非常に小さなスペクトル(LED、CFL)がある場合、センサーは太陽光や白熱電球よりも多くオフになることがあります。

誰かがセンサーに直接アクセスする方法を理解できない限り、その値は明るい色とLuxです。

私はさらに窓のペイントをして、画面全体を255赤にして、それを測定し、電話のセンサーを画面に置き、「後方」を計算しようとしました。 255青と緑で同じでしたが、結果は使用できませんでした。

関連する問題