Interferenze con arduino - computer

Scusa PaoloP ma non ho capito minimamente di cosa parli.

Che cosa non ho impostato?
in ogni caso ecco il codice completo che, giustamente, mi chiede Guglielmo:

byte SeConnesso = 0; //specifica se arduino è connesso al pc

void setup() {
  Serial.begin(9600);
  pinMode(12, OUTPUT);  //diodo per ricezione dati dal pc
   pinMode(8, INPUT);   //serve per controllare l'apertura o la chiusura di un interruttore o relè esterno ad arduino

}
 
void loop () {
  delay(150); //intervallo di 150 milli second

 if (Serial.available()) {  //se arrivano dati dal computer sulla usb-com3
     byte DatiArrivo = Serial.read(); 
 if (DatiArrivo =='1') {  //il computer mi sta chiedendo se sono connesso. devo rispondere di si inviando un 1
     delay (150);          //aspetto 150milli secondi per non mandare in pappa il sistema 
     Serial.write('1');    //rispondo al computer che sono acceso
   }
 
 
 if (DatiArrivo =='2') {

        digitalWrite(12,HIGH); //si accende il diodo di conferma dati ricevuti dal pc
        delay (100);
 }      
  if (DatiArrivo =='3') {
        digitalWrite(12,LOW); // si spenge di diodo di segnalazione dati pc
        delay (100);
       }  
   }
// ora controllo che il relè esterno ad arduino non chiuda il circuito
    
    if (digitalRead(8) ==HIGH){  //se il relè/pulsante chiude il circuito
       Serial.write('chiuso');    //scrivo al pc che il relè ha chiuso il circuito
       delay (50);
   }   
    if (digitalRead(8) ==LOW){  //il relè ha aperto il circuito. condizione normale
        Serial.write('aperto'); 
       delay (50);
   } 


 }

le modifiche fatte rispetto all'originale sull'arduino sono solo i commenti e di forma.
scusate la nabbaggine... sono nuovo di arduino, ed anche di c++ ma l'argomento è troppo interessante.

Ora provo a correggere il collegamento con la resistenza al led.
grazie ancora!