E possibile utilizzare come condizione di un if lo stato di un uscita digitale? Grazie mille
Si, perché non dovrebbe? Puoi usarlo anche direttamente (senza salvarlo in variabile) e puoi leggere anche le uscite con la digitalRead. Sappilo
Sul Arduino UNO, Mega o Leonardo e similari che montano gli stessi controller puoi leggere con digitalRead(pin) lo stato del pin anche se é definito come uscita.
Quanto mi ricordo non funziona col l'Arduino DUE.
Ciao Uwe
Si, credo funzioni solo con MCU della serie AVR ... :
Guglielmo
Credo che l'implementazione di Arduino lo faccia funzionare anche sulla Due (mi pare di averlo visto una volta).
In ogni caso a me non sembra una buona scelta progettuale ed eviterei di farlo. Usa sempre della variabili per conservare queste informazioni.
SukkoPera:
In ogni caso a me non sembra una buona scelta progettuale ed eviterei di farlo. Usa sempre della variabili per conservare queste informazioni.
Non so dire se é una cosa da evitare o un butto stile di programmazione.
Sicuramente la lettura del Pin digitale é piú lenta rispetto la lettura delo stato da una variabile boolean o byte.
Ciao Uwe
SukkoPera:
... In ogni caso a me non sembra una buona scelta progettuale ed eviterei di farlo ...
Concordo al 100% !
Guglielmo
Comunque confermo:
SukkoPera:
Comunque confermo:
Giusto. E tra l'altro si vede anche che non effettua fisicamente la lettura ma usa il suo array degli stati, per cui il timore di uwe mi pare infondato.
In pratica vorrei visualizzare su lcd lo stato di un uscita, arrivato a questo punto, realizzo un rlc che mi va a comandare l'uscita e automaticamente vado anche a leggere per il display. Grazie mille
Ma l'uscita la piloterai ben tu, no? Per cui hai modo di impostare anche una variabile al valore che dovrebbe avere.
Perché usare una variabile per conoscere lo stato di un pin?
Personalmente preferisco leggere direttamente il PIN ogni volta di cui mi serve saperne lo stato. Poi, se la cosa non fosse possibile ( ma bisogna saperlo nel caso specifico) posso collegare il meno dell'oggetto collegato al pin di output ad un pin di input. in caso io non possa leggere neanche I pin di input cambio scheda
Sarebbe vero se le variabili costassero più dei pin
Invece è meglio risparmiare pin e usare variabili, sono vendute in scatole più grandi....
Si, ma non esistendo una correlazione diretta stato variabile stato pin meglio verificare (ti dimentichi di aggiornare la variabile dopo una digitalWrite e ciao)
Perché a livello teorico il fatto che il tuo pin sia ad un certo livello dovrebbe essere una conseguenza dello stato interno del tuo programma, non è il flusso del tuo programma che deve dipendere dal livello di un pin di OUTPUT sotto il tuo controllo esclusivo.
Il fatto che su alcune piattaforme le lettura di un pin di output non sia nemmeno possibile dovrebbe già far riflettere. Poi beh, ci sono situazioni particolari, stili personali e quant'altro.
problema risolto, il tutto funziona, grazie millle