[アドゥーエノ]デジタルデータのI/O


アドゥーイノのI/O


デジタルI/Oピン

  • 14個->0番~13番
  • アナログ入力ピンも数字で使える、計20個
  • アナログ入力ピン

  • 6個->A 0~A 5が定数
  • 14~19間はデジタルI/Oジャックとして使用可能
  • pinMode()

    void pinMode(uint8_t pin, uint8_t mode)
  • pin:使用するpin番号
  • mode:INPUT(default)、OUTPUT、INPUT PULLUPの一つ
  • 返却値:x
  • ->pin I/Oを同時に使用するには、次の手順に従います.pinMode()を2回呼び出す必要があります.

    デジタルデータのI/O



    ディジタルデータ入力


    digitalRead()

    int digitalRead(uint8_t pin)
  • ビットデータ入力用
  • 戻り値:論理値0(LOW)または1(HIGH)
  • int pinNo = 13; // pin번호 정의
    
    pinMode(pinNo, INPUT); // 해당 pin을 input으로 쓸건지 정의
    int value = digitalRead(pinNo); // 해당 pin값 읽어오기

    入力ピンの状態

  • 3つの状態:0、1、フローティング
  • floating


    :不安定で、ランダム値は外部の影響を受ける
    ->0も1も浮遊状態ではありません

    の状態で、
  • switch on -> MCU on
  • スイッチ->MCUの価格は不明
    :電気的に0 Vまたは5 Vあり、0,1の値であることが明確であり、抵抗を加えなければ0度1以外のフローティング状態を有する.

    上の図に示すように、抵抗を加えて、明確に-表示処理してこそ、フローティングしない完全な回路を完成することができる.
    ->PULL-UP回路またはPULL-DOWN回路.
  • PULL-UP回路


    :入力値に関係なく常にデフォルト値が論理1の回路

    PULL-UP回路


    :入力値に関係なく、デフォルト値が常に論理0の回路

    ->アドゥエノの内部昇格抵抗
    :pinMode()で使用INPUT_PULLUPオプション

    Bounce現象


    :機械振動ボタンを1回、2回以上押す現象

    ->機械接触時に電気が不安定なため
  • 消去:リバウンド
    ->メソッド1:delayジッタ発生時に値をまったく読み取らない
    ->メソッド2:Latch関数を使う
  • ディジタルデータ出力


    LED

  • 発光ダイオード
  • 極性:一方向接続時のみ点灯

    ->流れ電流の限界は通常20 mA
    **静電回路使用
    : V=IRV = IRV=IR
    III=0.02 A、VVV=5 Vの場合、RR=250Ω
  • digitalWrite()

    void digitalWrite(uint8_t pin, uint8_t value)
  • pin:ピン番号
  • value:LOWまたはHIGH
  • 返却値:x
  • tone()

    void tone(uint8_t pin, uint8_t frequency, unsigned long duration = 0)
  • pin:ピン番号
  • 周波数:出力周波数
  • duration:出力持続時間(ms)
  • 返却値:x
  • デューティ比50%、パラメータ受信周波数を用いた球形波による単音再生
  • durationの音再生
  • pitches.hヘッダー使用
  • ・𐥍7・tack=TH周期cfrac{T h}{周期}*100 tack=周期TH87100・𐥎8・
    <->パルス:デジタル信号を使用して0と1の値を変更
  • PWM:周期は固定、任務は変化
  • ->照明輝度、モータ回転数など
    固定周期(周波数)dutyPWM固定変調50%固定

    じかんちえんかんすう


    delay()

  • ミリ秒遅れ
  • ミリ秒の遅延使用DelayMicroseconds
  • 欠点:delay()の実行時に他の大部分のタスクxを実行し、正確な時間制御ができない.
    ->ステータスをいつチェックしても
    ->タイミングが大事ならmillis()を使ってください!
  • millis()

  • プログラム起動後、CPU時間をミリ秒単位で戻す
  • 4バイト戻り値
    ->70分以内で検査可能