デジタル入力

マイクロコントローラの入力ピンの信号は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を点滅させる.

11.gif

パッケージをロードする.
ピンのLEDのオンとオフを,ピンに取り付けられたボタンで切り換える.
論理値を使ってLEDをオンにする.

カウント

切り換わりのカウントも信号についての情報となる.例えば固定の時間区間に生じるエンコーダの信号の切り換わりは回転シャフトの速度の判定に使用できる.切り換わりは,立ち上がりエッジ,立ち下がりエッジ,切換え,あるいはLowの数を数えることで数値化できる.

14.gif

エンコーダをピン2に接続する.

15.gif

立ち下がりエッジの数がより大きい場合は,ピンのLEDをオンにする.

その他の指定

デジタル入力にはこの他,以下の指定を与えることができる:

"Direction"counts 方向指定に使用されるピン
"MaxCount"counts最大カウント
"Pullup"basic and countsマイクロコントローラのプルアップ抵抗を有効にする

その他のデジタル入力指定

基本指定 pin->typepin-><|"Type"->type|>に等しい.これに指定を追加するときは,pin-><|"Type"->type, spec1->val1,|>のように与えなければならない.

指定"Pullup"はすべてのデジタル入力に適用できるが,"Direction""MaxCount"は種々のカウントにのみ適用可能である.

位相の一致しない2つのデジタル入力では,符号をカウントに割り当てることができる.例えば2出力のエンコーダでは, pinB の信号が pinA の信号に後行する場合は時計方向の回転であると見なせ,pinB の信号が pinA の信号に先行する場合は,反時計回りの回転であると見なせる.

18.gif

方向を得るための指定は pinA-><|"Type"->type, "Direction"->dirSpecs|>である.dirSpecs は以下の値を取ることができる:

pinB または {pinB, "Trailing"}pinBpinA に後行する場合は正,それ以外は負
{pinB,"Leading"}pinBpinA に先行する場合は正,それ以外は負
{pinB,, "Pullup"True}pinB のプルアップ抵抗を有効にする

方向指定

指定pinA-><|,"Direction"->{pinB, "Trailing"},|>pinB-><|,"Direction"->{pinA, "Leading"},|>に等しい.

ピンを使ってエンコーダの位置と方向を読み取る.

指定"MaxCount"は,1サンプリング区間で可能な最大カウントを指定する.これはカウントを保存するメモリの割当てに使用される.デフォルトの値は256である.

指定"Pullup"は,マイクロコントローラの内部プルアップ抵抗を有効にするかどうかを指定する.これは値 TrueFalse,またはデフォルトのAutomaticを取る.値がTrueのときは,ピンはデフォルトでVccを読む.

以下の設定では,ピン13のLEDはボタンが押されるとオフになる.

21.gif

ピンの内部プルアップ抵抗を有効にする.