AD

IOの端子にかけられている電圧を調べる機能がADです。電圧の変化するもの、例えば光の量を調べる光センサーなどを接続しADで電圧を測ることで光の量を知ることができます。

io.inputWait()と同じく一度だけその時の電圧を調べるのがad.getWait()です。
io0で利用できるadはad0となります。デバイスによってはすべてのioにadがあるわけではないので詳しくはデバイス詳細を御覧ください。

var voltage = await obniz.ad0.getWait();

計測できる最大電圧はデバイスに依存します。obniz Boardシリーズの場合は0~5v(電源電圧)までとなります。また、ad.start()関数を使いコールバック関数を設定することで「電圧に変化があったとき」にその電圧を受け取ることができます。

obniz.ad0.start(function(voltage){
 console.log("changed to "+voltage+" v")
});

受け取れる頻度はネットワークの速度に依存します。つまりどんなにadが激しく変化していたとしても、ある頻度でしか取得することができません。また、どんなに高速でも30/secが最も速い頻度となります。

obniz Boardシリーズについて

obniz BoardシリーズではADのための回路を内蔵しており、他のプロセッサとは異なる挙動となります。

obniz BoardシリーズではADのための回路がIOユニットの外部についています。そのため、IOの出力やペリフェラルの利用と同時にADを使うことができます。

また、ADは通常電源電圧が下がると正しい結果となりませんがobniz Boardでは下の表に従い電源電圧による補正が自動的に行われます。補正の対象となる電圧はobnizOSのバージョンにより異なります。

obnizOS versioncalibration method
under 1.2Always
1.2 or higherOnly Vdd is under 4.5v