Indice dei Contenuti
Introduzione.
In questo articolo, faremo una breve introduzione sulla scheda Arduino due, partendo dalla parte hardware, per terminare spiegando tutta la procedura per lo sviluppo e un semplice sketch di prova. Vedremo nell’ordine:
- Caratteristiche hardware
- Installazione delle librerie necessarie per lo sviluppo
- Impostazione dei parametri
- Progetto di esempio
- Conclusione
Caratteristiche hardware.
La scheda Arduino due, è basata su processore AT91SAM3X8E, Cortex-ME CPU, ed e la prima scheda di questa famiglia basata su 32 bit ARM micro controller. A livello hardware, dispone di ben 54 piedini tra I/O, trasmissione e ricezione dati, ingressi Analogici e molto altro. Qui di seguito il pin mapping e altre componenti hardware:
- 12 Piedini utilizzabili come uscite PWM
- 12 ingressi analogici
- 16 ingressi digitali
- 4 UARTs porta seriale hardware
- 2 pin DAC, ovvero funzionamento da analogico a digitale
- 2 TWI
- Jack per alimentazione scheda
- Porta mini usb nativa
- Porta mini usb programmabile
- Uscite GND, 3,3 e 5 volt per alimentazione componentistica esterna
- SPI Header
- JTAG Header
- Tasto di reset
- Tasto per la cancellazione (erase) dello sketch all’interno della memoria
Qui di seguito un anteprima della scheda Arduino due.
Oltre al fatto che Arduino Due e basato su 32bit ARM, ci sono ancora delle differenze con altre schede, ovvero per funzionare necessita di una tensione di funzionamento di 3,3v anziché 5, evitare quindi di alimentare con tensioni superiori a quella nominale, poiché vi è il rischio di danneggiare l’intera scheda.
Abbiamo detto precedentemente, che dispone di due porte mini usb :
- Native usb SAM3X: ovvero quando vogliamo usare la scheda Arduino Due come una normale periferica, prendiamo esempio da un pc che fa uso di periferiche come mouse e tastiera, o anche come host e permettere ad altre periferiche di collegarsi ad essa sempre mediante tale porta.
- Programming ATMEGA16U2 : utilizzata per caricare gli sketch di codice, in poche parole per la programmazione.
Inoltre e compatibile con tutti gli shield Arduino, e con componenti utilizzati su Arduino Uno, purché la pinatura sia le medesima, esempio pratico possiamo collegare la scheda Ethernet shield utilizzata su Arduino Uno, poiché la pinatura è perfettamente compatibile come visibile in figura.
Per un maggiore approfondimento sulla parte hardware, lascio qui di seguito questo link, dove è possibile trovare maggiori informazioni e dettagli a riguardo.
Installazione delle librerie necessarie per lo sviluppo.
Ora che conosciamo le principali caratteristiche hardware, è giunto il momento di passare alla parte di sviluppo. Questo però comporta alcune procedure da eseguire. Prima cosa, scaricare e installare l’ide di Arduino al momento l’ultima versione e la 1.6.4. Dopo l’installazione, se proviamo ad avviare l’ide di Arduino, ci accorgeremo che tra le board disponibili non compare nella sezione Scheda la possibilità di selezionare Arduino due. Perché tutto ciò ? Semplicemente dobbiamo scaricare ed installare tutte le librerie necessarie. Iniziamo subito, per prima cosa avviamo l’ide di sviluppo, nel menù strumenti , scheda scegliamo il comando Boards Manager come mostrato in figura.
Saremo condotti nella schermata Boards Manager, dove è possibile eseguire il download delle librerie per Arduino Due e non solo, esempio abbiamo le librerie per schede della famiglia Intel.
A noi interessa scaricare le librerie sotto la voce Arduino SAM Boards (32-bits-ARM Cortex.M3), selezioniamolo.
Prima di eseguire il download dobbiamo ancora selezionare la versione dell’ide, selezioniamo l’ultima versione installata.
Impostazione dei parametri.
Progetto di esempio.
// Importo le librerie Ethernet #include <SPI.h> #include <Ethernet.h> // Impostazioni base byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC address void setup() { // Imposto una connessione seriale per verificare i dati. Serial.begin(9600); // Diamo alla Ethernet shield un secondo per inizializzarsi delay(1000); } void loop() { // Connessione Ethernet usando MAC e IP fisso if(Ethernet.begin(mac) == 0) { Serial.println(“Connesso”); } else { Serial.println(“Errore nella connessione”); } } |