LoginSignup
0
0

More than 3 years have passed since last update.

ArduinoのdigitalWrite()

Posted at

この記事は、2020-05-24に書きました。


概略

digitalWrite()は、デジタルピンにHIGHまたはLOWを書き込みます。ピンを5Vにする/0Vにする、と言い換えてもよいでしょう。
コードを実行すると、LEDが点灯して5秒後に消えます。

環境・部品

PC:Windows 10 Professional
開発環境:Arduino IDE 1.8.12
本体:Arduino UNO Rev3
LED:赤色LED
抵抗:220Ω

回路図

Arduinoの13番ピンに抵抗とLEDを繋ぐ

Arduinoの13番ピンに抵抗とLEDを繋ぐ

コード

digitalWrite.ino
const int outputPin = 13;

void setup() {
    pinMode(outputPin, OUTPUT); 
    digitalWrite(outputPin, HIGH);
    delay(5000);
    digitalWrite(outputPin, LOW);
}

void loop() {

}

解説

digitalWrite()は、デジタルピンにHIGHまたはLOWを書き込みます。
書き込む前に、pinMode()でピンモードをOUTPUTにします。

pinMode(ピン番号, OUTPUT); 

ピンモードがOUTPUTのピンに対して、digitalWrite()で5Vまたは0Vにします。

digitalWrite(ピン番号, HIGH); // 5Vにする
digitalWrite(ピン番号, LOW);  // 0Vにする

使えるピンは、デジタルピンの0番~13番までです。0番と1番は、シリアル通信に使われるので、デジタル入出力ピンとしては使わない方が無難です。13番ピンは基板上のLEDと繋がっているので、13番ピンのHIGH/LOWの状態に応じて基板上のLEDが点灯/消灯します。

実は、アナログピンA0~A5も同じ使い方ができますが、混乱するのでやらない方が無難です。

公式のリファレンスによると、ピンモードがINPUTのピンに対してdigitalWriteを使うと、内臓プルアップ抵抗をON/OFFできるらしいですが、面倒くさいので試していません。もちろん、そんなことせずにpinMode(INPUT_PULLUP)を使えと書かれていますが……

参考

digitalWrite()(公式、英語)
pinMode()(公式、英語)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0