Vielleicht stehe ich auf dem Schlauch, aber warum ist das dann immer false?
Ich dachte, die Schleife bricht ab, sobald die Abbruchbedingung true ist...
wenn dem so wäre, würde die Schleife von pos=90 bis zur abbruchbedingung pos=45 gehen...und der code danach einfach weiterlaufen...
Hier ist aber mal der komplette Sketch:
#include <Servo.h>
Servo s1; //1Longditude;
Servo s2; //1Altitude;
Servo s3; //1Footup;
Servo s4; //1Footdown;
Servo s5; //2Longditude;
Servo s6; //2Altitude;
Servo s7; //2Footup;
Servo s8; //2Footdown;
Servo s9; //3Longditude;
Servo s10; //3Altitude;
Servo s11; //3Footup;
Servo s12; //3Footdown;
Servo s13; //4Longditude;
Servo s14; //4Altitude;
Servo s15; //4Footup;
Servo s16; //4Footdown;
Servo s17; //5Longditude;
Servo s18; //5Altitude;
Servo s19; //5Footup;
Servo s20; //5Footdown;
Servo s21; //6Longditude;
Servo s22; //6Altitude;
Servo s23; //6Footup;
Servo s24; //6Footdown;
int pos1 = 45; //Leg1
int pos2 = 90;
int pos3 = 90;
int pos4 = 90;
int pos5 = 135; //Leg2
int pos6 = 90;
int pos7 = 90;
int pos8 = 90;
int pos9 = 45; //Leg3
int pos10= 90;
int pos11= 90;
int pos12= 90;
int pos13= 135; //Leg4
int pos14= 90;
int pos15= 90;
int pos16= 90;
int pos17= 45; //Leg5
int pos18= 90;
int pos19= 90;
int pos20= 90;
int pos21= 135; //Leg6
int pos22= 90;
int pos23= 90;
int pos24= 90;
void setup()
{
s1.attach(1); //Leg1
s2.attach(2);
s3.attach(3);
s4.attach(4);
s5.attach(5); //Leg2
s6.attach(6);
s7.attach(7);
s8.attach(8);
s9.attach(9); //Leg3
s10.attach(10);
s11.attach(11);
s12.attach(12);
s13.attach(13); //Leg4
s14.attach(14);
s15.attach(15);
s16.attach(16);
s17.attach(17); //Leg5
s18.attach(18);
s19.attach(19);
s20.attach(20);
s21.attach(21); //Leg6
s22.attach(22);
s23.attach(23);
s24.attach(24);
}
void loop() {
s1.write(pos1); //Leg1
s2.write(pos2);
s3.write(pos3);
s4.write(pos4);
s5.write(pos5); //Leg2
s6.write(pos6);
s7.write(pos7);
s8.write(pos8);
s9.write(pos9); //Leg3
s10.write(pos10);
s11.write(pos11);
s12.write(pos12);
s13.write(pos13); //Leg4
s14.write(pos14);
s15.write(pos15);
s16.write(pos16);
s17.write(pos17); //Leg5
s18.write(pos18);
s19.write(pos19);
s20.write(pos20);
s21.write(pos21); //Leg6
s22.write(pos22);
s23.write(pos23);
s24.write(pos24);
delay(50);
Instructor:
int upsidedown = 1; //für Forum: nicht wundern, ist noch nicht fertig, :)
Modus1: //Vorwärts
if (upsidedown =1){
for ( pos2= 90; pos2 == 45; pos2 -= 1){ //Leg1
pos1 += 1;
pos3 -= 1;
s1.write(pos1);
s2.write(pos2);
s3.write(pos3);
delay(50);}
for ( pos2= 45; pos2 == 90; pos2 += 1){
pos1 += 1;
pos3 += 1;
s1.write(pos1);
s2.write(pos2);
s3.write(pos3);
delay(50);}
for ( pos6= 90; pos6 == 135; pos6 += 1){ //Leg2
pos5 -= 1;
pos7 += 1;
s5.write(pos5);
s6.write(pos6);
s7.write(pos7);
delay(50);}
for ( pos6= 135; pos6 == 90; pos6 -= 1){
pos5 -= 1;
pos7 -= 1;
s5.write(pos5);
s6.write(pos6);
s7.write(pos7);
delay(50);}
for ( pos10= 90; pos10 == 45; pos10 -= 1){ //Leg3
pos9 += 1;
pos11 -= 1;
s9.write(pos9);
s10.write(pos10);
s11.write(pos11);
delay(50);}
for ( pos10= 45; pos10 == 90; pos10 += 1){
pos9 += 1;
pos11 += 1;
s9.write(pos9);
s10.write(pos10);
s11.write(pos11);
delay(50);}
for ( pos14= 90; pos14 == 135; pos14 += 1){ //Leg4
pos13 -= 1;
pos15 += 1;
s13.write(pos13);
s14.write(pos14);
s15.write(pos15);
delay(50);}
for ( pos14= 135; pos14 == 90; pos14 -= 1){
pos13 -= 1;
pos15 -= 1;
s13.write(pos13);
s14.write(pos14);
s15.write(pos15);
delay(50);}
for ( pos18= 90; pos18 == 45; pos18 -= 1){ //Leg5
pos17 += 1;
pos19 -= 1;
s17.write(pos17);
s18.write(pos18);
s19.write(pos19);
delay(50);}
for ( pos18= 45; pos18 == 90; pos18 += 1){
pos17 += 1;
pos19 += 1;
s17.write(pos17);
s18.write(pos18);
s19.write(pos19);
delay(50);}
for ( pos22= 90; pos22 == 135; pos22 += 1){ //Leg6
pos21 -= 1;
pos23 += 1;
s21.write(pos21);
s22.write(pos22);
s23.write(pos23);
delay(50);}
for ( pos22= 135; pos22 == 90; pos22 -= 1){
pos21 -= 1;
pos23 -= 1;
s21.write(pos21);
s22.write(pos22);
s23.write(pos23);
delay(50);}
int pos1 = 135;
int pos5 = 45;
int pos9 = 135;
int pos13 = 45;
int pos17 = 135;
int pos21 = 45;
for ( pos22= 90; pos1 == 135; pos22 += 0){ //Movement
pos1 += 1;
pos5 -= 1;
pos9 += 1;
pos13 -= 1;
pos17 += 1;
pos21 -= 1;
s1.write(pos1);
s5.write(pos5);
s9.write(pos9);
s13.write(pos13);
s17.write(pos17);
s21.write(pos21);
delay(50);}
{ goto Instructor; }}
else{
for ( pos2= 90; pos2 == 135; pos2 += 1){ //Leg1
pos1 += 1;
pos4 -= 1;
s1.write(pos1);
s2.write(pos2);
s4.write(pos4);
delay(50);}
for ( pos2= 45; pos2 == 90; pos2 -= 1){
pos1 += 1;
pos4 += 1;
s1.write(pos1);
s2.write(pos2);
s4.write(pos4);
delay(50);}
for ( pos6= 90; pos6 == 45; pos6 -= 1){ //Leg2
pos5 -= 1;
pos8 += 1;
s5.write(pos5);
s6.write(pos6);
s8.write(pos8);
delay(50);}
for ( pos6= 135; pos6 == 90; pos6 += 1){
pos5 -= 1;
pos8 -= 1;
s5.write(pos5);
s6.write(pos6);
s8.write(pos8);
delay(50);}
for ( pos10= 90; pos10 == 135; pos10 += 1){ //Leg3
pos9 += 1;
pos12 -= 1;
s9.write(pos9);
s10.write(pos10);
s12.write(pos12);
delay(50);}
for ( pos10= 45; pos10 == 90; pos10 -= 1){
pos9 += 1;
pos12 += 1;
s9.write(pos9);
s10.write(pos10);
s12.write(pos12);
delay(50);}
for ( pos14= 90; pos14 == 45; pos14 -= 1){ //Leg4
pos13 -= 1;
pos16 += 1;
s13.write(pos13);
s14.write(pos14);
s16.write(pos16);
delay(50);}
for ( pos14= 135; pos14 == 90; pos14 += 1){
pos13 -= 1;
pos16 -= 1;
s13.write(pos13);
s14.write(pos14);
s16.write(pos16);
delay(50);}
for ( pos18= 90; pos18 == 135; pos18 += 1){ //Leg5
pos17 += 1;
pos20 -= 1;
s17.write(pos17);
s18.write(pos18);
s20.write(pos20);
delay(50);}
for ( pos18= 45; pos18 == 90; pos18 -= 1){
pos17 += 1;
pos20 += 1;
s17.write(pos17);
s18.write(pos18);
s20.write(pos20);
delay(50);}
for ( pos22= 90; pos22 == 45; pos22 -= 1){ //Leg6
pos21 -= 1;
pos24 += 1;
s21.write(pos21);
s22.write(pos22);
s24.write(pos24);
delay(50);}
for ( pos22= 135; pos22 == 90; pos22 -= 1){
pos21 -= 1;
pos24 -= 1;
s21.write(pos21);
s22.write(pos22);
s24.write(pos24);
delay(50);}
int pos1 = 135;
int pos5 = 45;
int pos9 = 135;
int pos13 = 45;
int pos17 = 135;
int pos21 = 45;
for ( pos22= 135; pos1 == 135; pos22 += 0){ //Movement
pos1 += 1;
pos5 -= 1;
pos9 += 1;
pos13 -= 1;
pos17 += 1;
pos21 -= 1;
s1.write(pos1);
s5.write(pos5);
s9.write(pos9);
s13.write(pos13);
s17.write(pos17);
s21.write(pos21);
delay(50);}
{ goto Instructor; }}
Modus2: //Rückwärts
Modus3: //Vorwärtslinks
Modus4: //Vorwärtsrechts
Modus5: //Rückwärtsrechts
Modus6: //Rückwärtslinks
Modus7: //Schwimmenvorwärts
Modus8: //Schwimmenrückwärts
Modus9: //Schwimmenlinks
Modus10: //Schwimmenrechts
Modus11: //Schwimmenup
Modus12: //Schwimmendown
Modus13: //Wandeckeinnenvorwärts
Modus14: //Wandeckeaussenvorwärts
Modus15: //Wandeckeinnenrückwärts
Modus16: //Wandeckeaussenrückwärts
;}
Gruß Intrepit
Edit:
Nachtrag: Hab mich verlesen, die 2Bedingung muss tatsächlich false sein, ich werde alle == also durch != ersetzten..
Danke für den Hinweis, Mario!
Roboter.ino (6.85 KB)