Arduino Forum

International => Italiano => Hardware => Topic started by: Standardoil on May 16, 2019, 08:21 am

Title: Analog e digital read stesso pin
Post by: Standardoil on May 16, 2019, 08:21 am
Ho una curiosità:
Ma se io nello stesso programma, faccio un lettura analogica e una digitale dello stesso pin, funziona?
Intendo ovviamente che se ci fosse un potenziometro, su quel pin, avrei con la analogica un intero "congruo" con la posizione del potenziometro, e con la digitale alto o basso a seconda se la lettura supera o meno la soglia
Utilità della cosa nulla (messa così, se la si pensasse in ottica di conigli e cappelli invece....)
Ma utilità a parte, funzionerebbe?
Purtroppo non ho qui una UNO per provare....
Title: Re: Analog e digital read stesso pin
Post by: gpb01 on May 16, 2019, 08:39 am
Secondo me dovrebbe funzionare ...
... questo è lo schema dei collegamenti di un generico pin Pxn con tutte le sue possibili "funzioni alternative" (ove presenti).

(https://forum.arduino.cc/index.php?action=dlattach;topic=616155.0;attach=308391)


Come si vede il collegamento che va al AIOx è indipendente dai collegamenti della parte digitale, quindi non vedo perché non dovresti poter fare le due cose ;)

Guglielmo
Title: Re: Analog e digital read stesso pin
Post by: gpb01 on May 16, 2019, 08:41 am
... aggiungo solo che, relativamente alla lettura sui pin digitali, ti ricordo quanto ho già scritto QUI (http://forum.arduino.cc/index.php?topic=486911.msg3322617#msg3322617) ;)

Guglielmo
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 16, 2019, 08:43 am
Grazie
Title: Re: Analog e digital read stesso pin
Post by: paulus1969 on May 16, 2019, 09:30 am
Però spesso i circuiti esterni sono ottimizzati in modo diverso a seconda che si vogliano usare letture digitali o letture analogiche.
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 16, 2019, 09:53 am
Vediamo se ho capito giusto
Le due funzioni sono indipendenti e quindi io potrei avere anche un riferimento di tensione AREF non pari av5 volt, giusto? Pur lavorando, quando in digitale, a 5 volt
Title: Re: Analog e digital read stesso pin
Post by: uwefed on May 17, 2019, 01:45 am
Puoi leggere un entrata analogica anche in modo digitale ma secondo me non ha tanto senso visto la zona morta tra 1,5 e 3V (ATmega alimentato a 5V) in questo range puoi avere letture sia H che L a secondo del andamento precedente della tensione analogica.
Sotto 1,5V leggi L
sopra 3V leggi H
In mezzo puoi leggere L o H.
Puó essere che devi fare 2 letture analogiche e scartare la prima per avere una lettura affidabile.

Ciao Uwe

 
Title: Re: Analog e digital read stesso pin
Post by: docdoc on May 17, 2019, 11:22 am
ma secondo me non ha tanto senso visto la zona morta tra 1,5 e 3V
Ah ecco me lo chiedevo anche io infatti. Quindi in pratica non conviene usare questo approccio a meno che non si sia certi del range di tensioni.

Quote
Sotto 1,5V leggi L
sopra 3V leggi H
In mezzo puoi leggere L o H.
Il famoso "Pin di Schrödinger" :D
Title: Re: Analog e digital read stesso pin
Post by: gpb01 on May 17, 2019, 11:28 am
... rammento comunque che, sul ATmega328P, c'è un "comparatore analogico" e quello si che può essere usato per avere una soglia ben definita ed un interrupt al superamento :)

Guglielmo
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 17, 2019, 12:22 pm
Manno...
La mia domanda andava in un'altra direzione
Tenere basso il riferimento dello adc, per distinguere letture analogiche da letture digitali
In ottica di multiplex estremo, come in un'altra discussione
Grazie per le risposte
Title: Re: Analog e digital read stesso pin
Post by: paulus1969 on May 17, 2019, 05:18 pm
Ma se invii tensioni superiori ad aref cosa succede?
Title: Re: Analog e digital read stesso pin
Post by: gpb01 on May 17, 2019, 05:27 pm
Ma se invii tensioni superiori ad aref cosa succede?
... purché nel limite di Vcc, se superi Aref ottieni sempre il valore massimo 0x3FF (a 10 bit).

Guglielmo
Title: Re: Analog e digital read stesso pin
Post by: paulus1969 on May 17, 2019, 05:39 pm
Allora ricordavo bene.
Se mette aref basso, potrebbe avere uno stato in cui legge 3FF in ared e LOW in digitale.
Title: Re: Analog e digital read stesso pin
Post by: gpb01 on May 17, 2019, 05:41 pm
Se mette aref basso, potrebbe avere uno stato in cui legge 3FF in ared e LOW in digitale.
Si, infatti, basta che seleziona il riferimento interno a 1.1V e arriva a 0x3FF prima che in digitale possa leggere HIGH  :D

Guglielmo
Title: Re: Analog e digital read stesso pin
Post by: uwefed on May 17, 2019, 05:42 pm
Ah ecco me lo chiedevo anche io infatti. Quindi in pratica non conviene usare questo approccio a meno che non si sia certi del range di tensioni.

Il famoso "Pin di Schrödinger" :D
No. niente gatti e niente Schrödinger.

Nella zona morta il valore letto non é casuale ma rimane quello letto prima di entrare nalla zona morta.
Esempio: ho una tensione analogica che aumenta e va da 0 a 5V Viene letta LOW finche raggiunge i 3V. viceversa se una tensione che diminuisce da 5V a 0 viene letta HIGH fino che raggiunge i 1,5V. Percui la tensione da 1,5V a 3V puó essere letta H o L.

Ciao Uwe
Title: Re: Analog e digital read stesso pin
Post by: steve-cr on May 17, 2019, 06:47 pm
Ci ho pensato su un po': l'idea non è malaccio, se intesa a spremere il nostro processore ed utilizzare i pin analogici anche come digitali, quindi avere piu ingressi. Su Arduino UNO, per esempio, ho 6 ingressi analogici, occupati da 6 potenziometri, ma potrei avere gli stessi ingressi come digitali avendo un totale di 26 canali e non 20.
Però se un ingresso digitale è ON (cioè, in configurazione pull-down, 5V) mi "copre" la lettura del potenziometro.
Se però sacrifico un pin digitale e multiplexo l'alimentazione di questi 6 ingressi digitali, succhede che con alimentazione 5V spenta leggo i potenziometri puri e con alimentazione 5V accesa leggo i digitali.
Non ho più 26 canali ma ne ho sempre 25...
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 17, 2019, 09:03 pm
Più o meno l'idea era questa....
Title: Re: Analog e digital read stesso pin
Post by: Stilita on May 18, 2019, 10:58 am
L'eventuale pin analogico, usato in uno schetch in due modi, come dev'essere dichiarato
nel setup?
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 18, 2019, 12:14 pm
Visto che li useremo in input, input,

 non possiamo certo usarli output, e input pullup disturberebbe analogico
Title: Re: Analog e digital read stesso pin
Post by: Stilita on May 18, 2019, 02:03 pm
Visto che li useremo in input, input,

 non possiamo certo usarli output, e input pullup disturberebbe analogico
Si lo so che sono in input, quindi visto che il pin analogico non si dichiara, dichiariamo nel setup solo
il modo digitale, ad esempio: pinMode(0,INPUT)
e poi da qualsiasi punto del programma lo useremo come digitale che analogico
è così?
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 18, 2019, 03:50 pm
Non ho mai provato, ma penso proprio di sì
Lunedì magari provo
Title: Re: Analog e digital read stesso pin
Post by: maubarzi on May 18, 2019, 05:17 pm
Quindi, fatemi capire perchè sono un po' tardo, "sacrificando" un pin digitale perchè destinato a funzione di alimentatore, si ottiene di poter utilizzare contemporaneamente i pin analogici sia per letture analogiche, ad es. di potenziometri, che digitali di altri circuiti perchè l'analogico sarebbe sempre attivo ma tarato in modo che al massimo valore ottenibile rimanga sempre entro la soglia low digitale. I circuiti digitali verrebbero alimentati dal pin sacrificato, quando spenti si avrà solo valori analogici, quando alimentati la loro uscita prevarrà perchè la componente analogica comunque non supera la soglia low.

Ora, visto che dispositivi digitali non è detto che possano essere alimentati e ottenere subito risposte, invece di usare il pin sacrificale come alimentazione, si potrebbe usare per metterlo in AND con le sorgenti digitali, ma forse questa strada non va bene perchè comunque l'uscita digitale non è detto sia proprio zero e quindi potrebbe andare ad interferire comunque con la lettura analogica.
Giusto?
Quindi in entrambi i casi ci potrebbero essere delle criticità o delle controindicazioni.
Title: Re: Analog e digital read stesso pin
Post by: Standardoil on May 18, 2019, 07:26 pm
Infatti non è detto che i trucchi riescano sempre, però, in caso di necessità, provare non farebbe male
Title: Re: Analog e digital read stesso pin
Post by: maubarzi on May 18, 2019, 08:22 pm
Il datasheet del 74HC08 dà una Vol tipica di 0,001V (con una Iol da 40uA), ma con valori massimi che arrivano fino a 0,1V.
Mi sa che dipende dal singolo cip se la cosa può funzionare o meno.
Parlo del caso di mettere il segnale digitale in AND con il pin sacrificale di arduino e non di usare il pin per alimentare i circuiti con uscita digitale.