Arduino のハードウェアを知る(Uno編)

Arduinoを始めるv2.2ではArduino の大枠とプログラムのアップロード確認を行いました。今回はArduino(今回はUno)のハードウェア(基板)にフォーカスを当てて解説したいと思います。

さて、まずArduino Unoの機能を理解するために大まかな構成を知っておく必要があります。上の画像を見てください。ArduinoUno基板には様々なパーツが実装されていますがしばらくは一部のパーツの機能のみ覚えておけば問題ありません。順番にみていきましょう。

DCコネクタ

Arduino はスタンドアローンで動作します。PCからプログラムをアップロードした後は、USBケーブルを抜いた状態でも電源を供給していれば動作します(PCと通信をするプログラムをアップロードした場合は別)そのため、ACDCのアダプター電源を繋げばArduinoを独立して動かすことができます。気をつけなければならないのは、Arduinoは12Vまでしか受け付けられない仕様になっているので、アダプタの供給電圧をよく確認しましょう。

USBソケット

PCからプログラムをアップロードするための通信ケーブルを挿すコネクタです。アップロード後もPCとリアルタイムに通信をしながらデータのやり取りをすることもあります。

リセットボタン

Arduinoをリセットし、再起動します。何かエラーが起きたときはこの物理ボタンでリセットできます。ただし、アップロードされたプログラムが消えるわけではありません。

通信用LED

Arduino とシリアル通信(主にPCと通信)している時に点灯し、データのやり取りを目視で確認できるLEDです。送信:TX(Transmitter)受信:RX(Receiver)に反応して点灯します。プログラムアップロード時はこのLEDが光っている(点滅している)と上手く通信ができている可能性が高いです。

デバッグ用LED(13pin)

このLEDは後述するピンソケットの13番ピンに対応しているLEDで、主に動作確認用に用いられます。プログラムを書かない限り通常点灯しません。サンプルプログラムに13番ピンの出力状態を記載すると動作します。センサーを繋げる前にArduinoが正常に動作しているか確認したり、部品を実装しなくてもちょっとしたプログラム確認の為に使うことができます。

電源LED

電源が投入されている時に点灯するLEDです。このLEDが点灯しない場合はArduino に上手く電力が供給されていないか壊れている可能性があります。

ICSPピン(USBインタフェース用)

Arduino UnoのUSB-シリアル変換ICにかきこみができるピンです。特殊なことをやろうとしない限り一般的には使用しないです。

ICSPピン(マイコン用)

ICSP対応のプログラム書き込み装置を接続することで、Arduino Unoのマイコンにスケッチ(プログラム)を直接、書き込むことができます。ただ、一般的には使用しないことも多いと思います。SPIといった特殊な通信方式にも使われるため、シールドと呼ばれるArduinoに被せて使用できる追加基板にはこのピンにつながるように設計されているものもあります。

ピンソケット

各ソケットがそれぞれマイコンのピンに接続されており、様々な機能を有しています。こちらはそれぞれの機能を後述します。このソケットにセンサーやアクチュエータを接続しながら操作してゆきます。

以上をまずは覚えておいてください。ここからはArduino で最も使用頻度が高いピンソケットに関して詳しくみてゆきます。

ピンソケットのそれぞれの役割

Arduino Unoのピンソケットにはそれぞれ英字や数字が記載されています。その文字を元に機能を確認できます。まずは文字をみていきましょう。

  • IOREF:5Vが出力されます(Unoの場合。マイコン駆動電圧)
  • RESET:リセットボタンと同じです
  • 3.3V:3.3Vが出力されます
  • 5V:5Vが出力されます
  • GND:グラウンド。基準
  • VIN:DCコネクタからの電圧が出力されます
  • AREF:アナログ入力時のリファレンス(通常使用しません)

主に使用するのは5VとGNDかと思います。3.3V駆動のセンサーを使う場合や、より高電圧のモジュールを使用する場合に3.3V,VINを使用することがありますがその他はあまり使用する機会はないかもしれません。

数字が書かれているピンには大きく2種類あり、「Analog Input」「Digital in/out」があります。

  • Analog Input:アナログ入力ピン。ピンに接続された電圧を10bits: 0~1023の段階でマイコンに返します。なだらかに変化するセンサーなどを扱う時に使用します。
  • Digital in/out:デジタル入出力ピン。デジタル(0か1か)を判断するために使用します。こちらは入力と出力を事前にプログラム上で指定することで自由に変更できます。数字の前に「〜」がついているピンはPWMという0と1を高速に切り替えることで擬似的にアナログ出力することができるピンです。こちらを使うとLEDがゆっくりと点灯するなとのなだらかな出力が可能です。

以上が各ピンソケットの説明になります。その他I2CやSPIなど機能を2つ以上有しているピンも上記の中にはありますが、最初はすべてを覚えなくても少しづつやりたいことに合わせて学んでいきましょう。