Java 加速度传感器在我的玩具车上的应用
我用我的android应用程序控制了一辆手工玩具车 我所做的控制是手动驾驶的,这意味着我通过向arduino发送字符来触摸按钮来移动汽车 现在,我想进入下一个阶段,使用加速计传感器。当我倾斜手机时,我已经获得了x、y、z轴的读数,但我不知道下一步该怎么做 我面临两个选择:Java 加速度传感器在我的玩具车上的应用,java,android,Java,Android,我用我的android应用程序控制了一辆手工玩具车 我所做的控制是手动驾驶的,这意味着我通过向arduino发送字符来触摸按钮来移动汽车 现在,我想进入下一个阶段,使用加速计传感器。当我倾斜手机时,我已经获得了x、y、z轴的读数,但我不知道下一步该怎么做 我面临两个选择: 我是否应该将加速计值发送到arduino,并让arduino决定速度(通过PWM)和要启动的电机 使用android studio比较轴的值,例如,如果x轴大于5,应用程序将向arduino发送一个字符,使汽车以所需速度前进。
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
TextView tvX= (TextView)findViewById(R.id.x_axis);
TextView tvY= (TextView)findViewById(R.id.y_axis);
TextView tvZ= (TextView)findViewById(R.id.z_axis);
Sensor mySensor = sensorEvent.sensor;
if (mySensor.getType() == Sensor.TYPE_ACCELEROMETER) {
float x = sensorEvent.values[0];
float y = sensorEvent.values[1];
float z = sensorEvent.values[2];
last_x = x;
last_y = y;
last_z = z;
tvX.setText(Float.toString(last_x));
tvY.setText(Float.toString(last_y));
tvZ.setText(Float.toString(last_z));
if(last_x > 5f){
if(btSocket!=null){
try
{
btSocket.getOutputStream().write("F".toString().getBytes());
}
catch (IOException e)
{
msg("Error");
}
}
}
}
}