Ciao a tutti,
vi condivido un problema che ho da qualche giorno nel caricamento degli sketch che mi lascia un pò perplessa e non so come risolvere...
Ho acquistato lo starter kit originale Arduino con scheda Arduino uno R3. Sul pc (un Mac) ho scaricato Arduino IDE versione 2.1.0 CLI version 0.32.2
Mi capita di caricare con successo uno sketch anche solo per testare il collegamento Arduino-pc (come per esempio blink). Dopo uno o più caricamenti di sketch successivi, succede che durante l'upload inizia a comparire l'errore: avrdude: stk500_recv(): programmer is not responding
Alle volte con questa specificazione:
Upload error: Caricamento non riuscito: errore durante il caricamento: exit status 1
Ricaricando subito dopo sketch che un attimo prima funzionavano (anche "ripulendo" la breadboard e caricando solo blink), questi non funzionano più e danno lo stesso errore 500.
Ho notato che se spengo il pc e riprovo dopo qualche ora, funziona tutto di nuovo... ma purtroppo ogni sketch caricato è una scommessa e spesso al 2/3 caricamento si ripresenta lo stesso problema.
Seguendo varie indicazioni/tutorial su internet ho provato a risolvere controllando i led on, tx e rx che si accendono collegando il cavo USB, ho premuto il tasto reset, mi assicuro di liberare i pin 0 e 1, in Arduino IDE verifico board e porta, ho disinstallato e re-installato Arduino IDE più volte... ma non ho ottenuto risultati.
Ho provato a fare il loopback test, verificando che il collegamento scheda-pc in realtà funziona anche in quei momenti. Da quanto trovo sul web a questo punto potrebbe essere un errore legato al bootloader, ma allora come mai provando dopo qualche ora funziona di nuovo?
Secondo la vostra esperienza vale la pena comprare una scheda nuova/ un cavo usb nuovo? Cos'altro potrei verificare altrimenti?
Vi ringrazio molto... mi affido alla vostra esperienza
Potresti provare ad installare la versione legacy o meglio per molti è la versione stabile di Arduino IDE, cioè questa: ide-1.8.19
Link preso da questa pagina: Legacy IDE (1.8.X)
Se anche con questa versione si presenta il problema allora potresti pensare a sostituire altro, tipo il cavo ecc.
La versione legacy oltre alla stabilità permette anche la configurazione detta "portable".
PS: Oppure attendi @gpb01 che ha esperienza con macos
Mi dispiace ma non conosco macOsX, io uso Ubuntu.
L'amministratore @gpb01 conosce macOsX, ma è fuori sede per qualche giorno, nonostante ciò potrebbe intervenire e guidarti verso la soluzione.
Gli servirà sapere che versione di macOsX hai installato.
Genericamente quell'errore indica:
Che il programma avrdude cerca di comunicare con arduino uno ma non riceve risposta da questo. Le cause possono essere diverse a secondo del sistema operativo, ad esempio su linux serve configurare i permessi di accesso alle porte USB. Potrebbe essere il cavo. Dicono che il bootloader si può corrompere, ma mi sembra una stupidaggine (tecnicamente non mi spiego come possa avvenire).
Quindi adesso quell'errore compare sempre ad ogni tentativo di scrittura?
Oppure ogni tanto funziona?
Il cavo usb è fondamentale che sia adatto, cioè quei cavetti che servono solo per caricare il cellulare non sono adatti, gli mancano almeno due fili.
Mmm ... che versione di macOS? Perché io, per ragioni di retrocompatibilità, non ho mai più aggiornato dopo Mojave e ... mai avuto un problema con le varie schede Arduino ed altre.
Se hai un Arduino UNO originale, viene visto direttamente da macOS e non c'è alcun problema, quindi ...
versione macOS
usi un HUB USB? Se si di che tipo?
cavo USB ... che ne è in giro un'infintà di bassa qualità/difettosi
antivirus in uso?
cose collegate ad Arduino UNO (sensori, driver, ecc)?
Il bootloader della UNO non mi ha mai dato problemi, e poi o va o non va ... molto più facile che sia un prblema di qualche .kext di macOS che, per qualche strano motivo, si blocca e ti costringe a riavviare ...
Guglielmo
P.S.: considera che, se eventualmente e necessario ricaricare il bootloader, è cosa che non si può fare dalla USB e ti occorre un programmatore ICSP.
Il cavo USB è quello dello starter kit, non ne ho provati altri perché in casa non ne ho altri con l'uscita adatta per la scheda. Comunque non metto in dubbio che potrebbe essersi rovinato...
non uso antivirus
in questi casi mi dà errore di caricamento anche quando provo a caricare blink senza nulla collegato ad Arduino
Riguardo alla frequenza con cui accade, vi confermo che l'errore non compare ad ogni tentativo di scrittura.
Potrebbe essere, in effetti stamattina ho fatto un tentativo usando il pc che avevo lasciato in stand by da ieri sera, e non sono riuscita a caricare blink. Ho ripreso in mano il PC dopo pranzo, l'ho riavviato e adesso (per il momento) carica lo sketch...
... COSA hai collegato ad Arduino (prima che smetta di caricare)? E come (metti uno schema con i vari collegamenti, incluse le alimentazioni) ... non vorrei che il Mac rilevi un assorbimento eccessivo sulla porta USB e le disattivi ...
Mah... per esempio succede con questo schema, che dovrebbe servire (forse... spero... LOL non giudicatemi troppo che sto imparando ) ad accendere il led premendo il bottone:
Un LED è un diodo e devi mettere in serie al LED una resistenza che limiti la corrente che scorre al suo interno ... come lo hai collegato tu hai due problemi principali ... NON limiti la corrente che scorre nel LED e assorbi troppa corrente da un pin di I/O di Arduino.
Relativamente al primo problema, devi guardare il datasheet del LED che stai usando e vedere quale è la corrente che può scorrere al suo interno, dopo di che calcoli la resistenza e la metti in serie al LED ... con quel LED li una resistenza da un 220Ω dovrebbe andar bene ...
Relativamente al secondo problema, ti ricordo che ogni pin di Arduino (UNO/MEGA/Leonardo/Yún) può dare al massimo, a Vcc, 40 mA (... ma quello è veramente un limite, nel normale funzionamento occorre stare al 60-70% di detto valore) ed inoltre la somma di tutti i pin e dell'assorbimento del chip, non deve superare al massimo i 200 mA (... e anche qui massimo va considerato come valore limite, ma nel normale funzionamento occorre stare al 60-70% di detto valore). Assorbimenti oltre detti limiti possono danneggiare irrimediabilmente il chip.
Quindi, comincia comunque con il limitare la corrente che scorre nel LED e nel pin di I/O e poi continuiamo l'analisi ...
Guglielmo
P.S.: ... da dove hai preso quello schema di montaggio?
Vorrei tanto dire che hai travisato, ma non è così purtroppo. Iniziando da zero competenze non è possibile trarre informazioni maggiori da quel video.
Purtroppo quel video lo avevo già visto e mi ha stupito, perché Aliverti è competente, infatti nel video dice: lo mettiamo senza resistenza perché è un test rapido.
Ancora una volta, purtroppo, questi contenuti sono di cattiva qualità e la rete è piena di cattivi contenuti diffusi ampiamente. Il principianti non ha elementi per giudicare la qualità, per fortuna c'è il forum, ma nessuno pone domande su come collegare un led, perché forse la rete è piena di tutorial.
Ti lascio un link.
Le guide di adrirobot che ho avuto modo di leggere non contengono strafalcioni.
Buonasera
Ho corretto il circuito (per la precisione ho posizionato il led in breadboard e l'ho collegato a una resistenza di 220 OHM)... e vi confermo che ora lo sketch si carica senza problemi
Detto questo... ho fatto un pò di prove anche con altri circuiti e credo di aver risolto il problema! Se dovesse capitare di nuovo, quindi, oltre ai vari controlli indicati nel web mi ricorderò di controllare MOLTO BENE anche il circuito e al massimo so che si risolve tutto riavviando il PC
Grazie mille, siete stati gentilissimi e preziosissimi!!
Se può essere utile, nel punto 16.1 del REGOLAMENTO, trovi sia una seria di .pdf scaricabili gratuitamente, sia l'indicazione di un ottimo libro, in Italiano, specifico per Arduino