Funzioni digitalRead e analogRead di Arduino

La funzione digitalRead() di Arduino IDE viene utilizzata per leggere il valore del segnale digitale sul pin specificato del microcontrollore. I pin digitali della scheda Arduino in modalità OUTPUT possono trovarsi in due stati: HIGH (uno logico) o LOW (zero logico). La funzione digitalRead() nel linguaggio di programmazione Arduino restituisce il valore HIGH o LOW nel programma a seconda dello stato del pin del microcontrollore.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LED e resistenza
  • pulsante
  • breadboard
  • cavi di collegamento

Come si usa digitalRead() di Arduino IDE?

Il comando digitalRead viene utilizzato per interrogare i sensori digitali del programma collegato al microcontrollore. Ad esempio, un sensore di movimento digitale, un sensore di vibrazione, un sensore reed, ecc. In questa recensione, utilizzeremo un pulsante collegato al pin digitale 2 della scheda Arduino. A seconda dello stato del pulsante, il LED collegato al pin 13 del microcontrollore Arduino Uno si accende o si spegne.

Sintassi della funzione digitalRead Arduino IDE

digitalRead(pin);
  • pin – numero dell’ingresso da cui si sta eseguendo la lettura
Schema di cablaggio per pulsante e LED ad Arduino
Schema di cablaggio per pulsante e LED ad Arduino

In questo esempio, si utilizzano le porte digitali della scheda per collegare un pulsante con una resistenza di pull-up e il comando DigitalRead per leggere i dati. Assemblate il circuito come mostrato nella figura precedente e caricate lo sketch. Si noti che quando il pulsante viene rilasciato, al pin 2 viene applicato uno “0” logico. Utilizzare questo pulsante per accendere e spegnere il LED collegato alla porta digitale 13 della scheda del microcontrollore.

Programma Arduino con la funzione digitalRead()




void setup() {
  pinMode(13, OUTPUT);
  pinMode(2, INPUT);
}

void loop() {
// quando il segnale è alto, il LED si accende
  if (digitalRead(2) == HIGH) { digitalWrite(13, HIGH); }
 
 // quando il segnale è basso, spegnere il LED
  if (digitalRead(2) == LOW) { digitalWrite(13, LOW); }
}

Spiegazione del codice per utilizzare funzione digitalRead significato



  1. la procedura di setup viene eseguita una volta e in essa si utilizza la funzione pinMode() per configurare le porte del microcontrollore;
  2. l’istruzione if controlla lo stato del pin e accende o spegne il LED in base ad esso.

Nota: Se al pin digitale non è collegato nulla, la funzione digitalRead() può restituire HIGH o LOW in modo casuale. Anche gli ingressi analogici (Analog In – A0, A1, ecc.) possono essere utilizzati come ingressi digitali, come con il comando digitalWrite. Fanno eccezione i pin A6 e A7 di Arduino Nano e Pro Mini, che possono essere utilizzati solo come pin analogici.

Conclusioni. In questo articolo abbiamo considerato il significato di digitalRead nel linguaggio Arduino e come è possibile utilizzare la funzione in uno sketch. Potete leggere ulteriori informazioni su questo comando qui – Accensione del LED dal pulsante. Ricordiamo che quando si collegano LED, pulsanti e sensori ad Arduino, non bisogna dimenticare di configurare il pin sulla modalità di funzionamento desiderata: INPUT o OUTPUT.

5/5 - (1 vote)


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.