Sto tentando di utilizzare i pin0 e pin1 come pin digitali per gestire dei fotoaccoppiatori. (ho bisogno di diversi pin digitali e volevo utilizzare anche questi 2).
Quando carico lo sketch mi da il seguente errore:
avrdude: stk500_getsync(): not in sync: resp=0x00
Se utilizzo qualsiasi altro pin digitale non ho problemi, carico lo sketch tranquillamente e tutto funziona correttamente.
Non possono essere utilizzati come tutti gli altri pin digitali o occorre dare qualche comando particolare?
I pin 0 e 1 sono quelli usati per la comunicazione seriale di arduino. Si possono usare come pin digitali però tutto quello che ci attacchi andrà a "disturbare" la comunicazione seriale, da qui l'errore avrdude: stk500_getsync(): not in sync: resp=0x00.
una soluzione è quella di rendere "removibile" quello che colleghi ai pin (magari con un jumper) e di scollegarli quando devi caricare uno sketch.
Ti ricordo che anche i pin analogici possono essere usati come digitali.
Puoi usare anche i pin 0 e 1 per altri usi ma, ma se usi la seriale ricordati di mettere sempre un delay(2000) prima del Serial.begin() così da dare modo all'IDE di poter riuscire a comunicare con la scheda PRIMA che il tuo sketch occupi la linea seriale.
Ringrazio e mi scuso per il tempo trascorso ma mi sono dovuto dedicare ad altre attività
Ho provato a caricare lo sketch scollegando i fili al pin 0 e 1 e a ricollegarli successivamente - Funziona tutto correttamente.
Ora provo von il delay 2000 consigliato, ma male che vada metto un interruttore su questi collegamenti per scollegarli quando carico lo sketch e riattivarli quando deve girare il programma .
Il delay serve principalmente se spedisci dati al computer, per evitare che lo sketch, appena partito, ti occupi la seriale e ti impedisca di aprire la connessione dal PC.
Se invece hai qualcosa collegato materialmente a quei 2 pin, ti conviene inserire un paio di jumper subito dopo i pin in modo che quando devi caricare lo sketch nuovo ti basta aprire questi ponticelli, senza dover smontare tutto.