Control servo över bluetooth (4 / 6 steg)
Steg 4: Ladda upp koden
Här är koden för projektet:
#include
Servo myservo; skapa objekt för att styra en servo servo
maximalt åtta servo objekt kan skapas
int pos = 0; variabel att lagra servo position
int motor = 0;
void setup()
{
Serial.BEGIN(9600); initiera följetong:
myservo.attach(9); tillmäter objektet servo servo på pin 9
Serial.Print ("Arduino kontroll Servo Motor ansluten OK"),
Serial.Print('\n');
}
void loop()
{
om det finns någon följetong, Läs den:
medan (Serial.available() > 0) {
Leta efter nästa giltiga heltal i inkommande seriell ström:
motor = Serial.parseInt();
gör det igen:
POS = Serial.parseInt();
Leta efter radmatningar. Det är i slutet av din mening:
om (Serial.read() == "\n") {
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(15); Waits 15 MS för servo att nå ställning
skriva ut de tre siffrorna i en sträng som hexadecimalt:
Serial.Print ("Data svar:");
Serial.Print (motor, DEC);
Serial.Print (pos, DEC);
}
}
}
för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader
{/ / i steg om 1 grad
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(15); Waits 15 MS för servo att nå ställning
//}
för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader
//{
myservo.write(POS); berätta servo gå för att placera i variabel "pos"
Delay(15); Waits 15 MS för servo att nå ställning
//}
Val = analogRead(potpin); läser värdet i potentiometern (värde mellan 0 och 1023)
Val = karta (val, 0, 1023, 0, 179); skala den att använda den med servo (värde mellan 0 och 180)
myservo.write(val); anger servo skalad värde
Delay(15);