sto lavorando a un progetto abbastanza grande che utilizza un Arduino, e ho occupato tutti i pin disponibili. Il dispositivo è inserito in una scatola molto compatta e difficile da aprire. Per questo motivo, vorrei portare all’esterno i pin ICSP per future programmazioni senza dover smontare tutto.
Tuttavia, mi sono reso conto che, in questa configurazione, non avrei modo di leggere i messaggi dalla seriale per fare debugging.
Stavo pensando a possibili alternative, ad esempio:
Portare un cavo USB all’esterno: Ma la porta USB viene già utilizzata per alimentare Arduino tramite un power bank, e lo spazio è estremamente limitato.
Usare un adattatore FTDI: Ho letto che potrei farlo, ma sembrerebbe necessario riservare due pin per il clear to send e il request to send, che attualmente non sono liberi.
C’è qualche altra soluzione che mi consigliate per poter programmare Arduino e fare debugging senza dover aprire la scatola o sacrificare altri pin?
Al posto di alimentare l'Arduino con il connettore USB, taglia il cavo che parte dal power bank ed usa i cavetti nero (GND) e rosso (+5V) per alimentare l'Arduino direttamente dal pin 5V.
A quel punto il connettore USB ti rimane libero per farci quello che vuoi.
Potresti prendere in considerazione un programmatore hw, come pickit o gli atmel ice, l'ide Mplab x permette di importare i progetti di arduino e al contempo fare debug hardware tramite i programmatori icsp.
Segui il consiglio di cotestatn. Io lo uso nei miei progetti e funziona. Puoi riprogrammare Arduino via USB con il power bank attaccato ai pin +5V e GND. Non so che power bank usi, ma i miei con un'assorbimento inferiore ai 70 mA si spengono. Verifica che l'assorbimento del tuo circuito non scenda mai sotto quel valore.