digitalRead関数
digitalRead関数は指定したピンから値を読み取ります。
読み取った値はHIGHもしくはLOWのデジタルな2値です。
試しにこのプログラムをArduino UNOに書き込み、2番ピンとGNDをジャンプワイヤー等で接続すると13ピンがLOW(0V)になり13ピンに接続されたLEDが消灯します。2番ピンと5Vを接続すると13ピンがHIGH(5V)になりLEDが点灯します。
void setup() { //一回だけ実行 pinMode(13, OUTPUT); //LEDを接続した13番ピンを出力用に設定する } void loop() { //{}内を無限ループで実行 if (digitalRead(2) == LOW) {//もし2番ピンがLOWなら13ピンをLOWに、 digitalWrite(13, LOW); } else { //そうでなかったら13ピンをHIGHにする digitalWrite(13, HIGH); } delay(1000); //1000ms(1秒)待ちます }
図1:プログラム例
digitalRead(pin)のパラメータ
pin :読み取りに使いたいピンの番号を整数で指定します。
※上記条件では2番ピンが5VにもGNDにも触れていない回路がオープンした状態では、ピン周辺の状況によりHIGHもしくはLOWがランダムで現れます。
ランダムな値が現れては困る時にはプルアップ抵抗やプルダウン抵抗を使います。
○digitalReadができるピン
励みになりますのでよければクリック下さい(^o^)/