Impostazioni del software

Ciao a tutti

ma quando noi ad esempio impostiamo che un pin va messo in input o output il codice cosa andrà a settare fisicamente ?

Un pin di input come si presenta verso l'esterno ? (intendo alta impedenza o cose del genere)

Grazie

Devi andarti a studiare il datasheet della MCU che intendi usare e vedere come un pin può essere o un ingresso o un uscita a seconda di come viene configurato, attraverso dei registri, dal software.

... questo è come è fatto internamente il collegamento di un pin Pxn nel caso di un ATmega328P.

L'impedenza di un pin, utilizzato come ingresso, è dell'ordine dei MΩ (alta impedenza) ... per questo motivo NON vanno mai, se usati come ingressi, lasciati scollegati, perché il valore LOW/HIGH è funzione di quasiasi disturbo elettromagnetico il pin riceva.

Guglielmo

1 Like

Ok chiaro

ma quindi se io andassi a misurare la tensione di due pin, impostati come ingresso, ma non collegati ? Potrei leggere valori diversi fra pin ?

:open_mouth: :open_mouth: :open_mouth: ... in che senso ?

Se vai a leggere con la digitalRead() due pin in INPUT che sono lasciati senza nulla collegato, vedrai risultati casuali di LOW/HIGH che si alternano nel tempo.

Guglielmo

Intendevo con il multimetro

faccio questa domanda perchè alimentando l'arduino 1 con la usb su due pin di input trovo un valore di tensione pari a 0 V

alimentando dal jack su due pin di input trovo un valore di tensione pari a 2.2 V circa

NON puoi fare la misura con un multimetro su dei pin configurati in INPUT che sono ad alta impedenza ... ottieni dei valori che NON hanno alcun senso ... ma lo hai visto lo schema interno? Hai capito come è configurato il pin quando è in INPUT ? ? ? Sei sul GATE di un MOSFET !!!

L'unico caso in cui puoi leggere qualche cosa di significativo è quando i pin in ingresso sono configurati come INPUT_PULLUP ...

Guglielmo

si i due pin sono collegati ad un led con resitenza e alimentazione da 3.3V

  • Il mosfet in alto a sinistra abilita il pullup interno (che funziona solo se il pin è impostato come ingresso), attraverso la resistenza sul source;
  • il buffer al centro è three-state e pilota il pin solo se è impostato come uscita, altrimenti rimane ad alta impedenza;
  • sotto è presente lo stadio d'ingresso, che scollega il pin quando il uC va in sleep e forza a 0 l'ingresso dell'inverter di Schmitt al quale segue un flip-flop che manda il segnale sul bus solo quando arriva un impulso di clock ed è attiva la lettura del pin (RPx).

@Datman : ... perdona ma dalla sua presentazione del 2018 diceva che:

Sono all'ultimo anno di ingegneria elettronica, sto concludendo l'ultimo esame e in aprile mi laureo.

... spero bene che un laureato in ingegneria elettronica sia in grado di leggere e capire da solo quello schema senza qualcuno che debba spiegarglielo come ad un novellino !

Guglielmo

Ciao

in realtà me lo ero già visto da me. Non mi pare di aver chiesto di spiegarmelo, però vi ringrazio in ogni caso.

La tua considerazione caro Guglielmo la trovo alquanto inopportuna, in ogni caso grazie lo stesso ero arrivato a capirlo già prima della tua uscita infelice.

Grazie molte

... mi sa che NON hai letto bene i post o non li hai capiti!

Io ho precisato a Datman (era un appunto a LUI) che, essendo tu laureato in elettronica, non credo ti servisse la spiegazione delle varie parti di quello schema e che sicuramente eri in grado di analizzare da solo il circuito senza intervento da parte di altri ... cosa che tu mi sembri confermare:

Quindi ... quale considerazione inopportuna ? ? ? :open_mouth: :open_mouth: :open_mouth:

Guglielmo