wiki:ArduinoDuemilanove

Version 2 (modified by sgk, 16 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ライブラリを用いてプログラム中から読み書きすることができます。

Input and Output

Each of the 14 digital pins on the Duemilanove can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:

  • Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip.
  • External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
  • PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language.
  • LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.

The Duemilanove has 6 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and some low-level code. Additionally, some pins have specialized functionality:

  • I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library (documentation on the Wiring website).

There are a couple of other pins on the board:

  • AREF. Reference voltage for the analog inputs. Used with analogReference().
  • Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.

See also the mapping between Arduino pins and ATmega168 ports.

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

Note: See TracWiki for help on using the wiki.