Controllo servo da tastiera Processing/Arduino

Credevo di aver risolto tutto..... ma mi sbagliavo. :cold_sweat:

Con un servo funziona tutto alla grande, ma poi ho provato ad aggiungere il secondo, che dovrebbe essere comandato da 'q' ed 'e'.
Il fatto è che i due servi si muovono assieme, indipendentemente dai tasti premuti, siano essi 'a','d','q' o 'e'....

Penso sia colpa del codice Arduino, devo avere sbagliato qualche connettore logico, o, più probabilmente, la variabile posizione, che non credo possa rimanere la stessa.

Sono giorni che sto studiando le guide di Arduino, ma proprio non so dove sbattere la testa!

Se qualcuno potesse individuare il problema, gliene sarei molto grato :slight_smile:

Arduino:

#include <Servo.h>

Servo myservo;
Servo myservo2;

byte posizione = 90;// la variabile per la posizione

void setup ()
{
  myservo.attach(9);
  myservo2.attach(8);
  Serial.begin(9600);
}

void loop()
{
  if(Serial.available())
  {
    byte pos=Serial.read();
    if (pos =='a')// se premi 'a' decrementi la variabile, sempre se non ha raggiunto il valore minimo 10
    {
      if(posizione > 10) // non deve diminuire se è 10
      {
        posizione--;
      }
    }
    else if (pos =='d')// premendo 'd' aumenti la variabile fino al valore massimo 170
    {
      if(posizione < 170) // non deve aumentare se è 170
      {
        posizione++;
      }
    }
  }
  myservo.write (posizione);
{
  if(Serial.available())
{ byte pos=Serial.read();
    if (pos =='q')// se premi 'a' decrementi la variabile, sempre se non ha raggiunto il valore minimo 10
    {
      if(posizione > 10) // non deve diminuire se è 10
      {
        posizione--;
      }
    }
    else if (pos =='e')// premendo 'd' aumenti la variabile fino al valore massimo 170
    {
      if(posizione < 170) // non deve aumentare se è 170
      {
        posizione++;
      }
    }
  }
  myservo2.write (posizione);
}}

Processing:

import processing.serial.*;
Serial myPort;

void setup(){
println(Serial.list());
myPort = new Serial(this, Serial.list()[0],
9600);}

void draw(){
if(keyPressed){
if(key=='a'){
myPort.write(97);
}
else{
if(key=='d'){
myPort.write(100);
}}}
if(keyPressed) {
if (key == 'q'){
myPort.write(113);
}
else {
if(key== 'e') {
myPort.write(101);
}}}}

Grazie Simone