我已经设法使用我的Android应用程序来控制手工制作的玩具车。
我制作的控件是手动驱动,这意味着我通过向arduino发送char来触摸按钮来移动汽车。
现在,我想进入下一个级别并使用加速计传感器。当我倾斜我的手机时,我设法得到x,y,z轴的读数,但我不知道接下来该做什么。
我面临两个选择:
@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");
}
}
}
}
}