IO: プルアップダウンについて

プルアップやプルダウンとは大きめの抵抗を使って、電源などに接続することです。
高い電圧に繋げばプルアップ、gndなど、0vなど低い電圧に繋げばプルダウンです。

出力したくはないけど、ioをある電圧にしておきたいとき等に使えます。

obnizにはそれぞれのioに内部プルアップ・プルダウンを備えていて、obniz.jsからそれらをオンにすることができます。

プルアップは5vと3.3v。プルダウンは0vとなっています。同時に使うことはできません。
また、何も設定していない場合、全てオフになっています。

利用する

プルアップ・ダウンを使うには

obniz.io0.pull();

を使います。試しにio0を5vにプルアップします。
io0に何も出力しないで、そのかわりに5vにプルアップして電圧を見てみましょう。

var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
  obniz.io0.pull("5v");
  var voltage = await obniz.ad0.getWait();
  console.log(voltage);
}

どうでしょう。およそ5vになるかと思います。

5vといっても、プッシュプルで5vを出力したときよりも少し低い電圧になるかと思います。
プルアップ・ダウンはとても大きな抵抗で行われます。その影響で5vにプルアップしても5vより少し低い電圧になります。

次に3vを試してみます。

var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
  obniz.io0.pull("3v");
  var voltage = await obniz.ad0.getWait();
  console.log(voltage);
}

どうでしょうか。およそ3.3vになるかと思います。
0vも同様です。

var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
  obniz.io0.pull("0v");
  var voltage = await obniz.ad0.getWait();
  console.log(voltage);
}

フロートに戻す

プルアップやプルダウンを解除するにはどうしたらいいでしょうか。
nullを指定することでプルアップ・ダウンを解除することができます。

var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {
  obniz.io0.pull("5v");
  var voltage = await obniz.ad0.getWait();
  console.log(voltage);
  obniz.io0.pull(null);
  var voltage = await obniz.ad0.getWait();
  console.log(voltage);
}

5vに電圧をプルアップして、その後、pull(null)でプルアップ・ダウンを解除しています。
解除した後の電圧をgetWait()で調べていますが、その時の電圧はどうなるかはその時々です。
outputもしていないし、プルアップ・ダウンもしていないので何ボルトになるかは不明です。



Next : IO: animation

You will Get in Few Days

Circuit for Starter “obniz Board” is available on Amazon and other online stores.
You can get it at below

Our products and resellers

Forum

Visit our developer’s forum to discuss and discover technologies.

Forum

Contact

Feel free to contact out support and technical team.

Contact us