Paso 1: Amarino
Estoy usando un arraigado HTC inspire.
vaya a http://www.amarino-toolkit.net/index.php/download.html para obtener más información.
Yo estaba experimentando con el caso de interruptor para tratar de obtener tiempos de respuesta más rápidos. hacer lo que quieras. solía haber un if declaración allí.
Realmente he modificado de código de internet, por lo que algunas cosas parecen arbitrarias. (Espero que no usé esa palabra mal..)
Vas a tener que descargar la biblioteca Amarino para el Arduino IDE fuera de su sitio Web.
#include < MeetAndroid.h >
#include < Servo.h >
MeetAndroid de MeetAndroid;
Servo myservo; controla la dirección
Motor servo; controles la para / rev motor
void setup()
{
Serial.Begin(9600); tasa de baudios predeterminada para el módulo de bt
meetAndroid.registerFunction (phoneorient, 'A'); Utilice A evento en amarino
myservo.Attach(9); servo
motor.Attach(8); motor delantero/al revés
}
void loop()
{
meetAndroid.receive(); que necesita para mantener esto en el loop() para recibir eventos
}
void phoneorient (bandera de bytes, numOfValues bytes)
{
Control de orientación del teléfono
int valores [] = {0,0,0};
meetAndroid.getIntValues(values);
Deben tener teléfono en paisaje para la siguiente orientación.
doble x = valores [1]; almacenar x como doble (número decimal largo)
int y = valores [2];
int z = valores [3];
x = (-x); mi dirección se revirtió, corrección rápida
Si (x > 2)
{
myservo.Write (105 + (x-2) * 2.5); valores determinados por ensayo y error para mi coche
}
else if (x < -2)
{
myservo.Write (105 + (x + 2) * 3.571); único para mi coche
}
otra cosa
{
myservo.Write(105); puesto de mando de centro único
}
/ * Si (y > = 7)
{
motor.Write(180);
motor.Write (90 + 25*(y-7));
} */
//tried interruptor (y) para utilizar una sentencia switch para que el motor era más rápido, invierta un poco glitchy les recomiendo usar el if instrucción / / ayúdame. Si usted usa el if, tomar y un flotador doble en lugar de int.
{
caso 9:
motor.Write(180);
rotura;
caso 8:
motor.Write(150);
rotura;
caso 7:
motor.Write(120);
rotura;
caso 6:
caso 5:
caso 4:
caso 3:
caso 2:
caso 1:
caso 0:
motor.Write(90);
rotura;
caso -1:
caso -2:
caso -3:
caso -4:
caso -5:
caso -6:
caso -7:
caso -8:
caso -9:
motor.Write(30);
rotura;
}
/ * else if (y < 1)
{
motor.Write(90-(y-1) *);
motor.Write(30);
}
otra cosa
{
motor.Write(90);
}*/
}