Arduino Duemilanove e' una board basata sul microcontrollore ATMega328. E' dotata di 14 pin input/output (6 dei quali possono generare segnali PWM), 6 input analogici, quarzo di 16MHz, una connessione USB, un jack per l'alimentazione, un connettore ICSP e un pulsante di reset. Contiene tutto cio' che e' necessario a supportare il microcontrollore; connettila alla porta USB del computer con un cavo o alimentala tramite un alimentatore di rete o una batteria.
Caratteristiche tecniche- Microcontroller: ATmega328
- Tensione di funzionamento: 5V
- Range di alimentazione (raccomandato): 7-12V
- Range di alimentazione (limite): 6-20V
- Pins input/output digitali: 14 (di cui 6 possono generare segnali PWM)
- Piedini ingresso analogici: 6
- Corrente massima per I/O Pin: 40 mA
- Corrente massima per 3.3V Pin: 50 mA
- Flash Memory: 32 KB di cui 2 KB used by bootloader
- SRAM: 2 KB
- EEPROM: 1KB
- Velocita' oscillatore: 16 MHz
AlimentazioneArduino Duemilanove puo' essere alimentato tamite la connessione USB o attraverso un alimentatore esterno (sua un alimentatore da parete che una batteria) tramite un connettore da 2.1mm con polo positivo al centro. La sorgente di alimentazione viene selezionata automaticamente. E' possibile connettere una sorgente esterna anche direttamente ai pin Gnd e Vin del connettore POWER. La board accetta alimentazioni esterne comprese in un range da 6 a 20 Volt. Nota: se l'alimentazione va al di sotto dei 7 Volt, tuttavia, la board potrebbe mostrare alcune instabilita'. Nel caso opposto, invece, superando i 12 Volt, il regolatore di tensione interno potrebbe surriscaldarsi. Consigliamo, quindi, di mantenere l'alimentazione all'interno di valori compresi tra 7 e 12 Volt.
Input and Output Tutti i 14 piedini digitali del Duemilanove possono essere utilizzati sia come ingressi che come uscite attraverso le funzioni pinMode(), digitalWrite(), and digitalRead(). Essi lavorano a tensioni massime di 5 volt. Ogni pin puo' generare (o assorbire) un massimo di 40mA e contiene una resistenza di pull-up (disabilitata di default) di circa 50kOhm.
Alcuni piedini, poi, hanno funzioni specializzate:
- Serial: 0 (RX) and 1 (TX). In grado di ricevere (RX) o trasmettere (TX) dati seriali con livello TTL. Questi pin sono connessi ai corrispettivi pin del FTDI USB-to-TTL Serial chip presente sulla board.
- External Interrupts: 2 and 3. Questi pin possono essere configurati per lanciare un interrupt al variare del loro stato (o quando raggiungono un predeterminato stato alto o basso) Per informazioni, consultare la documentazione della funzione attachInterrupt()
- PWM: 3, 5, 6, 9, 10, and 11. Sono in grado di generare una forma d'onda PWM con granularita' di 8 bit. Vengono modificati attraverso la funzione analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Questi pin supportano la comunicazione sincrona SPI che puo' essere utilizzata per connettersi ad hardware esterno. Attualmente non sono gestiti da alcuna funzione predefinita nel linguaggio di Arduino.
- LED: 13. Questo e' un LED presente sulla board, connesso al pin 13. Quando il valore di questo pin e' alto, il LED e' acceso.
Duemilanove ha 6 input analogici, ognuno dei quali e' in grado di fornire 10 bit di risoluzione (1024 differenti valori). Per default il range di funzionamento di questi piedini e' compreso tra 0 e 5 volt. Tuttavia e' possibile cambiare il valore massimo attraverso il piedino AREF e la funzione analogReference().
Altri pin, inoltre, hanno funzioni speciali:
- I2C: 4 (SDA) and 5 (SCL). Supporta le comunicazioni compatibili con il protocollo I2C (TWI) attraverso la libreria Wire.
- AREF: Tensione massima utilizzata come riferimento per la sezione di conversione analogica. Utilizzata insieme alla funzione analogReference().
- Reset. Portando questa linea a livello basso di provoca un reset del microcontrollore. Tipicamente viene utilizzato assiame un bottone di reset quando, ad esempio poiche' sulla Duemilanove e' stato montato uno "shield", non e' piu' accessibile quello di default.
ComunicazioniLa Arduino Duemilanove e' in grado di comunicare con il computer o un altra board Arduino o altri microcontrollori. Il microcontrollore e' dotato di una interfaccia seriale (UART) compatibilie TTL (5V). Un convertitore seriale-usb (FTDI FT232RL) montato sulla board permette di simulare una seriale virtuale sul PC. Il software Arduino include un monitor seriale che permette una semplice verifica dei dati che passano attraverso questa interfaccia. Per un'ulteriore conferma visiva, la board e' dotata di due LED che si accendono al passaggio di dati sulla seriale virtualizzata tramite USB (TX ed RX). Nota: i LED non sono operativi per comunicazioni dirette attraverso i pin 0 ed 1, ossia quando USB non e' coinvolto.
Il microcontrollore supporta, inoltre, comunicazioni I2C ed SPI. Il sofware Arduino include una libreria "Wire" che semplifica l'utilizzo del bus I2C. SPI non e' attualmente supportato dal software.
ProgrammazioneLa board puo' essere programmata direttamente dal sofware Arduino. Selezionale "Arduino Duemilanove w/ ATmega 328" dal menu Tools->Board. Per i dettagli, attenetevi ai vari tutorial.
La board e' preprogrammata con un bootloader che vi permette di installare il vostro codice senza l'utilizzo di altro hardware. Esso comunica utilizzando il protocollo STK500 ma potete, comunque, bypassare l'intero bootloader e programmare direttamente il microcontrollore attraverso i tool standard di ATMEL utilizzando il connettore ICSP di cui la board e' provvista.
Caratteristiche esterioriLa lunghezza e larghezza massima della scheda Duemolanove sono, rispettivamente, 2.7 e 2.1 pollici (7x5.5cm) con connettore USB e di alimentazione posti sulla parte piu' corta.