Version 10 (modified by 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ライブラリを用いてプログラム中から読み書きすることができます。
入出力
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チップの入出力ピンとの対応を参考にして下さい。
通信
Arduino Duemilanoveには、コンピュータ、他のArduino、あるいは他のマイクロコントローラと通信を行う機能があります。 ATmega168はTTLレベル(5Vレベル)のUARTによるシリアル通信機能を持っていますが、この機能はデジタル入出力ピンの0番(RX、受信)および1番(TX、送信)で利用することができます。 Duemilanoveが搭載するFTDI FT232RLチップはこのシリアル通信をUSB上の通信に変換し、FTDIドライバ(Arduinoソフトウェアの配布物に同梱してあります)によって、パソコン上では仮想COMポートとして認識されます。 Arduinoソフトウェアにはシリアルモニタ機能があり、これを使うとArduinoボードが送信するデータを表示し、またArduinoボードに対してデータを送信することができます。
ソフトウェアシリアル通信ライブラリを使用すれば、0番1番以外の任意のデジタル入出力ピンでもシリアル通信を行うことができます。
ATmega168は、I2C(TWI)およびSPIによる通信の機能をも持っています。 Arduinoソフトウェアには、I2Cによる通信を簡単にするWireライブラリが含まれています。 このライブラリの詳細については、Wiringのウェブサイトを参照して下さい。 SPIによる通信の機能は、現状のライブラリでは提供していません。 SPIの使用方法については、ATmega168のデータシートを参照してください。
プログラミング
Arduino Duemilanoveにプログラムを書き込むには、Arduinoソフトウェア(ダウンロード)を使用します。 詳細については、リファレンスマニュアルおよびチュートリアルを参照して下さい。
Arduino Duemilanove上のATmega168には、あらかじめブートローダを書き込んであります。 このブートローダにより、外部の書き込み装置を使わずにプログラムを書き込むことが可能になっています。 書き込みの際の通信は、アトメル社が開発したSTK500プロトコル(リファレンス、Cのヘッダファイル)です。
ブートローダを使用せず、ICSPヘッダ(In-Circuit Serial Programming、ISPとも呼ぶ)を使用してATmega168に書き込むこともできます。 書き込み方法については、このページを参照して下さい。
自動リセット(ソフトウェアリセット)
プログラムを書き込むにはリセットする必要があります。 Duemilanoveは、ボード上のリセットボタンを物理的に押さなくても、パソコン上のソフトウェアからリセットすることができます。 FT232RLチップが備えるハードウェアフロー制御信号線のうちの1本(DTR)を、0.1μFのコンデンサを介してATmega168のリセット信号線に接続してあります。 DTR信号を有効にすると(LOWレベルにすると)、一定時間の間リセット信号線がLOWレベルに維持され、これによってATmega168がリセットされます。 この機能により、Arduinoソフトウェアのウィンドウ上のアップロードボタンを押すだけでプログラムを書き込むことが可能になっています。 プログラムの書き込みの直前にDTRをLOWレベルにするだけでいいので、ブートローダのタイムアウト(リセット直後にプログラムの書き込みを待つ時間)を短く構成できています。
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