Power
Arduino LeonardoはマイクロUSB接続または外部電源で給電することが可能です。 電源は自動的に選択されます。
外部電源(USB以外)は、AC-DCアダプタ(ウォールワート)またはバッテリのいずれかを使用します。 アダプターは、2.1mmセンター・プラス・プラグをボードの電源ジャックに差し込むことで接続可能です。 電池からのリード線は、POWERコネクタのGndとVinのピンヘッダに挿入することができます。
電源ピンは次のとおりです。
- vin. 外部電源を使用しているときのArduinoボードへの入力電圧です(USB接続や他の安定化電源からの5Vとは異なります)。 このピンから電圧を供給するか、電源ジャックから電圧を供給する場合は、このピンからアクセスします。
- 5V. ボード上のマイクロコントローラやその他のコンポーネントに電力を供給するために使用される安定化電源です。 これは、オンボード・レギュレータ経由でVINから供給されるか、USBまたは他の安定化された5V電源から供給されます。 オンボード・レギュレータにより生成される3.3V電源。 最大電流は50mAです。
- GND. グランド・ピン。 ボードの i/o ピンが動作している電圧 (すなわちボードの VCC)。 Leonardoでは5Vです。
Memory
ATmega32u4は32KB(うち4KBはブートローダ用)です。 また、2.5KBのSRAMと1KBのEEPROM(EEPROMライブラリで読み書きが可能)を持っています。
入出力
レオナルドの20本のデジタルI/Oピンは、pinMode()、digitalWrite()、digitalRead()関数を使って入力または出力として使うことができます。 これらのピンは5ボルトで動作します。 各ピンは最大40mAを供給または受信でき、20-50kΩの内部プルアップ抵抗(デフォルトでは切断されています)を持っています。 また、一部のピンは特殊な機能を備えています:
- Serial: 0(RX)および1(TX)。 ATmega32U4ハードウェアシリアル機能を用いてTTLシリアルデータを受信(RX)、送信(TX)するために使用します。
- 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値のとき、消灯します。
- Analog Inputs: A0~A5、A6~A11(デジタル・ピン4、6、8、9、10、12に搭載)。 Leonardoは、A0~A11とラベル付けされた12個のアナログ入力を持っており、これらはすべてデジタルI/Oとしても使用することができます。 ピンA0-A5はUnoと同じ位置にあり、入力A6-A11はそれぞれデジタルi/oピン4, 6, 8, 9, 10, 12にあります。 各アナログ入力は、10ビットの分解能(つまり1024通りの値)を提供します。 デフォルトでは、アナログ入力はグランドから 5 ボルトまで測定しますが、AREF ピンと analogReference() 関数を使用して、その範囲の上限を変更することができます。 アナログ入力の基準電圧。 analogReference()で使用します。
- Reset. このラインをLOWにすると、マイコンはリセットされます。
ArduinoのピンとATmega32u4ポートの間のマッピングも参照してください。
通信
Leonardoは、コンピュータ、他の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 の間隔は 160 mil (0.16″) で、他のピンの間隔 100 mil の偶数倍ではないことに注意してください
。