デジタル入力
マイクロコントローラの入力ピンの信号はHighまたはLowの値を取る.マイクロコントローラのそのピンの入力ビットはピンの値に応じて設定またはクリアされる.これらの値,または値の変化は,デジタル入力の測定値として使用できる.
"pin""Digital" | Vccまたは |
"pin""Logic" | または |
"pin""RisingEdgeCount" | 立ち上がりエッジ数 |
"pin""FallingEdgeCount" | 立ち下がりエッジ数 |
"pin""ToggleCount" | 切替えカウント |
"pin""LowCount" | Lowのカウント |
基本操作
指定"Digital"および"Logic"はピンの値を返す."Digital"はピンの電圧の値を返し,"Logic"は入力ビットの値を返す.
マイクロコントローラを使ってデジタル信号を読み取る.Arduino Unoのピンを押しボタンの片側に接続する.同じ側をkΩのプルダウン抵抗を通してグラウンドに繋ぐ.プルダウン抵抗は,ボタンが押されていないときにピンが誤った値を読み取らないようにするためのものである.押しボタンの反対側をVに接続する.ピンはボタンが押されているとVの値を,ボタンが押されていないときはVを読み取る.この値を使ってピンのLEDを点滅させる.
カウント
切り換わりのカウントも信号についての情報となる.例えば固定の時間区間に生じるエンコーダの信号の切り換わりは回転シャフトの速度の判定に使用できる.切り換わりは,立ち上がりエッジ,立ち下がりエッジ,切換え,あるいはLowの数を数えることで数値化できる.
その他の指定
"Direction" | counts | 方向指定に使用されるピン |
"MaxCount" | counts | 最大カウント |
"Pullup" | basic and counts | マイクロコントローラのプルアップ抵抗を有効にする |
基本指定 pin->type は pin-><"Type"->type >に等しい.これに指定を追加するときは,pin-><"Type"->type, spec1->val1,… >のように与えなければならない.
指定"Pullup"はすべてのデジタル入力に適用できるが,"Direction"と"MaxCount"は種々のカウントにのみ適用可能である.
位相の一致しない2つのデジタル入力では,符号をカウントに割り当てることができる.例えば2出力のエンコーダでは, pinB の信号が pinA の信号に後行する場合は時計方向の回転であると見なせ,pinB の信号が pinA の信号に先行する場合は,反時計回りの回転であると見なせる.
方向を得るための指定は pinA-><"Type"->type, "Direction"->dirSpecs >である.dirSpecs は以下の値を取ることができる:
pinB または {pinB, "Trailing"} | pinB が pinA に後行する場合は正,それ以外は負 |
{pinB,"Leading"} | pinB が pinA に先行する場合は正,それ以外は負 |
{pinB,…, "Pullup"True} | pinB のプルアップ抵抗を有効にする |
指定pinA-><…,"Direction"->{pinB, "Trailing"},… >は pinB-><…,"Direction"->{pinA, "Leading"},… >に等しい.
指定"MaxCount"は,1サンプリング区間で可能な最大カウントを指定する.これはカウントを保存するメモリの割当てに使用される.デフォルトの値は256である.
指定"Pullup"は,マイクロコントローラの内部プルアップ抵抗を有効にするかどうかを指定する.これは値 True,False,またはデフォルトのAutomaticを取る.値がTrueのときは,ピンはデフォルトでVccを読む.
以下の設定では,ピン13のLEDはボタンが押されるとオフになる.