Pagina 1 di 1

Errore sketch braccio robotico

MessaggioInviato: 15 nov 2017, 16:20
da papa10
Non so come uscirne da questo sketch. All'ultima riga(delay 20000) compare il seguente errore :expected constructor distructor or type conversion before '(token'.Cosa significa? Premetto che non sono molto esperto.Grazie
Codice: Seleziona tutto
#include <Servo.h>

Servo mioservo1;
Servo mioservo2;
Servo mioservo3;
Servo mioservo4;
Servo mioservo;
int angolo =0;

void setup() {
  mioservo.attach(8);
  mioservo1.attach(9);
  mioservo2.attach(10);
  mioservo3.attach(11);
  mioservo4.attach(12);
}

void loop() {
   //Posizione iniziale//
   mioservo.write(155);
   mioservo1.write(85);
   mioservo2.write(77);
   mioservo3.write(75);
   mioservo4.write(5);
   delay(2000);

   // inizio presentazione movimenti//
   mioservo1.write(85);
   delay(2000);
   mioservo3.write(155);
   delay(2000);
   mioservo3.write(0);
   delay(2000);
   mioservo3.write(75);
   delay(2000);
   mioservo4.write(150);
   delay(1000);
   mioservo4.write(5);
   delay(1000);

   for(angolo = 77; angolo < 150; angolo += 1)  {
    mioservo2.write(angolo);
    delay(20);
   }
   delay(2000);
   for(angolo = 150; angolo > 77; angolo -= 1) {
    mioservo2.write(angolo);
    delay(20);
   }
   delay(2000);
   mioservo3.write(30);
   delay(2000);
   mioservo2.write(26);
   delay(2000);
   mioservo4.write(150);
   delay(1000);
   mioservo4.write(5);
   delay(3000);
   
   // dimostrazione di rotazione//
   for(angolo = 150; angolo > 120; angolo -= 1) {
    mioservo.write(angolo);
    delay(20);
   }
   delay(500);
 
   for(angolo = 120; angolo > 90; angolo -= 1) {
    mioservo.write(angolo);
    delay(20);
   }
   delay(500);
 
   for(angolo = 90; angolo > 60; angolo -= 1) {
    mioservo.write(angolo);
    delay(20);
   }
   delay(500);
 
   for(angolo = 60; angolo > 30; angolo -= 1) {
    mioservo.write(angolo);
    delay(20);
   }
   delay(500);
 
   for(angolo = 30; angolo > 1; angolo -= 1) {
    mioservo.write(angolo);
    delay(20);
   }
   delay(2000);
   
   for(angolo = 155; angolo > 35; angolo -= 1) {
    mioservo.write(angolo);
    delay(40);
   }
   delay(2000);
   
   for(angolo = 30; angolo < 75; angolo += 1) {
    mioservo3.write(angolo);
    delay(50);
   }

   for(angolo = 26; angolo < 150; angolo += 1) {
    mioservo2.write(angolo);
    delay(10);
   }
   delay(1000);

   for(angolo = 85; angolo < 145; angolo += 1) {
    mioservo1.write(angolo);
    delay(50);
   }

   for(angolo = 35; angolo < 155; angolo += 1) {
    mioservo.write(angolo);
    delay(30);
   }
   delay(1000);

   mioservo4.write(150);
   delay(1000);
   mioservo4.write(5);
   delay(1000);

   // giro con alzamento braccio//
   for(angolo = 145; angolo > 125; angolo -= 1) {
    mioservo1.write(angolo);
    delay(40);
  }
  for(angolo = 155; angolo > 125; angolo -= 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 150; angolo > 100; angolo -= 1) {
    mioservo.write(angolo);
    delay(60);
  }
  for(angolo = 125; angolo > 105; angolo -= 1) {
    mioservo1.write(angolo);
    delay(40);
  }
     
  for(angolo = 125; angolo > 100; angolo -= 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 100; angolo > 50; angolo -= 1) {
    mioservo.write(angolo);
    delay(25);
  }
  for(angolo = 105; angolo > 85; angolo -= 1) {
    mioservo1.write(angolo);
    delay(40);
  }
  for(angolo = 100; angolo > 75; angolo -= 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 50; angolo > 5; angolo -= 1) {
    mioservo.write(angolo);
    delay(10);
  }
  delay(500);
   
  for(angolo = 5; angolo < 150; angolo += 1) {
    mioservo.write(angolo);
    delay(30);
  }
  delay(2000);

  // riposizionamento //

  mioservo.write(150);
  mioservo1.write(85);
  mioservo2.write(35);
  mioservo3.write(35);
  mioservo4.write(5);
   
  // recupero pezzo //
  // angolo di presa pezzo //
   
  for(angolo = 150; angolo > 30; angolo -= 1)  {
    mioservo.write(angolo);
    delay(25);
  }
  delay(500);
  for(angolo = 35; angolo < 75; angolo += 1) {
    mioservo3.write(angolo);
    delay(25);
  }
  delay(500);
  for(angolo = 35; angolo < 150; angolo += 1) {
    mioservo2.write(angolo);
    delay(25);
  }
   
  // abassamento braccio //
  for(angolo = 85; angolo < 149; angolo += 1)  // angolo abbassa// {
    mioservo1.write(angolo);
    delay(40);
  }
  delay(500);
   
  mioservo4.write(150);
  delay(1000);
  for(angolo = 75; angolo < 95; angolo += 1) {
    mioservo3.write(angolo);
    delay(30);
  }
  delay(500);
  mioservo4.write(16);   // gradi presa  //
  delay(500);

  // rialzamento braccio //
  for(angolo = 149; angolo > 105 ; angolo -= 1) {
    mioservo1.write(angolo);
    delay(30);
  }
  for(angolo = 150; angolo > 120; angolo -= 1) {
    mioservo2.write(angolo);
    delay(30);
  }
  for(angolo = 95; angolo > 80; angolo -= 1) {
    mioservo3.write(angolo);
    delay(30);
  }
  for(angolo = 120; angolo > 100; angolo -= 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 80; angolo > 50; angolo -= 1) {
    mioservo3.write(angolo);
    delay(30);
  }
  for(angolo = 100; angolo > 70; angolo -= 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 50; angolo > 35; angolo -= 1) {
    mioservo3.write(angolo);
    delay(30);
  }
   
  // rotazione //
  for(angolo = 30; angolo < 128; angolo += 1) {
    mioservo.write(angolo);
    delay(30);
  }
  // abbassamento pezzo //
   
  delay(1000);
  for(angolo = 70; angolo < 100; angolo += 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 35; angolo < 100; angolo += 1) {
    mioservo3.write(angolo);
    delay(30);
  }
  for(angolo = 100; angolo < 130; angolo += 1) {
    mioservo2.write(angolo);
    delay(40);
  }
  for(angolo = 105; angolo < 130; angolo += 1) {
    mioservo1.write(angolo);
    delay(40);
  }
  delay(1000);
  mioservo4.write(150);
  delay(1000);

  for(angolo = 100; angolo > 35; angolo -= 1) {
    mioservo3.write(angolo);
    delay(2);
  }
  for(angolo = 130; angolo > 85; angolo -= 1) {
    mioservo1.write(angolo);
    delay(25);
  }
  for(angolo = 130; angolo > 33; angolo -= 1) {
    mioservo2.write(angolo);
    delay(25);
  }
  delay(1000);
  mioservo4.write(5);
  delay(20000);
}

Re: Errore sketch braccio robotico

MessaggioInviato: 15 nov 2017, 16:55
da Jackd
TROVATO...

controlla un po commenti e parentesi graffe...

comunque l'ide ti da un aiuto di dove cercare l'errore, parti dal primo errore che ti indica, va qualche riga precedente a quella che te dice lui e comincia a spulciare, se non lo trovi poi te lo dico, ma vorrei che ci arrivassi cosi capisci come l'ide ti indica gli errori

Re: Errore sketch braccio robotico

MessaggioInviato: 15 nov 2017, 17:59
da MarcoD
Non ricordo più bene la sintassi arduino, ma che sia qui?:
for(angolo = 85; angolo < 149; angolo += 1) // angolo abbassa// {
O_/

Re: Errore sketch braccio robotico

MessaggioInviato: 15 nov 2017, 19:56
da papa10
la parentesi graffa si trova al di la' del commento vero?Ho provato e funziona .Grazie a te ci sono riuscito perche' mi hai spinto a ricercare e grazie anche alla mia eta'(70).Ciao e buona serata

Re: Errore sketch braccio robotico

MessaggioInviato: 15 nov 2017, 19:58
da xyz
MarcoD ha scritto:Non ricordo più bene la sintassi arduino

Non esiste la sintassi Arduino, si tratta della sintassi del C/C++.

Re: Errore sketch braccio robotico

MessaggioInviato: 16 nov 2017, 23:19
da MassimoB
Se poi si identasse il codice sarebbe meglio