problema nel comandare un servo con un pulsante su arduino uno

Salve a tutti, sto cercando di creare un programma in cui con un "click" del pulsante il servo vada da 0° a 180°, poi con un ulteriore "click" ritorni alla posizione iniziale, cioè 0°. Il codice che ho provato ad utilizzare è il seguente :

#include <Servo.h>
Servo myservo;

int grado = 0;
int pinServo = 3;
int buttonPin =8;
int x=0;

void setup()
{
  myservo.attach( pinServo );
  myservo.write(grado);
} 
 
void loop()
{
  x=digitalRead(8);
  if (x==HIGH) 
   {
     for (grado==0; grado<180; grado+=180)
     { 
       myservo.write (grado);
       delay (15);
     }
     for (grado==180; grado>0; grado-=180)
     {
       myservo.write (grado);
       delay (15);
     }
   }
   else if(x==LOW)
    {
      myservo.write (grado);
    }
}

sapreste indicarmi dove sbaglio? Non ho nessun tipo di esperienza alle spalle con arduino ne con la programmazione in generale....

Ti invitiamo a presentarti qui: Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! (Part 1) - Generale - Arduino Forum
e a leggere il regolamento: [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum

sbagli nel ciclo for penso...
prova con questo

#include <Servo.h>
Servo myservo;

int grado = 0;
int pinServo = 3;
int buttonPin =8;
int x=0;

void setup()
{
  myservo.attach( pinServo );
  myservo.write(grado);
} 
 
void loop()
{
  x=digitalRead(8);
  if (x==HIGH) 
   {
     for (grado=0; grado<=180; grado=grado+180)
     { 
       myservo.write (grado);
       delay (15);
     }
     for (grado=180; grado>=0; grado-=180)
     {
       myservo.write (grado);
       delay (15);
     }
   }
   else if(x==LOW)
    {
      myservo.write (grado);
    }
}