Errori comuni nell’uso di Arduino – evitare lo stato flottante di un pin di Arduino

Uno degli errori tipici che riscontro durante le correzioni degli esercizi dei miei studenti alle prime esperienze nell’uso dei microcontrollori, è quello di ritenere che su un pin non collegato a nulla vi sia la presenza di uno stato logico LOW, questo non è corretto. Viene definito floating (flottante) un pin di ingresso a cui non è collegato nulla, in questa condizione sul pin potrebbe essere presente qualsiasi stato.

L’uso di un resistore collegato in modalità pull-up o pull-down costringerà il pin a uno stato noto, ma questa non è l’unica modalità.  E’ possibile fissare uno stato su un pin utilizzando un metodo, in parte già illustrato in un mio precedente post, che sfrutta l’utilizzo di un resistore di pull-up interno alla scheda. Per abilitare questa resistenza sarà sufficiente indicare all’interno del setup la funzione pinMode() con largomento “INPUT_PULLUP” oppure nella stessa maniera utilizzando le istruzioni:

Per entrambe le modalità noterete che il LED è normalmente accesso, alla pressione del pulsante si spegnerà.

Circuito

Modalità 1

Modalità 2

Nel caso abbiate la necessità di invertire lo stato e fare in modo che il LED sia normalmente spento e si accenda alla pressione del pulsante sarà sufficiente applicare l’operatore NOT, indicato con il simbolo “!”  alla funzione digitalRead(7):

Lo sketch completo sarà:

Potete trovare un ulteriore esempio di applicazione alla pagina 78 delle slide: Alfabeto di Arduino – lezione 2

Articoli simili:

Questa voce è stata pubblicata in arduino, i miei allievi e contrassegnata con , , , , . Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.