この記事は、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Ω
回路図


コード
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()(公式、英語)