Come usare pin analogici di Arduino come digitali

 

A volte nei propri progetti sono utilizzati tutti i pin digitali presenti sulla scheda Arduino UNO.
Questi sono 14, e di solito il pin 0 e 1 non vengono utilizzati in quanti dedicati alla comunicazione seriale con il PC. Vediamo come trasformare i pin analogici in digitale per aumentare questo numero .

pin analogici come digitali

Pin connettore DIGITAL (PWM ~)

Ciascuno dei 14 pin digitali presenti sulla Arduino Uno può essere utilizzato indifferentemente come un ingresso o un’uscita, utilizzando le funzioni pinMode()digitalWrite(), e digitalRead().

pin analogici come digitaliInoltre, alcuni pin hanno funzioni specializzate:

  • Pin: 0 (RX) e 1 (TX): possono essere utilizzati per ricezione (RX) e trasmissione (TX) dei dati seriali TTL. Questi sono collegati ai pin corrispondenti della porta USB-TTL del processore ATmega8U2.
  • Pin 2 e 3: possono essere configurati come trigger per eventi esterni, come ad esempio il rilevamento di un fronte di salita o di discesa di un segnale in ingresso.
  • Pin 3, 5, 6, 9, 10 e 11: possono essere configurati via software con la funzione analogWrite() per generare segnali PWM con risoluzione di 8 bit. Tramite un semplice filtro RC è possibile ottenere tensioni continue di valore variabile.
  • Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): possono essere programmati per realizzare una comunicazione SPI, con un’apposita libreria SPI.
  • Pin 13: è connesso a un LED interno alla scheda, utile per segnalazioni di diagnostica. Quando il livello del pin è HIGH, il LED si accende , se il livello del pin è LOW,  il led si spegne
  • GND; è il contatto di massa (GND).
  • AREF: Tensione di riferimento per gli ingressi analogici. Utilizzato con analogReference().

NOTA: sono poi presenti due pin posti alla sinistra del pin AREF che non sempre riportano la sigla. Questi sono in realtà due pin dedicati alla comunicazione con il protocollo I2C , identici a quelli dei pin A4 (SDA) e A5 (SCL) sul connettore ANALOG IN.

Utilizzo dei pin Analogici come digitali

La possibilità di recupero di altri pin digitali,  è data dal fatto che i pin analogici di Arduino possono essere usati come I/O digitali.

NOTA: ricordate che nel caso il vostro progetto utilizzi dei dispositivi con interfaccia I2C, i pin A4 (SDA) e A5 (SCL) non potranno comunque essere utilizzati.

pin analogici come digitali

In questo caso la loro numerazioni sarà:

Pin AnalogicoPin Digitale
A0D14
A1D15
A2D16
A3D17
A4D18
A5D19
Ourpcb

Come utilizzare i nuovi  pin

Vediamo sotto un esempio di dichiarazione dei pin

Un esempio di questa possibilità è mostrata per esempio nel post in qui i pin A1 e A2 sono utilizzare come pin di alimentazione (+5V e GND) per la gestione del modulo KY-013 Analog temperature sensor module