Delucidazione su resistenze

Ciao ragazzi, ho appena acquistato un arduino e sto iniziando a capire le basi dell'elettronica, calcolare le resistenze necessarie per limitare la corrente in funzione un led specifico eccetera. Non mi sono chiare alcune cose però (ciò che ho trovato in rete finora presenta versioni discordanti ed è tutto abbastanza confuso):

|500x428

Questo è lo schema del circuito per l'accensione di un led tramite bottone degli esempi Arduino. Non capisco come mai dalla 5V, dopo l'interrutore, vengano collegati in parallelo il GND e il pin 2. Non sarebbe possibile usare suddetto pin come massa, eliminando il collegamento con il GND? Inoltre nell'esempio viene utilizzata una resistenza di 10K ohm che è molto alta, sapreste dirmi il perchè, e come si è fatto a calcolare tale valore? Grazie mille ;)

Ciao, essendo il tuo primo post, ti chiederei cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo

Premetto di essere un novellino con Arduino ed anche con l'elettronica però da quello che sono riuscito ad imparare io non si può utilizzare il pin 2 come GND perché il pin 2 non può essere messo a massa e serve per leggere se il circuito viene chiuso così il valore del pin 2 viene modificato e riesce a leggere se deve dare corrente o no al led sempre tramite il pin 2. Per la resistenza è molto alta probabilmente perché il LED richiede una corrente minima, di fatti se tu mettessi un resistenza progressivamente minore, l'intensità della luce del led aumenterebbe in modo inversamente proporzionale alla resistenza fino a fondersi per l'elevata corrente che ci passa dentro. Per quello che ne so potresti calcolarla tramite legge di Ohm. Ripeto che sono un novellino quindi non garantisco che quello che ho detto sia giusto in più non sono nemmeno un elettronico quindi prendi quello che ti ho detto con i guanti.

Cordiali saluti Luca Martinelli.

Per la tua domanda ... ... quella è una resistenza di "pull-down" e serve a tenere in uno stato ben definito il pin di Arduino quando il pulsante è aperto.

I pin di I/O di Arduino sono ad alta impedenza e, usati come ingressi, NON possono essere lasciati flottanti, pena avere false letture, quindi si forza un loro valore o a LOW (pull-down) o ad HIGH (pull-up).

Il valore della resistenza è scelto per limitare la corrente al minimo quando si chiude il pulsante (così da minimizzare gli assorbimenti), ma sufficientemente bassa da garantire il livello LOW sul pin anche in caso di disturbi ambientali.

Guglielmo

Hai ragione scusa, vado a presentarmi subito :D

Grazie mille, ho letto delle documentazioni sui pull-up e ho capito ^^ In sostanza quando l'interrutore è aperto la corrente può passare soltanto per il GND, mentre quando è chiuso la corrente va al 5V poichè il collegamento che va da 5V a pin 2, che è un cavo, ha resistenza molto minore rispetto al resistore da 10K ohm giusto? Ma in questo caso non sarebbe come collegare direttamente il 5V al pin 2? Non farebbe cortocircuito danneggiando la scheda? Grazie ancora :) Enrico

si cavo ed interruttore hanno resistenze bassisime quindi trascurabili risptto ai 10K della resistenza

se colleghi direttamente +5V --> pin2 hai sempre il pin allotata HIGH quindi non lo controlli!

Enry98: Hai ragione scusa, vado a presentarmi subito :D

Grazie mille, ho letto delle documentazioni sui pull-up e ho capito ^^ In sostanza quando l'interrutore è aperto la corrente può passare soltanto per il GND, mentre quando è chiuso la corrente va al 5V poichè il collegamento che va da 5V a pin 2, che è un cavo, ha resistenza molto minore rispetto al resistore da 10K ohm giusto? Ma in questo caso non sarebbe come collegare direttamente il 5V al pin 2? Non farebbe cortocircuito danneggiando la scheda? Grazie ancora :) Enrico

Mi dai il dubbio che la corrente pensi esca dal 2 che però è un ingresso che lavora in tensione. NB: la corrente va sempre dal positivo al negativo ovvero quando tu hai una tensione la corrente scorre sempre dal più verso il meno. Idealmente l'ingresso di arduino ha una resistenza altissima per cui basterebbe anche una piccolissima corrente (il disturbo elettromagnetico di una lampada al neon ad esempio) per far scorrere una microcorrente tale da far interpretare il disturbo come un comando. In quel caso si mette una resistenza verso massa che "tira" l'ingresso a massa, corrente però, attraverso la resistenza non ne passa. Quando chiudi l'interruttore la corrente passa dal +5 verso massa attraverso la resistenza. La corrente sarà V/R e, dato che la resistenza del pin è altissima, non passerà alcuna corrente attraverso il pin 2. Gli ingressi dei microcontrollori sono sempre ad alta impedenza quindi lavorano in tensione. Per comodità sono state inserite delle resistenze interne s-collegabili via software che evitano di mettere resistenze esterne (sono gratis :D) Spero di essere stato chiaro.... Stefano

cam9500: Mi dai il dubbio che la corrente pensi esca dal 2 che però è un ingresso che lavora in tensione.

Si scusa, mi sono espresso male io.. Chiarissimo, grazie!! ;) Ultimissima cosa, quindi se collegassi il 5V a un pin di input non si danneggerebbe la scheda? Ad esempio se utilizzassi invece un deviatore

con COM attacato al pin input, L1 a 5V e L2 a GND si brucerebbe l'arduino per un corto circuito? Scusate ma sono confuso, un sito dice che se collego un pin settato su HIGH ad uno settato su LOW dà problemi, è la stessa cosa?

Lo schema che hai riportato in parole povere serve solo a dare un valore al piedino 2, a pulsante chiuso sul piedino 2 avrai un valore logico noto come HIGH(per semplificare diciamo +5v) a pulsante aperto il pin 2 risulta chiuso a massa tramite la resistenza dunque valore logico LOW. Con un software adatto alla situazione potresti comamdare lo stato di un piedino impostato come output. La resistenza serve per evitare che a pulsante chiuso i 5V vadano direttamente a massa(corto circuito)spero di essere stato chiaro :-)

@Enry98, i pin possono essere dichiarati sia in INPUT che in OUTPUT ...

... premesso questo, un pin in INPUT NON lo puoi danneggiare né se lo colleghi a GND né se lo colleghi a +Vcc dato che la sua impedenza d'ingresso è altissima e la corrente che scorre è minima.

Diverso è il caso del pin messo come OUTPUT nel qual caso NON va MAI collegato né direttamente a GND né a +Vcc poiché, a seconda di come il pin si trova (HIGH o LOW) puoi creare un corto circuito.

Ti consiglio questa simpatica lettura "10 modi per distruggere un Arduino" che ti mostra quali sono le cose da NON fare ;)

Guglielmo

gpb01: @Enry98, i pin possono essere dichiarati sia in INPUT che in OUTPUT ...

... premesso questo, un pin in INPUT NON lo puoi danneggiare né se lo colleghi a GND né se lo colleghi a +Vcc dato che la sua impedenza d'ingresso è altissima e la corrente che scorre è minima.

Diverso è il caso del pin messo come OUTPUT nel qual caso NON va MAI collegato né direttamente a GND né a +Vcc poiché, a seconda di come il pin si trova (HIGH o LOW) puoi creare un corto circuito.

Ecco! Mi mancava la parte che l'impedenza cambiava a seconda se il pin fosse settato a input o output ^^ Grazie mille a tutti, ora mi è chiaro :)

Per precisazione un entrata (INPUT) si rompe anche se si da una tensione piú bassa di -0,5V e piú alta della tensione di alimentazione +0,5V. per esempio se si da 12V.

I 0,5V derivano da dei diodi che sono messi tra il pin e massa e +alimentazione.

Ciao Uwe

Ciao, non è che cambia l'impedenza se un pin è ingresso o uscita. Cambia che se è ingresso il pin è una impedenza (o più semplicemente una resistenza), se è una uscita è un generatore di tensione. Da qui se un pin è ingresso e lo alimenti correttamente non capita nulla, se un pin è uscita e lo alimenti, allora vince il generatore più potente (quindi se alimenti esternamente il pin di uscita di un arduino con 5v o massa, bruci il pin appena hai l'uscita ad un valore diverso da quello alimentante dall'esterno)