Scheda Arduino UNO R3 con ATmega 328

 

La scheda Arduino UNO R3 , è la più famosa della serie Arduino, esiste sia nella versione con processore montato su zoccolo sia nella versione SMD.
Rappresenta un aggiornamento della precedente versione  e aggiunge rispetto alla precedente tra le altre cose due pin (SDA e SCL) vicino ad AREF (zona pin digitali).
Altri due nuovi pin vicino a quello di reset: uno è IOREF (zona pin Power), che permette agli shield di adattare la tensione fornita dalla scheda. L’altro non è connesso ed è riservato per utilizzi futuri

scheda_arduino_uno_r3
La R3 funziona con tutti gli shield realizzati per le versioni precedenti, vedere per esempio gli shield per moduli motore.

Arduino UNO prima versione

Versione R3, tasto spostato in latro a sinistra

scheda_arduino_uno_r3

UNO R3 versione smd

scheda_arduino_uno_r3

Vista posteriore del PCB

Caratteristiche della scheda

MicrocontrollerATmega328
Tensione di funzionamento5V
Tensione in ingresso7-12 V (consigliata) 
Tensione in ingresso6-20 V (limiti)  
I / O digitali14 (di cui 6 con output PWM)
Ingressi analogici6
Corrente continua per I / O Pin40 mA
Di corrente per Pin 3,3 V CC50 mA
Flash Memory  32 KB di cui 0,5 KB utilizzati dal bootloader
SRAM  2 KB
EEPROM  1 KB
Velocità di clock  16 MHz

Processore

Il cuore della scheda Arduino UNO R3  è rappresentato dal processore ATmega 328 un microcontrollore ad alte prestazioni con bus a 8 bit prodotto dalla Atmel con architettura di tipo RISC (acronimo di Reduced Instruction Set Computer)

Dettaglio sezione processore ATMega328

le caratteristiche salienti di questo processore sono:

  • Memoria flash da 32KB ISP con possibilità di lettura/scrittura
  • EEPROM da 1KB
  • SRAM da 2KB.
  • 23 porte general purpose di I / O
  • 32 registri di lavoro general purpose
  • Tre flessibili timer / contatori con modalità di confronto
  • Possibilità d’interrupts esterni e interni,
  • Una seriale USART programmabile,
  • Un’interfaccia seriale a 2fili compatibile I2C
  • Una porta SPI seriale
  • 6 convertitori A / D a 10-bit
  • Timer watchdog programmabile con oscillatore interno
  • Cinque modalità di risparmio energetico selezionabili via software.
  • Tensione di funzionamento compresa tra 1,8-5,5 volt.

Processore ATMEGA328

La memoria

Il microcontrollore ATmega328 della scheda  dispone di 32 kB di memoria di programma. Di queste  0,5 kB sono usati per il bootloader, abbiamo poi di 2 kB di SRAM (Static Random Access Memory) ed 1 kB di EEPROM che possiamo leggere o scrivere utilizzando la EEPROM library.

Pin connettore POWER

Tutte le tensioni sono disponibili sui pin del connettore POWER

Connettore POWER

  • Vin; restituisce la tensione applicata dall’alimentatore al plug e può essere usato per alimentare altri circuiti che dispongano già di un regolatore di tensione (ad esempio gli shield applicati al modulo);
  • GND; è il contatto di massa (GND).
  • 5 V; fornisce i 5 volt prelevati dall’uscita del regolatore interno ed è utile per alimentare altri circuiti compatibili con i 5 volt;
  • 3.3V; questo pin fornisce i 3,3 volt ricavati dal regolatore corrispondente e consente di alimentare circuiti compatibili con tensioni di 3,3 volt (la massima corrente prelevabile e di 150 mA);
  • RESET: Portando questa linea a livello basso permette di resettare il microcontrollore. Generalmente utilizzato per aggiungere un pulsante di reset sugli shields esterni. La funzione corrispondente può essere attivata anche tramite il pulsante presente sulla scheda Arduino;
  • IOREF: consente agli shield di adattarsi alla tensione fornita dalla scheda.

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().
Le uscite operano a 5 volt e ogni pin può fornire o ricevere un massimo di 40 mA ed è dotato di una resistenza pull-up (sconnessa di default) del valore di 20-50 kΏ.
Inoltre, alcuni pin hanno funzioni specializzate:

Connettore Pin Digitali

  • 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, utilizza 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().

Pin Analogici

La Uno R3 ha 6 ingressi analogici etichettati da A0 ad A5, ognuno dei quali fornisce 10 bit di risoluzione (in pratica 1024 valori diversi). Per impostazione predefinita possono misurare una tensione di 5V riferita a massa, anche se è possibile cambiare l’estremità superiore del loro intervallo utilizzando il pin AREF e la funzione analogReference(). Inoltre, come per i pin digitali alcuni piedini hanno funzionalità specifiche:

Connettore Pin Analogici

I pin A4 (SDA) e A5 (SCL). permettono di realizzare una comunicazione nello standard I2C a due fili, in abbinamento alla libreria Wire.

Esempio di utilizzo della scheda

Schede clone

Sul mercato esistono varie schede clone della Arduino UNO R3 come per esempio la Elegoo UNO R3, per le sue caratteristiche vedere l’articolo Scheda UNO R3 – ELEGOO