wiki:ArduinoDuemilanove

Version 4 (modified by sgk, 11 years ago) (diff)

--

Arduino Duemilanove

原文はこちら

概要

Arduino Duemilanove (「2009」)は、ATmega168(データシート)を使用したマイコンボードです。 デジタルI/Oが14本(このうち6本はPWMとして使えます)、アナログ入力が6本あります。 クロックは16MHz。その他USB接続(デバイス側)、電源コネクタ、ISPコネクタ、リセットボタンを装備しています。 マイコンを使用するのに必要な物が全てそろっています。 単純に、USBでパソコンに接続するか、ACアダプタまたは電池を接続するだけで使えます。

「Duemilanove」は、イタリア語で2009を意味します。 ちょっと早いですが、リリースの年を意味しています。 Duemilanoveは、現時点で最新のUSB接続型Arduinoです。 以前のバージョンとの比較については、Arduinoボードの一覧を参照してください。

回路図およびリファレンスデザイン

EAGLE形式の設計図:arduino-duemilanove-reference-design.zip

回路図:arduino-duemilanove-schematic.pdf

仕様一覧

マイクロコントローラ ATmega168
動作電圧 5V
入力電圧 7~12V
入力電圧(限界) 6~20V
デジタルI/O 14本(うち6本はPWMとして使用可能)
アナログ入力 6本
デジタル出力の最大負荷 40mA
3.3V出力ピンの最大負荷 50mA
フラッシュメモリ 16KiB(うち2KiBはブートローダに使用済み)
SRAM 1KiB
EEPROM 512B
クロック周波数 16MHz

電源

電源の供給は、USB接続または外部電源によって行います。これらは自動的に選択されます。

外部電源にはACアダプタまたは電池を使用します。 接続は、中心電極の太さ2.1mmの、中心がプラスのコネクタを使用します。 電池からの電源供給は、4個あるピンヘッダのうち「POWER」コネクタの「Gnd」ピンと「Vin」ピンに裸電線を差し込んで行うこともできます。

入力電圧の範囲は6~20Vです。しかし、7V以下の場合、5Vであるべき導線の電圧が5Vを下回り、動作が不安定になる可能性があります。 また、12V以上の場合、搭載する電源レギュレータが加熱し壊れる可能性があります。 推奨する入力電圧の範囲は、7~12Vです。

「POWER」コネクタのピンは以下の通りです。

Vin
(USBコネクタやその他の安定化電源からの5Vではない)外部電源の入力です。 外部電源は、このピンに供給してください。 また、電源ジャックから供給している場合は、供給されているそのままの電圧がここに出力されています。
5V
ボード上のマイクロコントローラやその他の部品に供給されている安定化された5V電源の導線です。 この導線の電圧は、電源ジャックまたはVinからの電圧をボード上の電源レギュレータによって安定化したもの、またはUSBコネクタからの5V電圧です。 また、外部の安定化電源からの5V電圧を、このピンに供給することもできます。 電源ジャック、Vin、5Vピンから供給された電圧がUSBコネクタに逆流することはありません。
3V3
ボード上のFTDIチップが生成した3.3V電源です。このピンの最大負荷は50mAです。
GND
グラウンドです。

メモリ

ATmega168には、プログラムコードの格納用として16KiBのフラッシュメモリがあります(このうち2KiBはブートローダ用に使用されています)。 さらに、1KiBのSRAM、512バイトのEEPROMがあります。 EEPROMは、EEPROMライブラリを用いてプログラム中から読み書きすることができます。

入出力

14本あるデジタルI/Oピンは、入力または出力に切り替えて使用することができます。 切り替えにはpinMode()関数、出力にはdigitalWrite()関数、入力にはdigitalRead()関数を使用します。 入出力の動作電圧は5Vです。 出力として使用する場合の最大負荷は40mAです。 入力として使用する場合、20~50KΩのプルアップ抵抗が接続されます。 一部のピンには、特有の役割があります。

シリアル通信:0番(受信RX)、1番(送信TX)
シリアル通信の送受信に使います。 これらのピンは、FTDI USB~TTLレベルシリアル通信変換チップの対応するピンに接続されています。
外部割り込み:2番、3番
設定により、これらのピンの値LOW、LOW→HIGHのエッジ、HIGH→LOWのエッジ、いずれかの方向の値の変化によって割り込みをかけることができます。 詳細についてはattachInterrupt()関数のページを参照してください。
PWM:3番、5番、6番、9番、10番、11番
analogWrite()関数により、8ビットのPWMでアナログ電圧を出力することができます。
SPI:10番(SS)、11番(MOSI)、12番(MISO)、13番(SCK)
SPIによる通信に使用することができます。 SPIはハードウェア的にはサポートされていますが、現時点ではArduino言語ではサポートしていません。
LED:13番
13番ピンは、ボード上に搭載したLEDにも接続されています。 値がHIGHの時に点灯し、LOWの時に消灯します。

Duemilanoveには、アナログ入力が6本あり、それぞれ分解能は10ビットです(つまり、1024種類の値を取ることができます)。 デフォルトでは0~5Vの範囲を計測しますが、AREFピンおよびハードウェアレベルのプログラムをいくらか行うことによって、範囲の上限を変更することができます。 アナログ入力用のピンの一部には、以下の特殊な機能もあります。

I2C:アナログ4番(SDA)、アナログ5番(SCL)
「Wire」ライブラリ(解説はWiringのウェブサイトにあります)を使用すると、I2C(TWI)による通信を行うことができます。

この他、ボード上には以下のピンがあります。

AREFピン
アナログ入力ピンで入力を行う際の参照電圧を印加します。 このピンに印加された電圧を参照電圧として使用するかどうかは、analogReference()で設定します。
Reset(リセット)ピン
このピンへの入力電圧をLOWにすると、搭載しているマクロコントローラをリセットすることができます。 シールドを搭載するとDuemilanove上のリセットボタンを覆い隠してしまうため、このピンを使ってシールド上にリセットボタンを装備するのが普通です。

ArduinoとATmega168チップの入出力ピンとの対応を参考にして下さい。

Communication

The Arduino Duemilanove has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega168 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An FTDI FT232RL on the board channels this serial communication over USB and the FTDI drivers (included with the Arduino software) provide a virtual com port to software on the computer. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board.

A SoftwareSerial? library allows for serial communication on any of the Duemilanove's digital pins.

The ATmega168 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation on the Wiring website for details. To use the SPI communication, please see the ATmega168 datasheet.

Programming

The Arduino Duemilanove can be programmed with the Arduino software (download). For details, see the reference and tutorials.

The ATmega168 on the Arduino Duemilanove comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files).

You can also bypass the bootloader and program the ATmega168 through the ICSP (In-Circuit Serial Programming) header; see these instructions for details.

Automatic (Software) Reset

Rather then requiring a physical press of the reset button before an upload, the Arduino Duemilanove is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the FT232RL is connected to the reset line of the ATmega168 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.

This setup has other implications. When the Duemilanove is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Duemilanove. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.

The Duemilanove contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN".

USB Overcurrent Protection

The Arduino Duemilanove has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.

Physical Characteristics

The maximum length and width of the Duemilanove PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Three screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.

Listen to the name

This is how you can pronounce the board's name in proper Italian, download the sound file in the format that better suits you: WAV, OGG, MP3, FLAC, WMA