Problemi nel ripristino comunicazione

Salve a tutti,
Scambio dati con Arduino mediante un'applicazione da me implementata in VB.NET. Il protocollo di comunicazione sfrutta la codificati ASCII, ma ho il seguente problema:
quando scollego e ricollego il cavo USB mantenendo comunque Arduino alimentato, mi è impossibile ripristinare la comunicazione. Immagino che la causa di questa anomalia sia nel fatto che l'istruzione Serial.begin(9600); è inserita nel metodo Setup. Come potrei fare altrimenti? Ringrazio anticipatamente chiunque risponderà al post

ciao guancio
non so come puoi farlo via VB.NET ma manda un reset all'arduino dalla tua applicazione quando ricolleghi l'USB ( metti per un breve tempo il segnale RTS del FT232PL a massa).
Ciao Uwe

Grazie per la risposta Uwefed,
la scheda che sto usando è una arduino 2009, l'RTS del FT232PL lo trovo su un pin oppure devo eseguire una modifica alla stessa Arduino Board?
In alternativa, stavo pensando di usare il metodo Serial.available() per verificare se ho ancora il computer connesso, altrimenti, se il valore è =0 potrei chiudere la comunicazione Serial.end() e tentare di riaprirla con Serial.begin(9600). Che ne dici?

ciao guancio
Quella é la via normale che fa fare al arduino un reset per poter trasmettere uno sketch. Non devi modificare niente.
No; Serial.available serve per vedere se ci sono nel buffer dati da prelevare. Non dice se la connessione USB é attiva.
Serial.end() chiude la comunicazione che dopo puó essere di nuovo attivata con Serial.begin()
Non so con che scadenza scambi dati col Arduino. Se abbastanza frequente potresti programmare un timeout (dopo x minuti o x secondi) e chiudi e riapri la seriale
Ciao Uwe

OK, ho collegato un pulsante, che, se premuto mette a massa il pin di reset di arduino. Questa soluzione funziona, ma non mi piace e mi sembra molto limitante per 2 motivi:
1 - non posso inviare via usb un comando che metta a massa quel PIN dato che arduino non vede più il PC;
2 - perdita del valore di tutte le variabili processate
Aggiungo un'osservazione che avevo trascurato all'inizio del mio post, la mia applicazione non dialoga più con arduino, ma, andando in monitor con l'ambiente di sviluppo di arduino, leggo tutto correttamente. Se chiudo il monitor di arduino e riprovo con la mia applicazione, nulla da fare. Sulla COM non leggo proprio nulla. Qualcuno ha una vaga idea? Devo disabilitare qualche proprietà dell'oggetto SerialPort?