Étape 1: Amarino
J’utilise un enraciné HTC inspire.
aller à http://www.amarino-toolkit.net/index.php/download.html pour plus d’informations.
Je faisais des expériences avec le cas de l’interrupteur pour essayer d’obtenir des temps de réponse plus rapides. fais ce que tu veux. Il y avait autrefois un if instruction là.
J’ai modifié en fait de quelqu'un code sur internet, donc certaines choses vous sembler arbitraires. (Je l’espère que je n’a pas utilisé ce mot mal..)
Tu vas devoir télécharger la bibliothèque Amarino pour l’IDE Arduino sur leur site Web.
#include < MeetAndroid.h >
#include < Servo.h >
MeetAndroid meetAndroid ;
Servo myservo ; contrôle de la direction
Servo-moteur ; contrôles les pour / rev moteur
void setup()
{
Serial.Begin(9600) ; débit en bauds par défaut pour le module bt
meetAndroid.registerFunction (phoneorient, « A ») ; utilisation de l’événement A à amarino
myservo.Attach(9) ; servo
Motor.Attach(8) ; moteur avant/arrière
}
void loop()
{
meetAndroid.receive() ; vous devez garder ceci dans votre loop() à recevoir des événements
}
void phoneorient (drapeau octets, numOfValues octets)
{
Contrôleur d’Orientation de téléphone
les valeurs int [] = {0,0,0} ;
meetAndroid.getIntValues(values) ;
Vous devez détenir téléphone en paysage pour orientation suivante.
double x = valeurs [1] ; magasin x comme un double (long décimale)
int y = valeurs [2] ;
int z = valeurs [3] ;
x = (-x) ; ma direction a été renversée, quick fix
Si (x > 2)
{
myservo.Write (105 + (x-2) * 2,5) ; valeurs déterminées de tâtonnements pour ma voiture
}
ElseIf (x < -2)
{
myservo.Write (105 + (x + 2) * 3.571) ; unique pour ma voiture
}
d’autre
{
myservo.Write(105) ; poste de pilotage unique centre
}
/ * Si (y > = 7)
{
Motor.Write(180) ;
Motor.Write (90 + 25*(y-7)) ;
} */
commutateur (y) //tried d’utiliser une instruction switch pour que le moteur a été plus rapide, inverse est un peu glitchy je recommande d’utiliser la fi instruction / / toute façon. Si vous n’utilisez pas le cas, changer le y en float/double au lieu d’int.
{
cas 9 :
Motor.Write(180) ;
rupture ;
cas 8 :
Motor.Write(150) ;
rupture ;
cas 7 :
Motor.Write(120) ;
rupture ;
cas 6 :
cas no 5 :
cas 4 :
cas 3 :
cas 2 :
cas 1 :
case 0 :
Motor.Write(90) ;
rupture ;
case -1 :
affaire -2 :
cas -3 :
affaire -4 :
cas -5 :
cas -6 :
affaire -7 :
affaire -8 :
cas -9 :
Motor.Write(30) ;
rupture ;
}
/ * ElseIf (y < 1)
{
Motor.Write(90-(y-1) *) ;
Motor.Write(30) ;
}
d’autre
{
Motor.Write(90) ;
}*/
}