Cancello avanti,indietro, stop con potenziometro

'Giorno,avrei bisogno di aiuto con la programmazione di un cancello comandato da pulsanti:
start, indietro e stop con velocità regolata da 2 potenziometri per senso di marcia.

il mio problema sta nel fatto che il led di segnalazione start si accende da solo senza premere il pulsante, ma il potenziometro funziona.

allego la programmazione che ho fatto fin'ora:

const int buttonPin = 4;     // pulsante start avanti
const int buttonPin2 = 5;     // pulsante start indietro
const int buttonPin3 = 6;     // pulsante start stop
;
const int analogPin = A2;     // potenziotro start a2
const int analogPin2 = A3;     // potenziometro indietro a3

// variables will change:
int buttonState = 0;         // variabile pulsante start
int buttonState2 = 0;         // variabile pulsante indietro
int buttonState3 = 0;         // variabile pulsante stop
int val = 20;                  // variable to store the value read
int val2 = 20;

void setup() {
  // initialize the LED pin as an output:  
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
  pinMode(buttonPin2, INPUT);
  pinMode(buttonPin3, INPUT);
  Serial.begin(2);      //  setup serial 
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
  buttonState2 = digitalRead(buttonPin);
  buttonState3 = digitalRead(buttonPin);
  val = analogRead(9600);
  val2 = analogRead(9600);  
  
 if (buttonState == HIGH && buttonState2 == LOW);{
    // turn LED on:
    analogWrite(analogPin, 9600);
    analogWrite(analogPin2, 9600);
  }
  if (buttonState == LOW && buttonState2 == HIGH);
    // turn LED off:
    analogWrite(analogPin, 9600);
  analogWrite(analogPin2, 9600);
}

QUALCUNO MI PUO' SPIEGARE PERCHE' ?

Ciao,
tu intanto mi spieghi il perchè dei valori passati alla begin e alla analogRead?

Serial.begin(2);

e

val = analogRead(9600);

Vedi qui:

e
http://arduino.cc/en/Serial/begin

oltre a quanto detto sopra, questo cosè??

analogWrite(analogPin, 9600);
  analogWrite(analogPin2, 9600);

leggi qui analogWrite() - Arduino Reference

const int analogPin = A2;     // potenziotro start a2
const int analogPin2 = A3;     // potenziometro indietro a3

A2 e A3 sono degli ingressi analogici o digitali, non puoi utilizzarli come uscite pwm

il mio problema sta nel fatto che il led di segnalazione start si accende da solo senza premere il pulsante

ti sei dimenticato nel setup() di impostare il pin led in OUTPUT

Secondo me dovresti cancellare tutto e rifarlo da 0, guardati gli esempi nell' IDE troverai tutto quello che ti serve.

Inoltre il codice deve essere racchiuso negli appositi tag code.
Vedi regolamento, sezione 7, spiega bene come fare. Altrimenti parti del codice possono essere visualizzate in maniera errata.

 buttonState = digitalRead(buttonPin);
  buttonState2 = digitalRead(buttonPin);
  buttonState3 = digitalRead(buttonPin);

leggi 3 volte lo stesso pin.
Hai messo delle resistenze pullup o pulldown?
Ciao Uwe