Il problema è sulla scheda della macchina: una arduino MEGA2560 R3.
Avevo capito l'inverso, che cioè sulla macchina ci fosse la Diecimila.
Comunque sull'altra scheda uso una porta software fatta con softwareserial. A proposito dell errore della macchina: ho isolato il problema: sembra proprio essere causato dalla funzione map()ho cancellato tutto il codice e mantenendo ogni pezzo singolarmente l unico che sembra dare errore è quello di map nella parte di codice con spia==1
Prova ad usare una variabile tampone invece che assegnare il risultato di map alla stessa variabile che passi alla funzione.
Potrebbe essere un problema di valori fuori range? Sei certo delle conversioni che effettui, che non ti portino ad avere situazioni in cui il servo non si muove perché il codice dice di non muoverlo?