Go Down

Topic: Servos steuern (Read 429 times) previous topic - next topic

danilo01

Hallo, ich bin neu im Bereich microcontroller.

Ich habe ein Arduino Mega, habe die ersten kleinen Lektion hinter mir.

Herz wollte ich versuchen 3 Servos zu steuern.
Bekomme es aber nur, in einem Ablauf nacheinander hin.
Das möchte ich aber nicht.

Es soll so ablaufen wie ein Bein von einem Hexapod.
Vielleicht kann mir jemand tips geben oder vielleicht eine kleine Programm Datei zu Verfügung stellen.

Lg

uwefed

Du mußt die Bewegung des Fußendes von A nach B in keinere Schritte mit Zwischenpunten unterteilen und die Servos dementsprechend steuern.

Grüße Uwe

danilo01

#2
Feb 02, 2013, 03:52 pm Last Edit: Feb 03, 2013, 12:51 am by uwefed Reason: 1
Ich danke Dir für die Antwort.

Da dieses Thema für mich neu ist, brauche ich noch einige Hilfe.
Vieleicht auch Seiten die Brauchbar sind im Netz.
Bin momentar zwar schon per Du mit Frau Google, aber was mir geholfen hat habe ich noch nicht gefunden.

Vieleicht hat jemand einen Prog. Code für mich wie ich anfangen kann.

Das ist momentan der mit dem ich gearbeite habe.

Code: [Select]
#include <Servo.h>

Servo myservo1;  // create servo object to control a servo
Servo myservo2;                // a maximum of eight servo objects can be created
               

int pos = 0;    // variable to store the servo position

void setup()
{
 myservo1.attach(9);  // attaches the servo on pin 9 to the servo object
 myservo2.attach(8);  // attaches the servo on pin 8 to the servo object
}


void loop()
{
 for(pos = 90; pos < 100; pos += 1)  // goes from 0 degrees to 180 degrees
 {                                  // in steps of 1 degree
   myservo1.write(pos);              // tell servo to go to position in variable 'pos'
   delay(15);                       // waits 15ms for the servo to reach the position
 }
 for(pos = 100; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees
 {                                
   myservo1.write(pos);              // tell servo to go to position in variable 'pos'
   delay(15);                       // waits 15ms for the servo to reach the position
 }  
 for(pos = 0; pos < 50; pos += 1)  // goes from 0 degrees to 180 degrees
 {                                  // in steps of 1 degree
   myservo2.write(pos);              // tell servo to go to position in variable 'pos'
   delay(15);                       // waits 15ms for the servo to reach the position
 }
 for(pos = 0; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees
 {                                
   myservo2.write(pos);              // tell servo to go to position in variable 'pos'
   delay(15);                       // waits 15ms for the servo to reach the position
 }
}

Da durch das es ja ein Loop ist, fängt er immer wieder von vorne an.
Aber ich habe noch keinen andern Code gefunden.

lg

Go Up