是否可以在查看相机预览时知道手机指向哪个方向,或者您是否需要让手机像指南针一样平坦.
谢谢
有人可以举例说明如何使用接近传感器吗?我尝试以与其他传感器相同的方式使用它,但它不起作用.
这是我一直在使用的代码片段:
final SensorManager mSensorManager;
final Sensor mproximity;
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mproximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mSensorManager.registerListener(new SensorListener(){
public void onAccuracyChanged(int arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(test.this,"proximity sensor accu ", Toast.LENGTH_SHORT).show();
}
public void onSensorChanged(int arg0, float[] arg1) {
// TODO Auto-generated method stub
Toast.makeText(test.this,"proximity sensor ", Toast.LENGTH_SHORT).show();
}
}, Sensor.TYPE_PROXIMITY, 1);
Run Code Online (Sandbox Code Playgroud)
请告诉我哪里出错了.
我注意到当你用原生相机应用拍照时,它们会出现肖像或风景(应该如此),但是,当我使用相机课程在我的应用中拍照时,无论我怎么样,它们总是风景照相.拿着设备.
我真的希望我不必监控设备的方向并手动旋转图像......是否有一种不那么愚蠢的方法来完成这项工作?
TIA
我正在开发使用SensorManager用于不同目的的Android应用程序.在调查过程中,我发现Sensor.getResolution()函数为不同的设备返回不同的值:
所有板载传感器的HTC Sensation都具有1.0分辨率值.
摩托罗拉XOOM:
3-axis Accelerometer -> 0.009576807
3-axis Magnetic field sensor -> 0.0625
L3G4200D Gyroscope sensor -> 0.0012217305
Linear Acceleration Sensor -> 0.009576807
Gravity Sensor -> 0.009576807
Run Code Online (Sandbox Code Playgroud)
在使用适当的传感器值之前,我是否需要使用此分辨率值进行额外计算尚不清楚.官方文件没有说明它.
任何人都可以向我解释这个"决议"的价值目的吗?
似乎在SDK级别15中已经实现了适用于加速度计/陀螺仪/指南针的传感器融合:
在那个线程上他们引用了android源代码:
"框架/基础/服务/传感器服务:重力,方向和旋转矢量虚拟传感器现在基于融合加速度计/陀螺仪/罗盘读数的卡尔曼滤波器"
但我真的找不到文件夹层次结构"frameworks/base/services/sensorservice:"?!!
有人能帮我吗?非常感谢!
编辑:好的我在android框架源代码中自己找到了它,可以在这里浏览:https://android.googlesource.com/platform/frameworks/native/+/master/services/sensorservice/
我有Arduino Mega和IR发光LED,我想发送数据"Hex Data",我选择使用这个LED,我已经尝试了IRRemote库,我已成功使用IRrecv该类,但在使用时IRsend我没有得到任何信号并试图看通过移动相机的导致
红外线发射器Pin是PWM 3和它已连接到3.3V一次和5V一次
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(40);
}
}
}
Run Code Online (Sandbox Code Playgroud)
并为接收者:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
} …Run Code Online (Sandbox Code Playgroud) 我在android中做一个应用程序.该应用程序在数据库中保存了一些引号,我想使用手机的传感器在屏幕上滑动引号.所以我希望当手机向左移动时,我可以在屏幕上看到下一个报价,当我将手机向右移动时,在屏幕上看到之前的报价.您认为哪种类型的传感器手机更好用?我正在尝试使用Type_orientation但我有错误:在API级别8中不推荐使用此常量.如何将其替换为SensorManager.getOrientation().或者你认为还有其他传感器对我来说更好吗?
package com.example.prova1;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
public class SlideQuote extends Activity implements SensorEventListener
{
//a TextView
private TextView quote;
private TextView author;
//the Sensor Manager
private SensorManager sManager;
float x;
int id;
int total;
String s1,s2;
Database quotedatabase = new Database(this);
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.slide_quote);
//get …Run Code Online (Sandbox Code Playgroud) 我制造了一个由Arduino和Processing控制的机器人,它通过自身旋转(如球体)在房间内移动.
我需要的是能够在地板上移动后获得新位置(假设在一个3米x 3米的房间内).我正在使用9DOF传感器(3轴加速度计数据,3轴陀螺仪和3轴磁数据)来确定其滚转,俯仰和偏航以及它的方向.
如何准确识别机器人在笛卡尔坐标(x,y,z)坐标相对于其起始位置的位置?我不能使用GPS,因为每次旋转运动少于20厘米,机器人将在室内使用.
我找到了一些室内测距和3D定位解决方案,如pozyx或使用固定相机.但是我需要它具有成本效益.
有没有办法转换9DOF数据以获得新位置或任何其他传感器来做到这一点?任何其他解决方案,如算法?
robotics artificial-intelligence arduino sensor sensor-fusion
我正在为我的PI制作一个传感器包.我已经添加了Sparkfun的TMP102温度传感器.在GPIO上,它由引脚1供电,在引脚6上接地,引脚3和5处理串行数据.我写了一个python脚本来读取数据,一切正常.
我的问题是我现在想在GPIO上添加第二个传感器,BMP085压力传感器也在Sparkfun的分线板上.我发现的接线示例表明它需要挂接到与TMP102相同的GPIO引脚.它们都应该注册为串行设备,但我不确定如何将所有内容连接在一起.
我是一个内心的程序员,所以连接电子产品让人感到紧张.:-)
任何建议将不胜感激.
谢谢.
底层数据集由传感器生成.每6秒钟,每个传感器发送一个信号,识别范围内的所有人(有FOB).无视人员,典型数据如下所示:
SensorID timestamp
2 2015-08-04 09:56:32
2 2015-08-04 09:56:38
2 2015-08-05 18:45:20
3 2015-08-04 09:54:33
3 2015-08-04 09:54:39
3 2015-08-04 09:57:31
3 2015-08-04 09:58:09
3 2015-08-04 09:58:15
3 2015-08-04 09:58:33
3 2015-08-04 09:58:39
Run Code Online (Sandbox Code Playgroud)
我想将此转换为具有开始和结束时间的事件,其中来自相同传感器(和fob)的连续信号被认为是相同事件的一部分,如果它们相隔小于60秒.
因此上述测试数据将转换为:
SensorID startTime endTime sensorCount duration
2 2015-08-04 09:56:32 2015-08-04 09:56:38 2 6 secs
2 2015-08-05 18:45:20 2015-08-05 18:45:20 1 0 secs
3 2015-08-04 09:54:33 2015-08-04 09:54:39 2 6 secs
3 2015-08-04 09:57:31 2015-08-04 09:58:39 5 68 secs
Run Code Online (Sandbox Code Playgroud)
我有适用的代码.
# identify the ends of sequences
lastKeep …Run Code Online (Sandbox Code Playgroud) sensor ×10
android ×6
arduino ×2
direction ×1
gpio ×1
gyroscope ×1
infrared ×1
orientation ×1
proximity ×1
r ×1
raspberry-pi ×1
robotics ×1
time-series ×1