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 に接続してください。
CON8 ピン番号 | 信号名 |
---|---|
5 | VCC_3.3V |
6 | GND |
7 | ADC1_IN1 |
本 Howto で作成した回路図は次のとおりです。
ADC を有効化する
Armadillo-IoT ゲートウェイ A6E製品マニュアル「10.10. Device Treeをカスタマイズする」 の手順のとおり、 at-dtweb で DTS overlays ファイル(dtbo)を生成します。
- Armadillo-IoT ゲートウェイ A6E製品マニュアル「10.5.2. Linux カーネルをビルドする」を参考に、Armadillo-IoT ゲートウェイ A6E 向けのLinuxカーネルイメージをビルドします。
- at-dtweb を起動し、ボードの選択で Armadillo-IoT_A6E を選択します。Linux カーネルディレクトリの選択では、先程ビルドした Linux カーネルディレクトリを選択してください。
- 画面左側の「Available features」から ADC1(IN1) をドラッグし、画面右側の「Armadillo-IoT Gateway A6E」の pin7 にドロップします。
- 画面右上の「Save」をクリックし、dtbo ファイルを生成します。
- 以下の画面ようなメッセージが表示されると、dtbo ファイルの生成は完了です。
- 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