Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
HIGH | LOW, INPUT | OUTPUT|INPUT_PULLUP, true | false

定数

定数はArduino言語で事前に定義された変数である。定数はプログラムを読みやすくするために使われる。定数はいくつかのグループに分類される。

論理レベルを定義するtrueとfalse(真偽値)

Arduino言語で真と偽とを表す定数は、trueとfalseの2つがある。

trueとfalse定数は、HIGHやLOW,INPUT,OUTPUT,INPUT_PULLUPとは異なり、小文字で記述することに注意すること。

true

trueは、1と定義されていると言われる。それは正しいが、trueにはより広い定義がある。全てのゼロでない整数は、真偽値の観点では、trueである。例え ば、-1や-2、-200は全て、真偽値の観点では、trueである。

false

falseは、2つ(trueとfalse)のうちの定義しやすいほうである。falseは0(ゼロ)と定義されている。

ピンのレベルを定義するHIGHとLOW

デジタルピンから値を読んだり、値を書いたりするとき、ピンが出力する値もしくはピンに入力する値は、HIGHとLOWの2種類だけである。

HIGH

(ピンに関連した)HIGHの意味は、ピンがINPUTに設定されているのかOUTPUTに設定されているのかによって少し異なる。ピンがpinMode()によってINPUTに設定 されている場合に、digitalRead()で値を読むと、以下の場合、Arduino(Atmega)は、HIGHを出力する。

  • そのピンに3V以上の電圧がかかっている場合(5Vのボード)
  • そのピンに2V以上の電圧がかかっている場合(3.3Vのボード)

ピンがpinMode()によってINPUTに設定された後、digitalWrite()でHIGHに設定すると、内部の20キロオームのプルアップ抵抗を設定する。これにより、外部 の回路によりLOWにされるまでは、その入力ピンはHIGHとなる。これは、INPUT_PULLUPの動作原理と同じである。

ピンがpinMode()によってOUTPUTに設定されていて、digitalWrite()によって HIGHを出力すると、ピンには以下の電圧が出力される。

  • 5V(5Vのボード)
  • 3.3V(3.3Vのボード)

この状態では電流を供給する ことができる。例えば、抵抗を通して接地もしくはLOWに設定されているOUTPUT状態のピンに接続されているLEDを光らせることができる。

LOW

LOWの意味も、ピンがINPUTに設定されているのかOUTPUTに設定されているのかによって異なる。ピンがpinMode()によってINPUTに設定されている場合 に、digitalRead()で値を読むと、以下の場合、Arduino(Atmega)は、LOWを出力する。

  • そのピンに3V未満の電圧がかかっている場合(5Vのボード)
  • そのピンに2V以上の電圧がかかっている場合(3.3Vのボード)

ピンがpinMode()によってOUTPUTに設定されていて、digitalWrite()によってLOWを出力すると、ピンは0V(5Vのボードも3.3Vのボードも)となる。この状態では電流を吸い込むことができる。例えば、抵抗を通して+5V(もしくは+3.3V)に接続されているLEDを光らせることができる。

デジタルピンのモードを定義するINPUTとINPUT_PULLUP、OUTPUT

デジタルピンは、INPUTもしくはINPUT_PULLUP、OUTPUTとして利用できる。pinMode()を使ってピンのモードを変えると、ピンの電気的な振る舞いが変わる。

INPUTと設定されたピン

pinMode()によってINPUTと設定されたArduino(Atmega)のピンは、高インピーダ ンス状態となる。この状態は、例えば、100メガオームの抵抗が直列接続されて いてほとんど電流が流れないような状態と同様である。センサの値を読むには都合がいいが、LEDに電流を供給するのには向いていない。

スイッチを接続したピンをINPUTに設定し、そのスイッチが開いた状態のときにスイッチの値を読むと、そのピンは浮いている状態なので、読み取った結果は不定である。切断状態のスイッチの値を正しく読むためには、プルアップ抵抗もしくはプルダウン抵抗を用いる。この抵抗の目的は、切断状態のスイッチを確定した状態にすることである。10kΩの抵抗がよく用いられる。これは、浮いた状態を確実に防ぐために十分小さく、かつ、スイッチが閉じた状態に多くの電流を流さないために十分大きいためである。詳細はDigital Read Serialを参照のこと(英語です)。

プルダウン抵抗を利用すると、スイッチが開いている場合LOWとなり、スイッチを閉じるとHIGHになる。

プルアップ抵抗を利用すると、スイッチが開いている場合HIGHとなり、スイッチを閉じるとLOWになる。

INPUT_PULLUPと設定されたピン

Arduinoで使われているAtmegaチップはプルアップ抵抗(内部で電源に接続されている抵抗)を持っており、利用可能である。外部のプルアップレジスタの代わりに内蔵のプルアップレジスタを使いたい場合は、pinMode()でINPUT_PULLUPを設定すればいい。

INPUTもしくはINPUT_PULLUPで入力に設定されているピンにマイナスの電圧や入力電圧(5Vもしくは3.3V)以上の電圧をかけると、ピンが壊れるかもしれない。

OUTPUTと設定されたピン

pinMode()によってOUTPUTと設定されたピンは、低インピーダンス状態となる。これは、他の回路に十分な量の電流を供給できることを意味する。Atmegaのピ ンは40mAまでの電流を他のデバイスや回路に供給したり吸い込むことができる。これは、LEDに電流を供給するには便利だがセンサの値を読むには不都合だ。 OUTPUTと設定されたピンは、接地や5V電源に直接接続されると壊れる可能性がある。Atmegaのピンから供給される電流はほとんどのリレーやモーターを駆動 するには不十分なので、接続のための回路が必要となる。

出力に設定されているピンに電圧をかけると、ピンが壊れるかもしれない。

LED_BUILTIN

ほとんどのArduinoボードには抵抗と直列に接続されたLEDが接続されたピンがある。定数LED_BUILTINは、ボード上のLEDが接続されているピンの番号である。ほとんどのボードではLEDは13番ピンに接続されている。

バージョン

Arduino 1.8.4

オリジナルのページ

https://www.arduino.cc/en/Reference/Constants



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system