Stap 1: Amarino
Ik ben met behulp van een diepgewortelde HTC inspireren.
Ga naar http://www.amarino-toolkit.net/index.php/download.html voor meer info.
Ik was experimenteren met het geval van de schakelaar te proberen en krijgen van snellere responstijden. doen wat je zelf wil. Er was vroeger een indien verklaring er.
Ik heb eigenlijk gewijzigd iemands code uit het internet, dus sommige dingen arbitrair lijken. (Ik hoop dat ik niet het gebruik van dat woord verkeerd..)
Je gaat hebben om te downloaden van de Amarino bibliotheek voor de Arduino IDE uit hun website.
#include < MeetAndroid.h >
#include < Servo.h >
MeetAndroid meetAndroid;
Servo myservo; Hiermee bepaalt u het stuurwiel
Servomotor; besturingselementen de voor / rev motor
VOID Setup
{
Serial.begin(9600); standaard baud-rate voor bt module
meetAndroid.registerFunction (phoneorient, 'A'); gebeurtenis A in amarino gebruiken
myservo.attach(9); Servo
motor.attach(8); vooruit/achteruit motor
}
void loop
{
meetAndroid.receive(); u moet houden dit in uw loop te ontvangen van gebeurtenissen
}
VOID phoneorient (byte vlag, numOfValues bytes)
{
Telefoon oriëntatie Controller
int waarden [] = {0,0,0};
meetAndroid.getIntValues(values);
U moet de telefoon in landschap houden voor volgende oriëntatie.
dubbele x = waarden [1]; opslaan als een double (lang decimaal getal) x
int y = waarden [2];
int z = waarden [3];
x = (-x); mijn stuurinrichting werd omgekeerd, quick fix
Als (x > 2)
{
myservo.write (105 + (x-2) * 2.5); waarden vastgesteld door trial and error voor mijn auto
}
anders als (x < -2)
{
myservo.write (105 + (x + 2) * 3.571); uniek voor mijn auto
}
anders
{
myservo.write(105); unieke center stuurstelling
}
/ * Als (y > = 7)
{
motor.write(180);
motor.write (90 + 25*(y-7));
} */
schakelaar (y) //tried aan een instructie switch gebruiken zodat de motor was sneller, reverse is een beetje glitchy adviseer ik gebruikend de if statement / / anyways. Als u de if gebruikt, y omzetten in een float/double in plaats van int.
{
Case 9:
motor.write(180);
breken;
zaak 8:
motor.write(150);
breken;
Case 7:
motor.write(120);
breken;
Case 6:
Case 5:
Case 4:
Case 3:
Case 2:
Case 1:
Case 0:
motor.write(90);
breken;
Case -1:
Case -2:
Case -3:
Case -4:
Case -5:
Case -6:
Case -7:
Case -8:
Case -9:
motor.write(30);
breken;
}
/ * anders als (y < 1)
{
motor.write(90-(y-1) *);
motor.write(30);
}
anders
{
motor.write(90);
}*/
}