Arduino – ArduinoBoardLeonardo
Arduino LeonardoはマイクロUSB接続、または外部電源で給電することが可能です。 電源は自動的に選択されます。
外部電源(USB以外)は、AC-DCアダプタ(ウォールワート)またはバッテリから供給されることができます。 アダプターは、2.1mmセンター・プラス・プラグをボードの電源ジャックに差し込むことで接続可能です。 電池からのリード線は、POWERコネクタのGndとVinのピンヘッダに挿入することができます。
電源ピンは次のとおりです。
- vin. 外部電源を使用しているときのArduinoボードへの入力電圧です(USB接続や他の安定化電源からの5Vとは異なります)。 このピンから電圧を供給するか、電源ジャックから電圧を供給する場合は、このピンからアクセスします。
- 5V. ボード上のマイクロコントローラおよびその他のコンポーネントに電力を供給するために使用される安定化電源です。 これは、オンボード・レギュレータ経由でVINから供給されるか、USBまたは他の安定化された5V電源から供給されます。 オンボード・レギュレータにより生成される3.3V電源。 最大電流は50mAです。
- GND. グランド・ピン
- IOREF. ボードの i/o ピンが動作する電圧 (すなわち、ボードの VCC)。 Leonardoでは5Vです。
ATmega32u4は32KB(うち4KBはブートローダ用)です。 また、2.5KBのSRAMと1KBのEEPROM(EEPROMライブラリで読み書きが可能)を持っています。
レオナルドの20本のデジタルI/Oピンは、pinMode()、digitalWrite()、digitalRead()関数を使って入力または出力として使うことができます。 これらのピンは5ボルトで動作します。 各ピンは最大40mAを供給または受信でき、20-50kΩの内部プルアップ抵抗(デフォルトでは切断されています)を持っています。 また,いくつかのピンは,特殊な機能を持っています。
- シリアル。 0(RX)および1(TX)。 ATmega32U4ハードウェアシリアル機能を用いてTTLシリアルデータを受信 (RX) および送信 (TX) するために使用されます。 レオナルドではSerialクラスがUSB(CDC)通信を参照することに注意してください。ピン0と1でのTTLシリアルにはSerial1クラスを使用してください。
- TWI: 2 (SDA) と 3 (SCL) です。 Wireライブラリを使用したTWI通信をサポート。
- 外部割込み:3(割込み0)、2(割込み1)、0(割込み2)、1(割込み3)、7(割込み4)です。 これらのピンは、Low値、立ち上がりまたは立ち下がりエッジ、値の変化で割り込みを発生させるように設定することができます。 詳細はattachInterrupt()関数を参照してください。
- PWM:3、5、6、9、10、11、13。 analogWrite()関数で8ビットPWM出力を提供します。
- SPI:ICSPヘッダに搭載。 SPIライブラリを使用したSPI通信をサポートするピンです。 SPIピンは、UnoのようにデジタルI/Oピンには接続されておらず、ICSPコネクタからのみ利用可能であることに注意してください。 つまり、SPIを使用するシールドで、レオナルドの6ピンICSPヘッダに接続する6ピンICSPコネクタがない場合、そのシールドは動作しません。
- led: 13. デジタルピン13に接続されたLEDが内蔵されています。 ピンがHIGH値のとき、LEDは点灯し、LOW値のとき、消灯します。
- アナログ入力です。 A0~A5、A6~A11(デジタル・ピン4、6、8、9、10、12に接続)。 Leonardoは、A0~A11とラベル付けされた12個のアナログ入力を持ち、これらは全てデジタル入出力としても使用できます。 ピンA0-A5はUnoと同じ位置にあり、入力A6-A11はそれぞれデジタルi/oピン4, 6, 8, 9, 10, 12にあります。 各アナログ入力は、10ビットの分解能(つまり1024通りの値)を提供します。 デフォルトでは、アナログ入力はグランドから 5 ボルトまで測定しますが、AREF ピンと analogReference() 関数を使用して、その範囲の上限を変更することができます。
- aref. アナログ入力の基準電圧。 analogReference()で使用します。
- リセット。 このラインをLOWにすると、マイクロコントローラがリセットされます。 通常、ボード上のものをブロックするシールドにリセットボタンを追加するために使用されます。
Arduino ピンと ATmega32u4 ポート間のマッピングも参照してください。
CommunicationLeonardoには、コンピュータ、他のArduino、または他のマイクロコントローラと通信するための機能がいくつかあります。 ATmega32U4は、デジタルピン0(RX)と1(TX)で利用可能なUART TTL(5V)シリアル通信を提供します。 32U4 はまた、USB 経由のシリアル (CDC) 通信を可能にし、コンピュータ上のソフトウェアに仮想 COM ポートとして表示されます。 このチップは、標準的な USB COM ドライバを使用して、フルスピードの USB 2.0 デバイスとしても機能します。 Windows では、.inf ファイルが必要です。 Arduinoソフトウェアには、シリアルモニタが含まれており、Arduinoボードと簡単なテキストデータを送受信することができます。 USB接続でコンピュータにデータを送信しているときは、ボード上のRXとTXのLEDが点滅します(ただし、ピン0と1でのシリアル通信はできません)。 SoftwareSerialライブラリを使用すれば、レオナルドのどのデジタルピンでもシリアル通信が可能です。 ATmega32U4はI2C(TWI)、SPI通信もサポートしています。 Arduinoソフトウェアには、I2Cバスの使用を簡略化するためのWireライブラリが含まれています;詳細についてはドキュメントを参照してください。 SPI通信の場合は、SPIライブラリを使用します。 Leonardoは一般的なキーボードとマウスとして表示され、KeyboardとMouseクラスを使用してこれらの入力デバイスを制御するようにプログラムすることができます。
プログラミングLeonardoはArduinoソフトウェア(ダウンロード)でプログラムすることができます。 ツール>ボードのメニューから「Arduino Leonardo」を選択します(ボードのマイコンによります)。 詳しくは、リファレンスやチュートリアルをご覧ください。 Arduino LeonardoのATmega32U4はブートローダがあらかじめ搭載されており、外部のハードウェアプログラマを使用せずに新しいコードをアップロードすることができます。 これはAVR109プロトコルを使って通信します。 ブートローダをバイパスして、Arduino ISPなどを使用してICSP (In-Circuit Serial Programming) ヘッダからマイクロコントローラをプログラムすることもできます; 詳細はこちらの手順をご覧ください。
自動(ソフトウェア)リセットおよびブートローダ起動Leonardoは、アップロードの前にリセットボタンを物理的に押す必要があるのではなく、接続したコンピュータで実行するソフトウェアによってリセットできるように設計されています。 Leonardoの仮想(CDC)シリアル/COMポートが1200ボーで開かれ、その後閉じられるとリセットがトリガされます。 このとき、プロセッサがリセットされ、コンピュータとのUSB接続が解除されます(つまり、仮想シリアル/COMポートが消滅します)。 プロセッサがリセットされた後、ブートローダが起動し、約8秒間アクティブな状態を維持します。 ブートローダはレオナルドのリセットボタンを押すことによっても起動できます。 ボードが最初にパワーアップした時、ブートローダを開始するのではなく、ユーザスケッチがあればそれに直接ジャンプすることに注意してください。
Leonardoがリセットを処理する方法のため、特に他のボードでアップロード前にリセットボタンを押す習慣がある場合は、アップロード前にArduinoソフトウェアがリセットを開始するのを試みるのが最善です。 ソフトウェアがボードをリセットできない場合は、ボードのリセットボタンを押すことでいつでもブートローダを開始できます。USB 過電流保護Leonardo は、コンピュータの USB ポートを短絡および過電流から保護するリセット可能なポリヒューズを備えています。 ほとんどのコンピュータは独自の内部保護機能を備えていますが、ヒューズは保護機能の追加レイヤーを提供します。 USBポートに500mA以上の電流が流れると、ショートや過負荷が解消されるまで、ヒューズが自動的に接続を遮断します。
物理的特性Leonardo PCBの最大長および幅はそれぞれ2.7および2.1インチで、USBコネクタと電源ジャックは前者の寸法を超えて延びています。 4つのネジ穴により、基板を表面やケースに固定することができます。 なお、デジタルピン7と8の間隔は160mil(0.16インチ)で、他のピンの間隔100milの偶数倍ではないことに注意してください。