analogread di continuo (seriale)

Salve, come posso fare in questo codice che funziona con la seriale e fa accendere e spegnere il led e nel frattempo posso controllare anche il pulsante che fa il suo dovere..

ora vorrei fare l'analogread che mi cambia la tonalità del led.. l'unico che non riesco ad farlo funzionare.

Ecco il codice (uso arduino mega).

const int pinLed =  8;     
const int buttonPin = 3;
int buttonState = 0;         
int buttonStateOld = 0;    
int sensorValue;  
void setup() {
  pinMode(pinLed, OUTPUT);
  pinMode(buttonPin, INPUT);
  Serial.begin(9600);
  buttonState = digitalRead(buttonPin);
  sensorValue = analogRead(A0);
}

void loop() {
  if (Serial.available() > 0) {
    char state = Serial.read();
    if (state == 'H' || state == 'h') {
      digitalWrite(pinLed, HIGH);
      Serial.println("LED1 ON");
    }
    if (state == 'L' || state == 'l') {
      digitalWrite(pinLed, LOW);
      Serial.println("LED1 OFF");
    }
  }
  buttonStateOld = buttonState;            // salva lo stato precedente
  buttonState = digitalRead(buttonPin);    // legge nuovo stato pulsante

  if (buttonStateOld == buttonState) return; // esce dal loop x nessuna variazione

  if (buttonState) {
    Serial.print("Pulsante1 = "); Serial.println(buttonState);
    digitalWrite(pinLed, HIGH);

  } else
  {
    digitalWrite(pinLed, LOW);
    Serial.print("Pulsante1 = "); Serial.println(buttonState);
  }

  Serial.println(sensorValue); // qui prendo l'a0 ma non fa o meglio non fa nessun output.

}

Già per logica ci sono due cose da sistemare...

  1. dici che con if (bottone== bottone come era prima) allora esci dal loop
    QUINDI se esci dal loop, salti anche la riga che stampa sensorValue.

  2. la riga che stampa sensorValue anche se la fai eseguire ti stampa il valore della variabile sensorValue che hai letto UNA SOLA VOLTA all'inizio quindi sempre lo stesso.