Se ho un sensore che funziona in modo che, quando è in attesa di un evento ha in uscita un valore di 5V e nel caso venga attivato un valore di 0V, per la routine di lettura dei valori di questo sensore tramite codice, posso tranquillamente dirgli che lo stato cambia già ad un valore sotto a 900 ad esempio (nel caso di ingresso analogico)?
Con sensori di questo tipo, non ho alcun problema collegandoli ad un ingresso analogico vero?
Puoi collegarlo anche ad un ingresso digitale ed usare un interrupt per leggere il cambiamento di stato se il tuo codice fa anche altre cose. Se devi leggere SOLO il sensore, potresti mettere un semplice DigitalRead: quando vedi LOW, il sensore si è attivato.
leo72:
Puoi collegarlo anche ad un ingresso digitale ed usare un interrupt per leggere il cambiamento di stato se il tuo codice fa anche altre cose. Se devi leggere SOLO il sensore, potresti mettere un semplice DigitalRead: quando vedi LOW, il sensore si è attivato.
Ciao Leo. Volevo prima di tutto ringraziarti perchè sei sempre presente e rispondi sempre in modo velocissimo. Grazie!!!!!!!
Io ho disponibile solo un analogico (pin4) che sfrutto in accoppiata con un altro sensore, che ovviamente non è collegato nello stesso istante... No problem vero?
No, nessun problema. Puoi leggerlo come ti pare, sia come pin digitale che come pin analogico.
Se cmq sai che il livello è 0 o 5V puoi mettere una lettura digitale, meno dispendiosa per il micro in termini di consumi e di tempi di esecuzione.
Il pin digitale ha il vantaggio che la lettura é piú veloce e anche il controllo col if.
Ogni entrata analogica puoi usarlo come entrata/uscita digitale. Lo usi esattamente nello stesso modo come i pin digitale. Hanno i numeri da 14 a 19.
Ciao Uwe
Quello che vorrei sapere è: se uso il pin 4 come digitale però, l'altro sensore che condivide lo stesso pin (e che ricordo non è mai collegato nello stesso momento in cui è collegato questo) e che non ha questo tipo di uscita o 0 o 5V, ma assume valori compresi in questo range, a quel punto non funziona più, corretto?
Non capisco neanch io perché hai 2 sensori sullo stesso pin ma mai in contemporanea.
Coemunque puoi definire ogni pin in qualsiasi momento come entarata o uscita digitale oppure per i pin 14 a19 oltra aome E/U anche come entrata analogica.
Utilizzo lo stesso pin condiviso perché non ne ho più liberi. Gli altri li utilizzo per altri sensori, questo mi si è aggiunto al disegno iniziale e visto che se ho collegato il primo, il secondo sicuramente non è collegato, ho pensato di usare lo stesso pin anziché togliere dei sensori.
La questione è che la routine che 'ascolta' l'evento sul sensore analogico, verrebbe sfruttata anche per gestire il sensore con uscita 0 o 5V.
Quindi, dovendo fare una lettura analogica nel primo caso (analogRead), chiedevo appunto se fosse un problema fare lo stesso tipo di lettura su un sensore con uscite di cui sopra.
Prima non ho spiegato tutto bene e mi sono espresso male. Scusate.
Dato che sei in carenza di pin... potresti magari utilizzare uno o più shift register tipo 74HC595 che ti da la possibilità di moltiplicare le uscite digitali
un 74HC595 ti occupa 3 pin... però ti restituisce 8 uscite
due 74HC595 ti occupano sempre solo 3 pin e ti danno 16 uscite
e così via...
poi non so se per la tua applicazione possono andare bene, ma credo di si!