Reset automatico non voluto

Salve, per spiegare il mio problema sfrutto un esempio. Il codice che considero è l'esempio Text Direction che spiega le funzioni leftToRight() e rightToLeft() della LiquidCrystal Library a questo link
http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection
Questo il codice

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int thisChar = 'a';

void setup() {
lcd.begin(16, 2);
lcd.cursor();
}

void loop() {
if (thisChar == 'm') {
lcd.rightToLeft();
}
if (thisChar == 's') {
lcd.leftToRight();
}
if (thisChar > 'z') {
lcd.home();
thisChar = 'a';
}
lcd.write(thisChar);
delay(1000);
thisChar++;
}

Praticamente scrive nel display le lettere dalla 'a' alla 'z' cambiando verso di scrittura con la 'm' e la 's' e arrivato alla 'z' riparte da capo.
Il problema è che ad intervalli regolari sembra che si resetti il programma e riparta dall'inizio. Infatti fa un primo ciclo fino alla 'z' poi ricomincia dalla 'a' e arrivato alla 'f' il led 13 che tengo normalmente acceso lampeggia e a display si cancella tutto e riparte dalla 'a'. E lo fa ogni volta.
Aggiungo poi che se uso il monitor seriale funziona tutto correttamente ma appena lo chiudo reiniziano i problemi.
Uso un arduino uno e un pc con windows 7.

quando apri/chiudi il monitor seriale è nomrlae che arduino si resetti, si chiama "autoreset" ed è necessario per programmarlo (al reset viene avviato il bootloader che accetta i buovi codici, e farlo a mano non è comodo nè facile da spiegare)

se guardi arduino autoreset trovi i modi per evitarlo (condesatore e/o resistenza), secondo me c'è qulache programma (bluethoot, modem o robe simili) sul tuo pc che in automatico prova ad aprire le seriali per vdere dse dall'altra parte c'è la schedina che si aspetta, e quando apri il serial monitor "blocchi" la seriale (normalmente la seriale può essere usata da un solo programma alla volta)

grazie mille per la risposta. Per curiosità c'è un modo per capire quale programma interferisce con la seriale?

da vb.net - How do I determine which process is using a serial port? - Stack Overflow

you can find who's using a serial port using Process Explorer. Most of the time, typing Ctrl+F and searching for "serial" will show you who has a serial port open, but I just ran into a situation where my "COM3" serial port's handle appeared as "\Device\VCP0". It may be strange because it was running under VirtualBox with a USB-to-serial connector.

If searching for "serial" and "device\vcp" don't get you any results, you may be able to figure out how serial port handles are named by opening one with a known program.