Non vi sono articoli nel carrello

Arduino Due

La Arduino Due è la prima scheda Arduino basata su un microcontrollore a 32 bit Atmel SAM3X8E ARM Cortex-M3.

Codice prodotto A000062
Marca Arduino
Categoria Schede Arduino
Prezzo
42,66
Spedizione gratuita

Spedizione gratuita

Spedizione gratuita per tutti gli ordini di importo superiore ad Euro 149,00 Iva compresa

Tanti prodotti in offerta

Tanti prodotti in offerta

Naviga sul sito homotix e scopri tutte le offerte dedicate ai nostri clienti

Garanzia

Garanzia

Homotix assicura sempre una garanzia completa su tutta la gamma prodotti

La Arduino Due è una scheda basata su una CPU Atmel SAM3X8E ARM Cortex-M3 (scheda tecnica). E' la prima scheda Arduino basata su un microcontrollore con core ARM a 32 bit. È dotata di 54 pin digitali di ingresso/uscita (di cui 12 possono essere utilizzati come uscite PWM), 12 ingressi analogici, 4 UART (porte seriali hardware), un clock a 84 MHz, una connessione in grado di supportare lo standard USB OTG, 2 DAC (convertitore digitale-analogico) , 2 linee TWI (I2C), un jack per l'alimentazione, un connettore SPI, un connettore JTAG, un pulsante di reset e un pulsante di cancellazione.
Attenzione: A differenza delle altre schede Arduino, la Arduino Due funziona a 3,3V. La tensione massima che i pin di ingresso o di uscita possono tollerare è di 3,3V. Fornire tensioni più elevate, ad esempio 5V, ad un pin di ingresso o di uscita potrebbe danneggiare la scheda.
La Arduino Due contiene tutto il necessario per supportare il microcontrollore, per iniziare è sufficiente collegarla ad un computer con un cavo microUSB (che fornirà anche l'alimentazione) o alimentarla con un alimentatore esterno oppure con una batteria. La Arduino Due è compatibile con tutti gli shields Arduino che lavorano a 3,3 V e utilizzano la piedinatura 1.0.
La Arduino Due utilizza la piedinatura 1.0:
TWI: I pin SDA e SCL sono posizionati vicino al pin AREF. 
Il pin IOREF: che permette agli shields di adattarsi alla tensione della scheda. In futuro gli shields saranno compatibili sia con le schede Arduino alimentate a 5V sia con le schede Arduino alimentate a 3,3V. Un pin, attualmente non connesso, verrà utilizzato per espansioni future.
La Arduino Due è dotata di un core ARM a 32 bit che offre delle prestazioni estremamente superiori rispetto alle schede che utilizzano un microcontrollore a 8 bit. Le differenze più significative sono:
Il core a 32 bit permette delle operazioni su dati a 4 bytes utilizzando un solo ciclo di clock.
Clock della CPU a 84Mhz.
96 KB di SRAM (Memoria Statica).
512 KB di Memoria Flash per il codice.
Un controller DMA che può alleggerire la CPU quando la richiesta di memoria diventa intensiva.
Alimentazione:
La Arduino Due può essere alimentata tramite il connettore USB o con un alimentatore esterno, la fonte di alimentazione viene selezionata automaticamente.
L'alimentatore esterno può essere collegato tramite il jack di alimentazione presente sulla scheda, questo alimentatore dovrà fornire una tensione compresa tra 7V e 12V. Una tensione inferiore ai 7V non permetterà il funzionamento corretto del regolatore presente a bordo e la scheda risulterà instabile,  se si utilizzno più di 12 V il regolatore di tensione può surriscaldarsi e danneggiare la scheda. 
I piedini di alimentazione sono i seguenti:
VIN. La tensione di ingresso alla scheda Arduino quando sta utilizzando una sorgente di alimentazione esterna, questo ingresso è collegato direttamente al jack di alimentazione presente sulla scheda.
5V. Su questo pin è presente la tensione a 5V generata dal regolatore presente sulla scheda. Per evitare di danneggiare la scheda questo ingresso non andrà mai utilizzato come sorgente di alimentazione.
3,3V. Su questo pin è presente la tensione a 3,3V generata dal regolatore interno, è permesso un assorbimento massimo di 800mA. Per evitare di danneggiare la scheda questo ingresso non andrà mai utilizzato come sorgente di alimentazione.
GND. Pin di massa
IOREF. Questo pin sulla scheda Arduino fornisce il riferimento di tensione con cui il microcontrollore opera. Uno shield in grado di leggere la tensione del pin IOREF può selezionare l'alimentazione appropriata e abilitare o meno gli adattatori di livello che permettono di lavorare a 5V oppure a 3,3V.
Memoria:
 
Il SAM3X8E dispone di 512KB di memoria flash (2 blocchi di 256 KB) per memorizzare il codice. Il bootloader è precaricato da Atmel e viene memorizzato in una memoria ROM dedicata. La Memoria Statica (SRAM) disponibile è di 96KB (suddivisa in due banchi contigui, il primo da 64KB e il secondo da 32KB. Si può accedere direttamente a tutta la memoria disponibile (Flash, RAM e ROM).
 
È possibile cancellare la memoria Flash del SAM3X8E con il tasto di cancellazione presente sulla scheda. Questo eliminerà lo sketch caricato nella MCU. Per cancellare, premere e tenere premuto il pulsante Cancella per alcuni secondi mentre la scheda è alimentata.
 
Ingressi e Uscite:
Pin Digitali di I/O: dal pin 0 al pin 53. Ciascuno dei 54 pin digitali sul causa può essere utilizzato come ingresso o come uscita utilizzando le funzioni pinMode (), digitalWrite () e digitalRead (). Tutti i pin di I/O operano a 3,3 volt. Ogni pin può fornire (source) una corrente di 3 mA o 15 mA, o ricevere (sink) una corrente di 6 mA o 9 mA in funzione del pin utilizzato. Su ogni pin è presente una resistenza di pull-up interno da 100 Kohm (scollegata di default).
Alcuni pin hanno funzioni specializzate:
Seriale: pin 0 (RX) e pin 1 (TX)
Seriale 1: pin 19 (RX) e pin 18 (TX)
Seriale 2: pin 17 (RX) e pin 16 (TX)
Seriale 3: pin 15 (RX) e pin 14 (TX). Utilizzati per ricevere (RX) e trasmettere (TX) dati seriali TTL (con livelli di 3,3 V). I pin 0 e 1 connessi al convertitore USB-Seriale realizzato con un microcontrollore ATmega16U2.
PWM: pins da 2 a 13. Forniscono una uscita PWM a 8 bit tramite la funzione analogWrite(). La risoluzione delle uscite PWM può essere cambiata utilizzando la funzione analogWriteResolution() .
SPI: Connettore SPI (connettore ICSP sulle altre schede Arduino). Questi pin supportano la comunicazione SPI con l'ìutilizzo della libreria SPI. I pin SPI sono riportati sul connettore centrale a 6 pin, questo connettore è fisicamente compatibile con la Arduino Uno R3, la Arduino Leonardo e la Arduino Mega2560 R3. Il connettore SPI può essere utilizzato solo per comunicare con altri dispositivi SPI, non può essere utilizzato per programmare il SAM3X. La connessione SPI della Arduino Due ha inoltre delle caratteristiche avanzate che possono essere utilizzate con il metodo SPI esteso.
CAN: CANRX e CANTX. Questi pin supportano il protocollo di comunicazione CAN ma non sono ancora supportati dalle API di Arduino.
"L" LED: pin 13. collegato al pin 13. Quando sul pin è presente un livello alto il LED è acceso, un livello basso spegne il led. E' anche possibile dimmerare il LED, il pin 13 è anche una uscita PWM.
TWI 1: pin 20 (SDA) e pin 21 (SCL)
TWI 2: SDA1 e SCL1.. Supportano la comunicazione I2C tramite la libreria Wire. SDA1 e SCL1 possono essere controllati utilizzando la classe Wire1 fornita dalla libreria Wire. I pin SDA e SCL hanno una resistenza interna di pullup, i pin SDA1 e SCL1 non hanno questa resistenza che andrà aggiunta se si desidera utilizzare a classe Wire1 dela libreria Wire.
Ingressi Analogici: pins da A0 a A11. La Arduino Due ha 12 ingressi analogici ognuno dei quali fornisce una risoluzione a 12 bit (4096 valori diversi). Di default la risoluzione della lettura è settata a 10 bits per mantenere la compatibilità con le altre schede Arduino. E' possibile cambiare la risoluzione del convertitore analogico-digitale (ADC) utilizzando la funzione analogReadResolution(). Gli ingressi analogici della Arduino Due effettuano la misura utilizzando come riferimenti la massa e la tensione a 3,3V. Utilizzare dei valori superiori a 3,3V può danneggiare il chip SAM3X. La funzione analogReference() è ignorata dalla Arduino Due. Il pin AREF è connesso al al pin di riferimento analogico del SAM3X tramite un ponte di resistenze. Per utilizzare il pin AREF liberamente occorre dissaldare la resistenza BR1 dal circuito stampato.
DAC1 e DAC2: questi pin forniscono una uscita analogica con una risoluzione a 12 bit utilizzando la funzione analogWrite(). Possono essere utilizzati per creare una uscita audio tramite la libreria di Arduino. 
Altri pin  sulla scheda:
AREF: Tensione di riferimento per gli ingressi analogici. Utilizzato con analogReference ().
RESET: Un livello basso su questo pin resetta il microcontrollore. Questo ingresso è generalmente utilizzato dal pulsante di reset presente su alcuni shields.
Comunicazione:
La porta di programmazione è collegata all'ATmega16U2 che fornisce una porta COM virtuale al computer collegato alla Arduino Due (per riconoscere la scheda i PC con sistema operativo Windows avranno bisogno di un file ,inf, questo file non è necessario per i sistemi operativi OSX e Linux che riconosceranno la scheda automaticamente). L'ATmega16U2 è inoltre collegato con la UART hardware del SAM3X. La connessione seriale sui pin RX0 e TX0 permette la programmazione della scheda attraverso il microcontrollore ATmega16U2. Il software Arduino include un monitor seriale che consente di visualizzare i dati testuali inviati e ricevuti dalla scheda. Sulla scheda sono presenti i LED RX e TX che lampeggiano quando i dati vengono trasmessi o ricevuti tramite la connessione USB. I LED RX e TX non lampeggiano quando è in corso una comunicazione seriale sui pin 0 e 1.
La porta USB nativa è collegata al SAM3X e permette la comunicazione seriale via USB. Consente inoltre alla Arduino Due di essere riconosciuta dal pc come un mouse o una tastiera.
La porta USB nativa può anche funzionare come host USB per le periferiche collegate come mouse, tastiere e smartphone.
Il SAM3X supporta anche la comunicazione TWI (I2C) e SPI. Il software Arduino include una libreria Wire per semplificare l'uso del bus TWI e una libreria SPI per utilizzare il bus SPI.
Programmazione:
La Arduino Due può essere programmata con il software di Arduino (download).
Il caricamento degli sketches nel SAM3X è diverso rispetto ai microcontrollori ATmega328 oppure ATmega32U4 che si trovano in altre schede Arduino. La memoria flash del SAM3X deve essere cancellata prima di essere ri-programmata, il caricamento dello sketch è gestito dalla ROM sul SAM3X e viene eseguito solo quando la memoria flash del chip è stata cancellata.
Per la programmazione della scheda possono essere utilizzate entrambe le porte USB anche se si consiglia di utilizzare la porta di programmazione per il modo in cui viene gestita la cancellazione del chip:
Porta di Programmazione: Per utilizzare questa porta selezionare nell'IDE "Arduino Due (Porta di programmazione)" e collegare la porta di programmazione della Arduino Due (quella più vicina alla presa per l'alimentazione) al computer. La porta di programmazione utilizza il chip ATmega16U2 come convertitore da USB a seriale ed è collegata alla prima UART del SAM3X (RX0 e TX0). Il chip ATmega16U2 ha due pin collegati ai pin "reset" e "erase" del SAM3X. L'apertura e la chiusura della porta di programmazione a 1200bps innesca una procedura di "hard erase" del chip SAM3X attivando la cancellazione e il reset del SAM3X prima di iniziare la comunicazione con la UART. La porta di programmazione è più affidabile rispetto alla "cancellazione soft" che viene effettuata utilizzando la porta nativa, e dovrebbe funzionare anche se l'unità centrale è andata in crash.
Porta nativa: Per utilizzare questa porta selezionare nell'IDE "Arduino Due (Porta USB nativa)". La porta USB nativa è collegata direttamente al SAM3X. Dopo avere effettuato la selezione nell'IDE collegare la porta USB nativa della Arduino Due (quella più vicina al pulsante di reset) al computer. L'apertura e chiusura della porta USB nativa a 1200bps innesca una procedura di "soft erase" che cancella la memoria flash e la scheda viene riavviata con il bootloader. Se l'unità centrale si trova in crash è probabile che la procedura di "soft erase" non funzionerà in quanto avviene interamente a livello software. L'apertura e chiusura del porta USB nativa ad una velocità di trasmissione diversa da 1200bps non ripristinerà il SAM3X.
A differenza di altre schede Arduino che utilizzano avrdude per il caricamento, la Arduino Due causa si basa su bossac.
Il codice sorgente del firmware caricato sull'ATmega16U2 è disponibile nel repository di Arduino. È possibile utilizzare la connessione ISP con un programmatore esterno per sovrascrivere il bootloader DFU).
Protezione della porta USB:
L'Arduino Uno ha un fusibile ripristinabile che protegge la porta USB del computer dal cortocircuito e dalla sovracorrente. Se dalla porta USB vengono assorbiti più di 500mA il fisibile si interrompe e si ripristinerà solo dopo avere eliminato il sovraccarico.
Caratteristiche Fisiche:
La Arduino Due è progettata per essere compatibile con la maggior parte dei shields utilizzabili con la Arduino Uno, la Arduino Diecimila o la Arduino Duemilanove. I pin digitali da 0 a 13, il pin AREF, il pin GND, gli ingressi analogici da 0 a 5, il connettore per l'alimentazione, e il connettore "ICSP" (SPI) sono tutti in posizioni equivalenti. Anche la UART principale (porta seriale) si trova sugli stessi pin (0 e 1). Da notare che, sulla Arduino Due, la I2C si trova sui pin 20 e 21 mentre sulla Arduino Duemilanove e sulla Arduino Diecimila la I2C si trova sugli ingressi analogici 4 e 5.
Caratteristiche:
Microcontrollore: AT91SAM3X8E
Architettura: ARM Cortex- M3
Tensione operativa: 3,3V
Tensione di alimentazione: da 5V a 12V
Pin di ingresso e uscita: 54
Uscite PWM: 12
Ingressi analogici: 12 con due convertitori analogico-digitale (AD)
Massimo assorbimento sui pin: 130mA
Massimo assorbimento per l'uscita a 3,3V: 800mA
Massimo assorbimento per l'uscita a 5V: 800mA
Memoria Flash: 512KB
Memoria Statica (SRAM): 96 KB (due banchi da 64KB e da 32KB
Clock: 84MHz
Assorbimento: 100mA
Dimensioni: 53,3mm x 101.52mm
Peso: 34g
La Arduino Due è la prima scheda Arduino basata su un microcontrollore a 32 bit Atmel SAM3X8E ARM Cortex-M3. È dotata di 54 pin digitali di ingresso/uscita (di cui 12 possono essere utilizzati come uscite PWM), 12 ingressi analogici, 4 UART (porte seriali hardware), un clock a 84 MHz, una connessione in grado di supportare lo standard USB OTG, 2 DAC (convertitore digitale-analogico) , 2 linee TWI (I2C), un jack per l'alimentazione, un connettore SPI, un connettore JTAG, un pulsante di reset e un pulsante di cancellazione.

Attenzione: A differenza delle altre schede Arduino, la Arduino Due funziona a 3,3V. La tensione massima che i pin di ingresso o di uscita possono tollerare è di 3,3V. Fornire tensioni più elevate, ad esempio 5V, ad un pin di ingresso o di uscita potrebbe danneggiare la scheda.

La Arduino Due contiene tutto il necessario per supportare il microcontrollore, per iniziare è sufficiente collegarla ad un computer con un cavo microUSB (che fornirà anche l'alimentazione) o alimentarla con un alimentatore esterno oppure con una batteria. La Arduino Due è compatibile con tutti gli shields Arduino che lavorano a 3,3 V e utilizzano la piedinatura 1.0.

La Arduino Due utilizza la piedinatura 1.0:
  • TWI: I pin SDA e SCL sono posizionati vicino al pin AREF.
  • Il pin IOREF: che permette agli shields di adattarsi alla tensione della scheda. In futuro gli shields saranno compatibili sia con le schede Arduino alimentate a 5V sia con le schede Arduino alimentate a 3,3V. Un pin, attualmente non connesso, verrà utilizzato per espansioni future.
La Arduino Due è dotata di un core ARM a 32 bit che offre delle prestazioni estremamente superiori rispetto alle schede che utilizzano un microcontrollore a 8 bit. Le differenze più significative sono:
  • Il core a 32 bit permette delle operazioni su dati a 4 bytes utilizzando un solo ciclo di clock.
  • Clock della CPU a 84Mhz.
  • 96 KB di SRAM (Memoria Statica).
  • 512 KB di Memoria Flash per il codice.
  • Un controller DMA che può alleggerire la CPU quando la richiesta di memoria diventa intensiva.
Alimentazione:

La Arduino Due può essere alimentata tramite il connettore USB o con un alimentatore esterno, la fonte di alimentazione viene selezionata automaticamente.

L'alimentatore esterno può essere collegato tramite il jack di alimentazione presente sulla scheda, questo alimentatore dovrà fornire una tensione compresa tra 7V e 12V. Una tensione inferiore ai 7V non permetterà il funzionamento corretto del regolatore presente a bordo e la scheda risulterà instabile,  se si utilizzno più di 12 V il regolatore di tensione può surriscaldarsi e danneggiare la scheda.

I piedini di alimentazione sono i seguenti:
  • VIN. La tensione di ingresso alla scheda Arduino quando sta utilizzando una sorgente di alimentazione esterna, questo ingresso è collegato direttamente al jack di alimentazione presente sulla scheda.
  • 5V. Su questo pin è presente la tensione a 5V generata dal regolatore presente sulla scheda. Per evitare di danneggiare la scheda questo ingresso non andrà mai utilizzato come ingresso di alimentazione. 
  • 3,3V. Su questo pin è presente la tensione a 3,3V generata dal regolatore interno, è permesso un assorbimento massimo di 800mA.
  • GND. Pin di massa
  • IOREF. Questo pin sulla scheda Arduino fornisce il riferimento di tensione con cui il microcontrollore opera. Uno shield in grado di leggere la tensione del pin IOREF può selezionare l'alimentazione appropriata e abilitare o meno gli adattatori di livello che permettono di lavorare a 5V oppure a 3,3V.
Memoria: 

Il SAM3X8E dispone di 512KB di memoria flash (2 blocchi di 256 KB) per memorizzare il codice. Il bootloader è precaricato da Atmel e viene memorizzato in una memoria ROM dedicata. La Memoria Statica (SRAM) disponibile è di 96KB (suddivisa in due banchi contigui, il primo da 64KB e il secondo da 32KB. Si può accedere direttamente a tutta la memoria disponibile (Flash, RAM e ROM). 

È possibile cancellare la memoria Flash del SAM3X8E con il tasto di cancellazione presente sulla scheda. Questo eliminerà lo sketch caricato nella MCU. Per cancellare, premere e tenere premuto il pulsante Cancella per alcuni secondi mentre la scheda è alimentata.

Ingressi e Uscite:
  • Pin Digitali di I/O: dal pin 0 al pin 53. Ciascuno dei 54 pin digitali sul causa può essere utilizzato come ingresso o come uscita utilizzando le funzioni pinMode (), digitalWrite () e digitalRead (). Tutti i pin di I/O operano a 3,3 volt. Ogni pin può fornire (source) una corrente di 3 mA o 15 mA, o ricevere (sink) una corrente di 6 mA o 9 mA in funzione del pin utilizzato. Su ogni pin è presente una resistenza di pull-up interno da 100 Kohm (scollegata di default).
Alcuni pin hanno funzioni specializzate:
  • Seriale 0: pin 0 (RX) e pin 1 (TX) I pin 0 e 1 connessi al convertitore USB-Seriale realizzato con un microcontrollore ATmega16U2.
  • Seriale 1: pin 19 (RX) e pin 18 (TX)
  • Seriale 2: pin 17 (RX) e pin 16 (TX)
  • Seriale 3: pin 15 (RX) e pin 14 (TX)
  • PWM: pins da 2 a 13. Forniscono una uscita PWM a 8 bit tramite la funzione analogWrite(). La risoluzione delle uscite PWM può essere cambiata utilizzando la funzione analogWriteResolution().
  • SPI: Connettore SPI (connettore ICSP sulle altre schede Arduino). Questi pin supportano la comunicazione SPI con l'ìutilizzo della libreria SPI. I pin SPI sono riportati sul connettore centrale a 6 pin, questo connettore è fisicamente compatibile con la Arduino Uno R3, la Arduino Leonardo e la Arduino Mega2560 R3. Il connettore SPI può essere utilizzato solo per comunicare con altri dispositivi SPI, non può essere utilizzato per programmare il SAM3X. La connessione SPI della Arduino Due ha inoltre delle caratteristiche avanzate che possono essere utilizzate con il metodo SPI esteso.
  • CAN: CANRX e CANTX. Questi pin supportano il protocollo di comunicazione CAN ma non sono ancora supportati dalle API di Arduino.
  • LED: pin 13. collegato al pin 13. Quando sul pin è presente un livello alto il LED è acceso, un livello basso spegne il led. E' anche possibile dimmerare il LED, il pin 13 è anche una uscita PWM. 
  • TWI 1: pin 20 (SDA) e pin 21 (SCL)
  • TWI 2: SDA1 e SCL1. Supportano la comunicazione I2C tramite la libreria Wire. SDA1 e SCL1 possono essere controllati utilizzando la classe Wire1 fornita dalla libreria Wire. I pin SDA e SCL hanno una resistenza interna di pullup, i pin SDA1 e SCL1 non hanno questa resistenza che andrà aggiunta se si desidera utilizzare a classe Wire1 dela libreria Wire.
  • Ingressi Analogici: pins da A0 a A11. La Arduino Due ha 12 ingressi analogici ognuno dei quali fornisce una risoluzione a 12 bit (4096 valori diversi). Di default la risoluzione della lettura è settata a 10 bit per mantenere la compatibilità con le altre schede Arduino. E' possibile cambiare la risoluzione del convertitore analogico-digitale (ADC) utilizzando la funzione analogReadResolution(). Gli ingressi analogici della Arduino Due effettuano la misura utilizzando come riferimenti la massa e la tensione a 3,3V. Utilizzare dei valori superiori a 3,3V può danneggiare il chip SAM3X. La funzione analogReference() è ignorata dalla Arduino Due. Il pin AREF è connesso al al pin di riferimento analogico del SAM3X tramite un ponte di resistenze. Per utilizzare il pin AREF liberamente occorre dissaldare la resistenza BR1 dal circuito stampato.
  • DAC1 e DAC2: questi pin forniscono una uscita analogica con una risoluzione a 12 bit utilizzando la funzione analogWrite(). Possono essere utilizzati per creare una uscita audio tramite la libreria di Arduino. 

Altri pin  sulla scheda:
  • AREF: Tensione di riferimento per gli ingressi analogici. Utilizzato con analogReference ().
  • RESET: Un livello basso su questo pin resetta il microcontrollore. Questo ingresso è generalmente utilizzato dal pulsante di reset presente su alcuni shields.
Comunicazione:

La porta di programmazione è collegata all'ATmega16U2 che fornisce una porta COM virtuale al computer collegato alla Arduino Due (per riconoscere la scheda i PC con sistema operativo Windows avranno bisogno di un file ,inf, questo file non è necessario per i sistemi operativi OSX e Linux che riconosceranno la scheda automaticamente). L'ATmega16U2 è inoltre collegato con la UART hardware del SAM3X. La connessione seriale sui pin RX0 e TX0 permette la programmazione della scheda attraverso il microcontrollore ATmega16U2. Il software Arduino include un monitor seriale che consente di visualizzare i dati testuali inviati e ricevuti dalla scheda. Sulla scheda sono presenti i LED RX e TX che lampeggiano quando i dati vengono trasmessi o ricevuti tramite la connessione USB. I LED RX e TX non lampeggiano quando è in corso una comunicazione seriale sui pin 0 e 1.


La porta USB nativa è collegata al SAM3X e permette la comunicazione seriale via USB. Consente inoltre alla Arduino Due di essere riconosciuta dal pc come un mouse o una tastiera.

La porta USB nativa può anche funzionare come host USB per le periferiche collegate come mouse, tastiere e smartphone.

Il SAM3X supporta anche la comunicazione TWI (I2C) e SPI. Il software Arduino include una libreria Wire per semplificare l'uso del bus TWI e una libreria SPI per utilizzare il bus SPI.

Programmazione:

La Arduino Due può essere programmata con il software di Arduino.
Il caricamento degli sketches nel SAM3X è diverso rispetto ai microcontrollori ATmega328 oppure ATmega32U4 che si trovano in altre schede Arduino. La memoria flash del SAM3X deve essere cancellata prima di essere ri-programmata, il caricamento dello sketch è gestito dalla ROM sul SAM3X e viene eseguito solo quando la memoria flash del chip è stata cancellata.

Per la programmazione della scheda possono essere utilizzate entrambe le porte USB anche se si consiglia di utilizzare la porta di programmazione per il modo in cui viene gestita la cancellazione del chip:

  • Porta di Programmazione: Per utilizzare questa porta selezionare nell'IDE "Arduino Due (Porta di programmazione)" e collegare la porta di programmazione della Arduino Due (quella più vicina alla presa per l'alimentazione) al computer. La porta di programmazione utilizza il chip ATmega16U2 come convertitore da USB a seriale ed è collegata alla prima UART del SAM3X (RX0 e TX0). Il chip ATmega16U2 ha due pin collegati ai pin "reset" e "erase" del SAM3X. L'apertura e la chiusura della porta di programmazione a 1200bps innesca una procedura di "hard erase" del chip SAM3X attivando la cancellazione e il reset del SAM3X prima di iniziare la comunicazione con la UART. La porta di programmazione è più affidabile rispetto alla "cancellazione soft" che viene effettuata utilizzando la porta nativa, e dovrebbe funzionare anche se l'unità centrale è andata in crash.
  • Porta nativa: Per utilizzare questa porta selezionare nell'IDE "Arduino Due (Porta USB nativa)". La porta USB nativa è collegata direttamente al SAM3X. Dopo avere effettuato la selezione nell'IDE collegare la porta USB nativa della Arduino Due (quella più vicina al pulsante di reset) al computer. L'apertura e chiusura della porta USB nativa a 1200bps innesca una procedura di "soft erase" che cancella la memoria flash e la scheda viene riavviata con il bootloader. Se l'unità centrale si trova in crash è probabile che la procedura di "soft erase" non funzionerà in quanto avviene interamente a livello software. L'apertura e chiusura del porta USB nativa ad una velocità di trasmissione diversa da 1200bps non ripristinerà il SAM3X. 
A differenza di altre schede Arduino che utilizzano avrdude per il caricamento, la Arduino Due si basa su bossac.

Il codice sorgente del firmware caricato sull'ATmega16U2 è disponibile nel repository di Arduino. È possibile utilizzare la connessione ISP con un programmatore esterno per sovrascrivere il bootloader DFU).

Protezione della porta USB:

L'Arduino Uno ha un fusibile ripristinabile che protegge la porta USB del computer dal cortocircuito e dalla sovracorrente. Se dalla porta USB vengono assorbiti più di 500mA il fisibile si interrompe e si ripristinerà solo dopo avere eliminato il sovraccarico.

Caratteristiche:
  • Microcontrollore: AT91SAM3X8E
  • Architettura: ARM Cortex- M3
  • Tensione operativa: 3,3V
  • Tensione di alimentazione: da 5V a 12V
  • Pin di ingresso e uscita: 54
  • Uscite PWM: 12
  • Ingressi analogici: 12 con due convertitori analogico-digitale (AD)
  • Massimo assorbimento sui pin: 130mA
  • Massimo assorbimento per l'uscita a 3,3V: 800mA
  • Massimo assorbimento per l'uscita a 5V: 800mA
  • Memoria Flash: 512KB
  • Memoria Statica (SRAM): 96 KB (due banchi da 64KB e da 32KB)
  • Clock: 84MHz
  • Assorbimento: 100mA
  • Dimensioni: 53,3mm x 101.52mm
  • Peso: 34g

Documenti: