Arduino uno fake sembra difetoso

Saalve a tutti ragazzi, ho un problema, in pratica ho bisogno di leggere lo stato di un pin digitale con la funzione digitalRead(PIN); ma quando leggo lo stato e lo stampo in seriale quando passa corrente, stampa 1111111111111… quando non passa stampa 1110111011101110101011111110… cioe’ stampa a volte uno 0 e poi ancora uno anche SENZA corrente… L’unica cosa che posso pensare e che la scheda puo’ essere difettosa oppure l’ho maledettamente rovinata senza accorgermene (in tutte le alte operazioni funziona normalmente) o boh… HELP hahah

Un saluto a tutti >Kiriso<

... magari usare una terminologia più consona all'elettronica no ?

Cosa diavolo vuoi dire con "quando passa corrente" e con "quando non passa" ? ? ? E quale schema stai usando ? ? ?

In ogni caso ... ti ricordo che i pin di Arduino sono ad alta impedenza e NON possono essere lasciati flottanti ... pena leggere valori a caso !

Guglielmo

gpb01: Cosa diavolo vuoi dire con "quando passa corrente" e con "quando non passa" ? ? ?

"Arduino uno fake sembra difetoso" Allora cosa vuoi da noi?

Chiedi sul forum Arduino fake.

Seriamente: Hai messo una ressistenza pulldown sull'entrata?

Ciao Uwe

No ragazzi calma, l'importante è che non tenti di far passare la corrente attraverso il suo corpo come l'utente della breadboard + 220 + fase in comune con la massa di arduino ;D

KirisoSP:
Saalve a tutti ragazzi, ho un problema, in pratica ho bisogno di leggere lo stato di un pin digitale con la funzione digitalRead(PIN); ma quando leggo lo stato e lo stampo in seriale quando passa corrente, stampa 1111111111111… quando non passa stampa 1110111011101110101011111110… cioe’ stampa a volte uno 0 e poi ancora uno anche SENZA corrente… L’unica cosa che posso pensare e che la scheda puo’ essere difettosa oppure l’ho maledettamente rovinata senza accorgermene (in tutte le alte operazioni funziona normalmente) o boh… HELP hahah

Un saluto a tutti >Kiriso<

Non è che si capisca molto. E’ noto che un pin di Arduino NON può essere lasciato senza collegamento. Come detto sopra da @Guglielmo, essendo ad alta impedenza, sente qualsiasi interferenza, indi passa 0 a 1 a casaccio.

@Kiriso, un suggerimento. Bene se sai programmare, ma devi imparare anche un pò di elettronica. Altrimenti rischi di friggere Arduino. Leggi un buon libro di introduzione all’elettronica.

Grazie a tutti per le risposte, non sapevo che le porte dell’arduino di default fossero in uno stato di alta impedenza, comunque scusate tanto per il linguaggio, non ho tanta familiarita’ con l’elettronica e solo adesso sto iniziando a capirci veramente qualcosa. Grazie ancora, un saluto a tutti ragazzi >Kiriso<

Questo vale sia che sia "fasullo", sia che sia "originale". Se fai il digitalread su una porta scollegata, rischi di leggere 1 e 0 a caso. Quindi devi usare come ti hanno detto una resistenza di pull-down. Il resistore sopra indicato serve a "forzare" uno stato 0 quando la porta è scollegata. Va bene un 10 k fra la porta e GND. Si chiama "pull-down" proprio per questo, porta giù il valore verso lo 0. Quando invii invece +5 V alla porta, leggerai il valore 1.

Il procedimento inverso è il pull-up. Metti il resistore fra la porta e + 5V. La porta è forzata a leggere 1 quando è scollegata. Se la porti a GND invece leggerai 0.