ピンのレベルを定義するHIGHとLOW
デジタルピンから値を読んだり、値を書いたりするとき、ピンが出力する値もしくはピンに入力する値は、HIGHとLOWの2種類だけである。
HIGH
(ピンに関連した)HIGHの意味は、ピンがINPUTに設定されているのかOUTPUTに設定されているのかによって少し異なる。ピンがpinMode()によってINPUTに設定 されている場合に、digitalRead()で値を読むと、以下の場合、Arduino(Atmega)は、HIGHを出力する。
- そのピンに3.0V以上の電圧がかかっている場合(5Vのボード)
- そのピンに2.0V以上の電圧がかかっている場合(3.3Vのボード)
ピンがpinMode()によってINPUTに設定された後、digitalWrite()でHIGHに設定すると、内部の20キロオームのプルアップ抵抗を設定する。これにより、外部の回路によりLOWにされるまでは、その入力ピンはHIGHとなる。これは、pinMode()の引数にINPUT_PULLUPを渡すことによっても実現できる。詳細は、デジタルピンのモードを定義するINPUTとINPUT_PULLUP、OUTPUTを参照。
ピンがpinMode()によってOUTPUTに設定されていて、digitalWrite()によって HIGHを出力すると、ピンには以下の電圧が出力される。
- 5V(5Vのボード)
- 3.3V(3.3Vのボード)
この状態では電流を供給する ことができる。例えば、抵抗を通して接地もしくはLOWに設定されているOUTPUT状態のピンに接続されているLEDを光らせることができる。
LOW
LOWの意味も、ピンがINPUTに設定されているのかOUTPUTに設定されているのかによって異なる。ピンがpinMode()によってINPUTに設定されている場合 に、digitalRead()で値を読むと、以下の場合、Arduino(Atmega)は、LOWを出力する。
- そのピンに1.5V未満の電圧がかかっている場合(5Vのボード)
- そのピンに約1.0V未満の電圧がかかっている場合(3.3Vのボード)
ピンがpinMode()によってOUTPUTに設定されていて、digitalWrite()によってLOWを出力すると、ピンは0V(5Vのボードも3.3Vのボードも)となる。この状態では電流を吸い込むことができる。例えば、抵抗を通して+5V(もしくは+3.3V)に接続されているLEDを光らせることができる。
オリジナルのページ
https://www.arduino.cc/reference/en/language/variables/constants/constants/
Last Revision: 2021/06/27
最終更新日
January 4, 2024