Stap 2: programmeren
op newtonlabs
String readString;
#include < Servo.h >
Servo myservo; maken van servo-object om te bepalen van een servo
Servo myservo2; tweede servo-object maken
Const int links = 10; de linker motor pin op de arduino
Const int rechts = 9; rechts van de motor de pin op de arduino
VOID Setup {}
Serial.begin(9600);
Serial.println("servo-test-22-Dual-input"); zodat ik kan bijhouden van wat wordt geladen
}
void loop {}
terwijl (Serial.available()) {}
char c = Serial.read(); krijgt van één byte van seriële buffer
readString += c; maakt de tekenreeks readString
delay(2); langzaam in een lus om de buffer te vullen met volgende teken
}
Als (readString.length() > 0) {}
Serial.println(readString); Zo kunt u de vastgelegde tekenreeks
Als (readString == "l") / / acfivates links servo alleen
{
myservo.attach(Left); schrijven van zowel aan linker motor
myservo2.attach(Left);
}
Als (readString == 'r') / / juiste servo alleen activeert
{
myservo.attach(right); schrijven van zowel aan linker motor
myservo2.attach(right);
}
Als (readString == 'b') / / activeert beide motoren
{
myservo.attach(Left); schrijven naar de linker motor
myservo2.attach(right); schrijven naar de juiste motor
}
int n = readString.toInt(); readString converteren naar een getal
auto select juiste waarde, gekopieerd van iemand elses code.
Als (n > = 500)
{
Serial.Print ("microseconden schrijven:"); seriële weergeven
Serial.println(n); nummer
myservo.writeMicroseconds(n); schrijfbewerkingen naar poorten
myservo2.writeMicroseconds(n);
}
anders
{
Serial.Print ("het schrijven van hoek:"); seriële weergeven
Serial.println(n); nummer
myservo.write(n); schrijfbewerkingen naar poorten
myservo2.write(n);
}
readString = ""; lege volgende invoerfilter
}
}