Howto

Armadillo-IoT A6E で ADC を使用する方法

Armadillo-IoT A6E で ADC を使用し、電圧を取得する方法について説明します。

本 Howto の構成は以下のとおりです。

必要なもの

本 Howto では以下のものを使用します。

機材説明
Armadillo-IoT A6E 一式 Armadillo-IoT A6E 本体、AC アダプタ、USB ケーブル、LAN ケーブルが必要です。
可変抵抗、ジャンパケーブル 本 Howto に掲載している回路例で使用します。
作業用PC VMware が動作可能なスペックの PC が必要です。
ネットワーク環境 Armadillo-IoT A6E と作業用 PC はネットワーク通信ができるようにしてください。

ADC の仕様

ADC の仕様は以下のとおりです。

  • 入力電圧範囲:0 〜 3.3V
  • 分解能   :12bit(0〜4095)

接続方法

本 Howto では、ADC1(IN1)を有効化した例として接続を行っています。IN2, IN3, IN4を有効化する場合は、pin7に接続している部分をそれぞれ pin8, pin9, pin10 に接続してください。 Armadillo-IoT A6E

CON8 ピン番号信号名
5VCC_3.3V
6GND
7ADC1_IN1

本 Howto で作成した回路図は次のとおりです。 回路図

ADC を有効化する

Armadillo-IoT ゲートウェイ A6E製品マニュアル「10.10. Device Treeをカスタマイズする」 の手順のとおり、 at-dtweb で DTS overlays ファイル(dtbo)を生成します。

  1. Armadillo-IoT ゲートウェイ A6E製品マニュアル「10.5.2. Linux カーネルをビルドする」を参考に、Armadillo-IoT ゲートウェイ A6E 向けのLinuxカーネルイメージをビルドします。
  2. at-dtweb を起動し、ボードの選択で Armadillo-IoT_A6E を選択します。Linux カーネルディレクトリの選択では、先程ビルドした Linux カーネルディレクトリを選択してください。
  3. 画面左側の「Available features」から ADC1(IN1) をドラッグし、画面右側の「Armadillo-IoT Gateway A6E」の pin7 にドロップします。 ADC1(IN1)の選択
  4. 画面右上の「Save」をクリックし、dtbo ファイルを生成します。 設定の保存
  5. 以下の画面ようなメッセージが表示されると、dtbo ファイルの生成は完了です。 生成完了メッセージ
  6. Armadillo-IoT ゲートウェイ A6E製品マニュアル「10.10.3. DTS overlays によるカスタマイズ」に従って、生成したdtbo ファイルをArmadillo-IoT A6E に適用させます。

動作確認

以下のコマンドを使用することで、ADC1(IN1)の値を読み込むことが出来ます。IN2, IN3, IN4 の場合、それぞれ in_voltage2_raw, in_voltage3_raw, in_voltage4_raw となります。

[armadillo ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw

可変抵抗にてADCのピンにかける電圧を変えることで、以下のように出力値が変わります。 以下の例では、上からおよそ0V, 1.65V, 3.3Vの3つの電圧を測定しています。

[armadillo ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
15
[armadillo ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
2001
[armadillo ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
4053