パーツライブラリ - 汎用アナログ電圧センサ


2021/4/14公開

概要
AmazonやAliExpress等で安価に売られている、0-25Vまで計測可能な汎用アナログ電圧センサ(型番なし)のパーツライブラリを作成しました。
実装されているチップ抵抗に「3012」「7501」と印字のあるものが対象です。

説明
クラス名は"GenericVSensor_25V"です。
ターミナルブロックのVccとGndに測定対象を接続し、センサの+端子には5Vを印加してください。

本品のように分圧回路を使った電圧センサは構造上どうしても個体差や誤差が出ますので、
電圧監視に使う場合はあらかじめテスターなどで測定対象との誤差を測って修正分の係数をかけた上でご使用ください。

手持ちの個体では5Vを入力するとセンサからは約4.5Vで返ってきましたので、係数として1.1を掛けると実測値とほぼ同じになりました。
パーツライブラリの使用方法は公式ドキュメント「外部のパーツライブラリを取り込む」を参照してください。

仕様

onChange = function(value)


電圧が更新された場合に呼び出される関数を指定できます。
電圧の範囲は0-25Vです。
<script src="https://unpkg.com/obniz@3.x/obniz.js"></script>
<script src="GenericVSensor_25V.js"></script>

<script>
var obniz = new Obniz("OBNIZ_ID_HERE");

obniz.onconnect = async function () {
  // パーツライブラリの登録
  Obniz.PartsRegistrate(GenericVSensor_25V);

  var sensor = obniz.wired("GenericVSensor_25V", { gnd:0, vcc:1, signal:2 });
  sensor.onChange = function(value) {
    console.log("V:" + value);
  }
}
</script>

get()


電圧を取得します。
obniz Boardに問い合わせることなく、obniz Boardから届いた最後の値を取得します。
無限ループで実行する場合はwaitを入れる必要があります。
<script src="https://unpkg.com/obniz@3.x/obniz.js"></script>
<script src="GenericVSensor_25V.js"></script>

<script>
var obniz = new Obniz("OBNIZ_ID_HERE");

obniz.onconnect = async function () {
  // パーツライブラリの登録
  Obniz.PartsRegistrate(GenericVSensor_25V);

  var sensor = obniz.wired("GenericVSensor_25V", { gnd:0, vcc:1, signal:2 });
  while (true) {
    let value = sensor.get();
    console.log("V:" + value);
    await obniz.wait(30);
  }
}
</script>

[await] getWait()


電圧を取得します
obniz Boardに問い合わせることで最新の値を取得します。
<script src="https://unpkg.com/obniz@3.x/obniz.js"></script>
<script src="GenericVSensor_25V.js"></script>

<script>
var obniz = new Obniz("OBNIZ_ID_HERE");

obniz.onconnect = async function () {
  // パーツライブラリの登録
  Obniz.PartsRegistrate(GenericVSensor_25V);

  var sensor = obniz.wired("GenericVSensor_25V", { gnd:0, vcc:1, signal:2 });
  while (true) {
    let values = await sensor.getWait();
    console.log("V:" + value);
  }
}
</script>

使用例
<script src="https://unpkg.com/obniz@3.x/obniz.js"></script>
<script src="GenericVSensor_25V.js"></script>

<script>
var obniz = new Obniz("OBNIZ_ID_HERE");

obniz.onconnect = async function () {
  // パーツライブラリの登録
  Obniz.PartsRegistrate(GenericVSensor_25V);

  var sensor = obniz.wired("GenericVSensor_25V", { gnd:0, vcc:1, signal:2 });
  sensor.onChange = function(value) {
    console.log("V:" + (value * 1.1));  // 1.1は誤差補正用係数
  }
}
</script>

ダウンロード
GenericVSensor_25V.js


戻る