ARDUINO 2009 ultimo aggiornamento 29 novembre 2010 |
|
Descrizione (tratta
dal sito
www.arduino.cc)
La scheda Arduino Duemilanove ("2009") è basata sul processore ATmega 328.
Sono presenti 14 piedini inputs/outputs digitali
(di cui 6 utilizzati come uscite PWM), 6 inputs analogici, un oscillatore
di cristallo a 16 MHz, una connessione USB, un ingresso per
l'alimentazione, un ICSP header (In-Circuit Serial Programming) ed un
bottone di reset. Tutto ciò che è necessario per supportare il
microprocessore è contenuto nella scheda, per iniziare è sufficiente
connetterla ad un computer con un cavo USB oppure tramite un
alimentatore AC-DC o una pila (vedere schema
elettrico).
"Duemilanove" significa 2009 in italiano e deriva dall'anno della sua
uscita. La Duemilanove è l'ultima di una serie di schede Arduino; per
una comparazione con le precedenti versioni, vedi indice delle schede
Arduino.
Caratteristiche principali
Microprocessore |
ATmega 328 |
Voltaggio operativo |
5V |
Voltaggio in ingresso (raccomandato) |
-12V |
Voltaggio in ingresso (limiti) |
6-20V |
Piedini digitali I/O |
14 (di cui 6 utilizzati come uscite PWM) |
Piedini di ingresso analogici |
6 |
corrente DC per i piedini di I/O |
40 mA |
corrente DC per il piedino a 3.3V |
50 mA |
Memoria Flash |
16 KB (di cui 2 KB utilizzati dal bootloader) |
SRAM |
1 KB |
EEPROM |
512 bytes |
Velocità di Clock |
16 MHz |
Elenco componenti
Sigla |
Valore |
Pakage |
C1,C4,C5,C8,C9,C10,C11,C12,C13 |
100nF |
C0805RND |
C2,C3 |
22pF |
C0805RND |
C6 |
100uF |
PANASONIC_D |
C7 |
100u |
PANASONIC_D |
D1 |
SMB diode (710 505) |
SMB diode (710 505) |
F1 |
Fusibile 500mA L1812 |
|
IC1 |
DIL28-3 |
|
IC2 |
SSOP28 |
|
IC4 |
DPACK |
|
IC5 |
LM358D SO08 |
|
T1 |
SOT223 zetex |
|
ICSP |
ICSP |
ICSP 2X03 |
J1,J3 |
pin strip 1x08 |
1X08 |
J2 |
pin strip 1x06 |
1X06 |
TX, RX, PWR, L |
Led |
0805RND led |
POWER |
pin strip 1x06 |
1X06 |
Q2 |
Quarzo 16MHz |
HC49/S |
R1 |
10 kΩ |
R0805RND |
R2 |
100 Ω |
NM R0805RND |
R4,R5,R6,R7,R8,R9 |
1 kΩ |
R0805RND |
R10,R11 |
10 kΩ |
R0805RND |
RESET |
EN SJ jumper |
|
S1 |
Pulsante switch-omron |
|
X2 |
Presa alimentazione |
DC21MMX |
X3 |
JP4 |
|
X4 |
Presa USB |
PN61729 |
Processore ATmega328 8-bit Microcontroller with 32K Bytes In-System Programmable Flash | ||
|
||
Piedinatura | Datasheet | Foto dell'integrato |
FT232RL USB to RS232 Converter | ||
Piedinatura | Datasheet | Foto dell'integrato |
MC33269D 800 mA, Adjustable Output Low Dropout Voltage Regulator | ||
Piedinatura | Datasheet | Foto dell'integrato |
LM 358 Low Power Dual Operational Amplifiers | ||
Piedinatura | Datasheet | Foto dell'integrato |
NDT2955 P-Channel Enhancement Mode Field Effect Transistor | ||
Piedinatura | Datasheet | Foto del transistor |
Alimentazione
La scheda Arduino Duemilanove può essere alimentata tramite connessione
USB oppure tramite alimentatore di corrente. La sorgente di
alimentazione è selezionata automaticamente.
L'alimentazione esterna (non USB) può arrivare sia da un alimentatore
AC-DC oppure da una pila. L'adattatore può essere connesso inserendo un
connettore di 2.1mm positivo al centro nell'ingresso dell'alimentazione
della scheda.
I connettori di una pila si inseriscono nei piedini Gnd e Vin del
connettore dell'alimentazione.
La scheda può operare con un'alimentazione esterna da 6 a 20 volts. Se
alimentata con meno di 7V, tuttavia, il piedino da 5V fornisce meno di
nominali 5 e la scheda può essere instabile. Se si usano più di 12V, il
regolatore di voltaggio può surriscaldarsi e danneggiare la scheda.
L'ambito di voltaggio raccomandato è, dunque, fra 7 e 12 volts.
I piedini di alimentazione sono indicati come segue:
VIN. Il voltaggio in ingresso alla scheda Arduino quando si utilizza un'alimentazione esterna (in opposto ai 5 volts della connessione USB o altre sorgenti regolate). Si può fornire voltaggio attraverso questo piedino oppure, se si fornisce voltaggio attraverso l'ingresso di alimentazione, si passa sempre attraverso questo piedino.
5V. L'alimentazione regolata che fornisce corrente alla scheda e alle sue componenti. Proviene dal VIN attraverso un regolatore della scheda oppure essere fornita dalla USB o da un'altra alimentazione fissata a 5V.
3V3. Una sorgente a 3.3 volts generata dal chip FTDI della scheda. L'amperaggio non può essere superiore a 50mA.
GND. Piedini della messa a terra.
Memoria
La ATmega168 ha 16 KB di memoria flash per caricare il codice (di cui 2
KB sono utilizzati oer il bootloader). Ha 1 KB di SRAM e 512 bytes di
EEPROM (che può essere letto e scritto con la libreria EEPROM).
Ingressi e uscite
Ciascuno dei 14 piedini digitali della Duemilanove può essere utilizzato
sia come ingresso che come uscita, utilizzando le funzioni pinMode(),
digitalWrite(), e digitalRead(). Operano a 5 volts. Ogni piedino può
fornire o ricevere un massimo di 40 mA ed ha una resistenza pull-up
(disconnessa di default) di 20-50 kOhms. Inoltre, alcuni piedini hanno
delle funzioni specializzate:
Serial: 0 (RX) e 1 (TX). Utilizzati per ricevere (RX) e trasmettere (TX)
TTL dati seriali. Questi piedini sono connessi ai corrispondenti piedini
del chip seriale FTDI USB-to-TTL.
Interruttori esterni: 2 e 3. Questi piedini possono essere configurati
per attivare o disattivare un valore basso, una punta calante o
crescente, oppure un cambio di valore. Vedi la funzione attachInterrupt()
per dettagli.
PWM: 3, 5, 6, 9, 10, e 11. Fornisce un'uscita a 8-bit PWM con la
funzione analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Questi piedini supportano
la comunicazione SPI, che, sebbene implementata a livello hardware, non
è al momento inclusa nel linguaggio Arduino.
LED: 13. Connesso al piedino digitale 13 è montato sulla scheda un LED.
Quando questo ha valore HIGH, il LED è acceso, quando il piedino è LOW,
il LED è spento.
La Duemilanove ha 6 ingressi analogici, ognuno dei quali fornisce 10 bit
di risoluzione (ovvero 1024 valori differenti). Per default misurano
dalla terra a 5 volts, sebbene sia possibile cambiare il limite
superiore utilizzando il piedino AREF e del codice a basso livello.
Inoltre, alcuni piedini hanno delle funzioni specializzate:
I2C: 4 (SDA) and 5 (SCL). Supporta la comunicazione I2C (TWI)
utilizzando la la libreria Wire (documentazione sul sito della Wiring).
Ci sono altri due piedini sulla scheda:
AREF.
Voltaggio di riferimento per gli ingressi analogici. Utilizzato con
analogReference().
Reset. Porta la connessione a LOW al fine di inizializzare il microprocessore. Viene solitamente utilizzato per aggiungere un bottone di reset a componenti che, inserite sulla scheda, impediscono l'accesso a quello già implementato.
Vedi anche la mappatura fra i piedini della Arduino e le porte della ATmega168.
Comunicazione
La Arduino Duemilanove ha una serie di funzioni predisposte per la
comunicazione con un computer, un'altra scheda Arduino, o altri
microprocessori. La ATmega168 fornisce una comunicazione seriale UART
TTL (5V), ed è disponibile sui piedini digitali 0 (RX) e 1 (TX). Una
FTDI FT232RL sulla scheda canalizza questa comunicazione seriale sulla
USB ed i FTDI drivers (inclusi con il software Arduino) provvedono una
porta com virtuale al software presente sul computer. Il software
Arduino include un monitor testuale che permette di spedire o ricevere
dalla scheda Arduino semplici dati di testo.
Una libreria SoftwareSerial permette la comunicazione seriale su
qualunque dei piedini digitali della Duemilanove.
La ATmega168 supporta anche la comunicazione I2C (TWI) e SPI. Il
software Arduino include una libreria Wire per semplificare l'uso del
bus I2C; vedi la documentazione sul sito Wiring per dettagli. Per
utilizzare la comunicazione SPI communication, vedi i dati tecnici della
ATmega168.
Programmazione
La Arduino Duemilanove può essere programmata con il software Arduino
(download). Per dettagli, vedi reference e tutorials.
La ATmega168 on the Arduino Duemilanove ha già un bootloader
pre-impostato che permette di caricare nuovo codice senza la
programmazione su di un hardware esterno. Comunica utilizzando il
protocollo originale STK500 (reference, C header files).
Si può naturalmente evitare il bootloader e programmare la ATmega168
atraverso l'header ICSP (In-Circuit Serial Programming); vedi queste
istruzioni per dettagli.
Inizializzazione automatica
(Software)
Piuttosto che richiedere una pressione fisica del bottone di reset prima
del caricamento di un programma, la Arduino Duemilanove è costruita in
modo da permettere di essere inizializzata via software presente sul
computer a cui è connessa. Una delle linee di controllo del flusso
hardware (DTR) della FT232L è connessa alla linea di reset della
ATmega168 attraverso un condensatore da 100 nanofarad. Quando questa
linea viene sotto-alimentata, la linea di reset perde sufficiente
energia da reinizializzare la scheda. Il software Arduino utilizza
questa caratteristica per caricare codice semplicemente premendo il
bottone di caricamento (upload) nell'ambiente Arduino. Ciò significa che
il bootloader può avere un timeout più breve, mentre l'abbassamento del
DTR può essere coordinato con l'inizio del caricamento.
Questa configurazione ha altre implicazioni. Quando la Duemilanove è
connessa ad un computer che monta Mac OS X o Linux, ogni volta che viene
fatta una connessione via software (attraverso la porta USB), si
reinizializza. Per il mezzo secondo (circa) successivo, sulla
Duemilanove sarà attivato il bootloader. Poiché la programmazione è
stata fatta con la caratteristica di ignorare i dati non formati
correttamente (ad es., tutto ciò che non ha a che fare con il
caricamento di un nuovo codice), intercetterà i primi pochi bytes dei
dati spediti alla scheda quando viene aperta una connessione. Se uno
skecth che gira sulla scheda riceve una specifica configurazione o altri
dati al momento della sua attivazione, assicurati che il software con
cui comunica attenda circa un secondo dopo l'apertura della connessione
e prima della trasmissione di questo dato.
La Duemilanove contiene una traccia che può essere disattivata per
disabilitare l'auto-reset. Le parti che si trovano su entrambi i lati
della traccia possono essere saldati insieme per riattivarlo. La sua
etichetta è "RESET-EN".
Protezione da una
sovra-alimentazione della USB
La Arduino Duemilanove ha un polifusibile re-inizializzabile che
protegge le porte USB del tuo computer da corto circuiti e
sovra-alimentazione. Anche se la maggior parte dei computer già
prevedono una loro protezione interna, il fusibile fornisce un ulteriore
livello di protezione. Se più di 200 mA attraversano la porta USB, il
fusibile automaticamente interromperà la connessione fino a quando il
corto o il picco non sia rimosso.
Caratteristiche fisiche
La grandezza e l'estensione della Duemilanove PCB sono rispettivamente
di 6.8 e 5.33 cm., con il connettore USB e l'attacco per l'alimentazione
si estendono oltre la dimensione data. Tre fori per viti sono presenti
per eventualmente fissare la scheda ad una superficie o un contenitore.
Da notare che la distanza fra i piedini digitali 7 e 8 è di 10 mil
(0.16"), e non un multiplo pari dei 100 mil che separano gli altri
piedini.
Elenco revisioni | |
29/11/2010 | Aggiornato pagina |
16/10/2009 | Emissione preliminare |