ブログ

Armadillo-IoT A6E:接点入出力機能を使用する 配線・動作確認編

at_takuma.fukuda
2022年12月22日 13時14分

Armadillo-IoT A6Eには接点入出力のためのポートが備わっています。 この記事では、接点入出力を行うためにはどのように配線を行うべきかをご紹介します。

配線の基本的な考え方

接点入力・接点出力、それぞれを行う場合の配線の例をご紹介します。
Armadillo-IoT A6Eの接点入出力インタフェースは、いずれもフォトカプラで絶縁されています。
そのため、入力・出力いずれの場合もフォトカプラを駆動させるため、5V以上の電圧を印加する必要があります。
接点入力端子の絶対最大定格電圧は、電源電圧と同じ26.4Vであるため、
Armadillo-IoT A6EのCON6のピン1・ピン2に直流電源を入力して電源を供給している場合、この端子から駆動のための電圧をとる事が出来ます。
また、CON6のピン1はCON5 DCジャックのピン1と接続されていますので、
ACアダプタを使ってArmadillo-IoT A6Eに電源を供給している場合もCON6のピン1から駆動のための電圧をとる事が出来ます。

接点入力

接点出力

回路作成

実際に上記の図のような回路を形成し、接点入力・接点出力動作を確認します。

  • ブレッドボード
  • ジャンパケーブル
  • 発光ダイオード
  • 抵抗(330Ω)
  • 乾電池(9V)

実際に配線を行ったものがこちらです。 図にすると以下のようになります。 スイッチはブレッドボードへのジャンパピンの抜き差しで代用します。

動作確認

Armadillo Base OSからgpioset/gpiogetコマンドを実行して接点入出力を行います。
*ゲートウェイコンテナが動作している場合は、 事前に止めておきます。

[armadillo ~]# podman stop a6e-gw-container

接点入力

接点入力の値を取得するには、gpiogetコマンドを実行し、引数に対象のGPIOチップとGPIO番号を指定します。
接点入力1はgpiochip5の0ですので、gpioget gpiochip5 0となります。
接点が短絡していれば0、接点が開放されている場合は1という値が返ってきます。

スイッチを開放した状態でコマンドを実行すると下記の通り1という値が返ってきます

[armadillo ~]# gpioget gpiochip5 0
1

スイッチを短絡してコマンドを実行すると下記の通り0という値が返ってきます

[armadillo ~]# gpioget gpiochip5 0
0

接点出力

接点出力を行うには、gpiosetコマンドを実行し、引数に対象のGPIOチップとGPIO番号、出力レベルを指定します。
出力レベルをLOWにすると接点が短絡し、HIGHにすると接点が開放されます。
接点出力1の場合はgpiochip5の2ですので、出力レベルをLOWとする場合は以下のコマンドを実行します。

[armadillo ~]# gpioset gpiochip5 2=0

接点が短絡した状態となり、発光ダイオードが点灯します。 出力レベルをHIGHとする場合は以下のコマンドを実行します。

[armadillo ~]# gpioset gpiochip5 2=1

接点が開放された状態となり、発光ダイオードが消灯します。
以上をもって接点入出力機能の動作確認が出来ました。
より実践的なアプリケーションの開発については下記の記事をご参照ください。
Armadillo-IoT A6E:Node-REDによる接点入出力アプリケーション