Stap 3: Code
U code wijzigen deze code te regelen van motoren of dat de servo's zijn nauwkeuriger op waar ze bewegen, maar dit is alleen voor een voorbeeld, zodat jullie beginnen kan, als u wijzigen of gebruiken van deze code aub vermelding me in dat ik schreef de meeste code behalve dat Nick Poole schreef de pols gedeeltelijk te maken.
RC PulseIn Serial voorgelezen door: Nick Poole
uitgebreide door Jason Mclaughlin
2015
#include < Servo.h > / / voor servo in voorbeeld
Servo myservo; Servo entiteit
int pos = 0; positie-servo
int ch1; Hier is waar we houden onze kanaalwaarden
int ch2;
int ch3;
void setup {myservo.attach(9);
pinMode (5, INPUT); Onze input pinnen als zodanig instellen
pinMode (6, INPUT); pinMode (7, INPUT);
Serial.begin(9600); Giet een kom voor Serial
}
void loop {}
CH1 = pulseIn (5, hoog, 25000); Lees de pulsbreedte van
CH2 = pulseIn (6, hoog, 25000); elk kanaal
H3 = pulseIn (7, hoog, 25000);
Serial.Print ("kanaal 1:"); Afdrukken van de waarde van
Serial.println(CH1); elk kanaal
Serial.Print ("kanaal 2:");
Serial.println(CH2);
Serial.Print ("kanaal 3:");
Serial.println(CH3);
Als ((ch3 > = 1500) & & (ch3 < = 1600)) {/ / het midden positie voor controller
Serial.println("between");
POS = 90; //set servo wilt centreren
myservo.write(POS); ingesteld op pos die 90 is
}
else {}
Serial.println ("niet tussen");
voor (pos = 0; pos < 180; pos += 1) / / gaat van 0 graden tot 180 graden
{/ / in stappen van 1 graad
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(1); wacht 1ms voor de servo te bereiken de positie
}
voor (pos = 180; pos > = 1; pos-= 1) / / gaat van 180 graden tot 0 graden
{
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(1); wacht 1ms voor de servo te bereiken de positie
}
}
delay(100); Ik zet dit hier gewoon om de terminal
venster gelukkiger
}