Hur man gör en servo ben (5 / 5 steg)
Steg 5: Koden
Detta steg handlar om hur man få ben arbetarMaterial:
Ben & elektronik
Verktyg:
USB-kabel för att ansluta arduino och dator
Dator
Arduino-miljö
Kopiera och klistra in koden i arduino bearbetning miljö. Sedan ladda den på din dator, och se det arbete.
Tryck på den vänstra knappen flytta benet och tryck på höger knapp att flytta benet upp.
Om du öppnar den seriella porten på datorn med arduino ansluten, kan du skicka det "u" att flytta benet upp eller "d" för att flytta den.
Också, statligt av benet ska skrivas i följetong monitor när det är gjort går
Du kan behöva justera några av de vinklar som servo flyttar till att få det att gå där du vill ha det, men du bör vara bra.
Här är koden:
#include < Servo.h > //include servo biblioteket
Servo myservo;
int pos = 0;
int input = 0;
int switchState2 = 0; ställa in växlarna vara utanför initialt
int switchState3 = 0;
void setup()
{
myservo.attach(8); koppla servo till stift 8
pinMode (2, ingång); ställa in växlarna som insatsvaror
pinMode (3, ingång);
Serial.BEGIN(9600); Starta seriell kommunikation
}
void loop() {
input = Serial.read();
switchState2 = digitalRead(2); Läs växlarna för insatsvaror
switchState3 = digitalRead(3); följande berättar arduino
Vad göra om indata ges
om (ingång == 'u') {//if indata är "u"
för (pos = 30; pos < 145; pos + = 1) {//prep att flytta från 30 degreed till 145 grader
myservo.write(POS); faktiskt finns flytta servo
Delay(25);} göra det på 1 grad varje 25 millisekunder
Serial.println ("ben är upp");} skriva ut som benet oss upp
om (ingång == hade ") {
för (pos = 145; pos > = 30; pos-= 1) {
myservo.write(POS);
Delay(25);}
Serial.println ("ben är ner");}
om (switchState3 == låg) {} //if en switch är låg, gör ingenting
annat {för (pos = 30; pos < 145; pos + = 1) {/ / om du trycker, prep för att flytta från 30 till 145
myservo.write(POS); faktiskt flytta servo
Delay(25); } / / göra det 1 grad varje 25 millisekunder
Serial.println ("ben är upp");} Skriv ut det benet är upp
om (switchState2 == låg) {}
annat {för (pos = 145; pos > = 30; pos-= 1) {
myservo.write(POS);
Delay(25);}
Serial.println ("ben är ner");}
}