駆動方法

IOから出力をする場合に、その出力の方法が選択できます(何が選択できるかはデバイスによります)。出力のパワーや電圧を切り替えることができます。

obnizではデフォルトでは「そのデバイスで使える最もパワフルなプッシュプル」が選択されています。変更にはio.drive()関数を利用します。
output()で出力を初めて行うよりも前に設定を変更します。output()で出力中に変更することも可能です。

// Javascript Example

obniz.io0.pull("5v");
obniz.io0.drive("open-drain");
obniz.io0.output(true); // output open-drain with 5v pull-up

また、io.output()に限らず、UARTやSPIなどの出力時にも利用できます。

駆動方法一覧

drive class リファレンス
drive API リファレンス

選択できるタイプはデバイスによります。

以下はobniz Boardシリーズの場合の対応表となります。他のデバイスはそれぞれのデバイス詳細をご覧ください。

drive()引数 駆動方法と電圧 最大電流 最大周波数 詳細
5v プッシュプル 5v 1A <=250khz(推奨) デフォルト設定。過電流/ドライバ高温保護付き
3v プッシュプル 3v 1mA(推奨) <=80Mhz io.output()使用時の過電流自動停止と警告
open-drain オープンドレイン <=5v 1mA(推奨) <=80Mhz

プッシュプル

最もよく使われる出力方法です。trueである電圧が出力され、falseでGNDと同じ0vが出力されます。

オープンドレイン

falseはプッシュプルと同じく0vとなりますが、trueの場合はハイインピーダンスとなる出力方法です。bi-directionalな通信または違う電圧レベルでの通信を行う場合に利用します。多くの場合プルアップと一緒に利用します。