Autodiagnosi per Arduino?

Questa domanda mi sorge dopo un pauroso quanto fragoroso cortocircuito....
Ma per l'Arduino, esiste un sw di autodiagnosi o un p.o.s.t. che faccia una verifica anche sommaria delle porte e delle loro funzionalità?
magari tramite dei collegamenti in loopback?

se non esiste si può sempre fare.. :wink:

buttiamo giù un po di idee...
Direi di fare per prima una lista delle porte e delle loro funzioni

io ho spaccato 2 mega e un pc grazie a dei mega cortocircuiti... occhio :smiley:

addirittura il PC :o io pensavo che il PTC sulla scheda ci parasse il c**o

ptc sarebbe? il mio era un cc con un cavo da 12v proveniente da un alimentatore ATX. Essendo io una fava l'ho lasciato volante sulla scrivania e a un certo punto BAM........ morto sia il pc che l'arduino, la seconda volta è successo uguale solo che il pc si è salvato............. per fortuna ahahah

Allora, abbiamo:
Seriali: 0 (RX) e 1 (TX)

Interrupts esterni: 2 e 3

PWM: 3, 5, 6, 9, 10, e 11

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

LED: 13

I2C: 4 (SDA) e 5 (SCL)
e poi
Analog in: 0,1,2,3,4,5,6

abbiamo anche disponibili due tensioni (3,3v e 5v) che potremmo usare per riferimento e confronto.
::slight_smile:

il PTC è un componente montato sulla linea dei 5V della USB. in condizioni normali ha una resistenza così bassa che può essere considerato un cortocircuito. se però la corrente che vi scorre attraverso supera una certa soglia (nel nostro caso 500mA) la sua resistenza aumenta a tal punto da poter essere considerato un circuito aperto e quindi blocca il passaggio di corrente.
il tuo, però, è un caso diverso

ah ho capito è quella specie di fusibile...

il mio discorso vuole essere più generico, pensavo più a qualcosa tipo arduino health shield...
con semplici cicli di lettura scrittura e controllo sulle porte. ::slight_smile:

esatto

Se si collegassero una serie di led da una porta all'altra e poi li si facesse accendere e spegnere in sequenza controllata o via pwm?

con l'usbasp potresti leggere la memoria del micro!

mmm interessante. ci ho messo un po' a capire quello che intendevi. tu stai pensando ad una shield che, combinata con un fw apposito, permetta ad Arduino di capire se e cosa non va in lui, giusto?

Autodiagnosi...
senza altri dispositivi

Ok per l'autodiagnosi, ma se per controllare una porta ne devi utilizzare un'altra ed entrambe sono difettose, anche un semplice controllo incrociato non basta.. e il costruire un circuitino di test si complica parecchio... (e non so neppure se ci si salta fuori...)

Comunque sia, direi che nella stragrande maggioranza dei casi, quando non è fritto tutto, se una porta non va non funzionano anche tutte le funzioni ad essa associate, viceversa, a me non è mai capitato che una porta che ha subito uno stress funzionasse ed una o più funzioni associate no...

sul mio diecimila non andava più il digital out 3 ma il resto funzionava alla grande, cambiato il chip e funziona tutto!

L'arduino e' cosi' piccolo che mi pare uno spreco di tempo e soldi sta cosa dell'autodiagnosi. Se non va una porta te ne accorgi nel giro di poco!

non capisco cosa significa "piccolo", comunque credo che sia capitato a tanti che durante la fase di prototipazione, dove ancora non si sà cosa funziona, un corto o qualcos'altro aggiunga incognite, bè io sarei felice di sapere da subito di poter escludere arduino dai componenti da diagnosticare, oppure sapere che è problema di mcu e quindi fermarmi con le prove no?
quando accendi il pc da dove scrivi i tuoi post... bè il primo vero p.o.s.t. lo fà il B.I.O.S. prima di tè ;D

Concordo con brainbooster.. e poi sia sa, le dimensioni non sempre contano ;D ... a parte gli scherzi: la complessità di un progetto non è determinata dalla dimensione (sia fisica che di capacità e caratteristiche) del dispositivo utilizzato. Avete mai provato a programmare un PIC in ASM :-/ (con le word a 12 bit :frowning: ).
Insomma, un piccolo applicativo capace di verificare che non siano intervenuti problemi hardware non è poi una brutta idea.
Il problema è come fare a testare una porta come ingresso, poi come uscita ed eventualmente come terzo stato... per non parlare degli ingressi analogici (in numero dispari) che dovrebbero anche essere testati come porte logiche...

Insomma: per testare un micro come questo sarebbe necessario un micro analogo o superiore... e viene da chiedersi: il gioco vale la candela?
Forse un semplice programmino che accetta un tasto (da seriale su PC) per avanzare degli step che abilitano le varie funzioni da controllare con tester/oscilloscopio e con ingressi settati a mano, può dare una sufficiente sicurezza a chi ha dubbi sulla funzionalità.. o no?