problema connessione Arduino Mega 2560 < Firmata > VisualBasic 2010

Rieccomi qui e purtroppo non sono riuscito a risolvere i miei problemi :~

sembra che vada tutto bene, i valori analogici mandati da Arduino arrivano bene, ma dopo un po che gli mando dei comandi, a un certo punto si blocca tutto. Dalla parte di VB mi esce un Msg box con scritto:

IOException non è stata gestita
Una periferica collegata al sistema non è in funzione.

Ma fino a un secondo fa reagiva perfettamente e tutto di un tratto si è impuntata.

ti metto il codice per intero, l'ho snellito ma anche così non funziona

int pH1;
int pH2;
int DO;
int Co2 = 8;
int O2 = 12;


void setup(){
  Serial.begin(57600);
  pinMode(Co2, OUTPUT);
  pinMode(O2, OUTPUT);
  
}

void loop(){
 pH1 = analogRead(A1);
 Serial.println(pH1);
 delay(50);
 pH2 = analogRead(A0);
 Serial.println(pH2);
 delay(50);
 DO = analogRead(A2);
 Serial.println(DO);
 delay(50);

 if (Serial.available() > 0){
   int iniezione = Serial.read();
   if (iniezione == '1'){
     digitalWrite(Co2, HIGH);
     digitalWrite(O2, LOW);
   }
   if (iniezione == '2'){
     digitalWrite(Co2, LOW);
     digitalWrite(O2, HIGH);
   }
   if (iniezione == '0'){
     digitalWrite(Co2, LOW);
     digitalWrite(O2, LOW);
   }
   delay(50);
 }
}[code]

dove il comando "iniezione"  lo mando da VB con un timer ogni 300 ms, il cui valore lo cambio premendo dei pulsanti.

Che possa essere un problema di Hardware o che il Pc che sto usando è un po' vecchiotto (ha ancora Windows XP).

Non saprei più cosa provare. Non c'è un comando per svuotare il buffer?

Ti ringrazio ancora per l'infinita pazienza.

Giacomo.

[/code]