Arduino IDEのpinMode()
関数は、Arduinoボードのデジタルピンの動作モードを設定するために使用されます。この関数を使って、ピンが入力または出力として機能するかを指定します。以下に、pinMode()
の使い方と具体的なオプションについて詳しく説明します。
Arduino IDE pinMode()関数
pinMode() 関数の基本構文
pinMode(pin, mode);
pin
: 設定したいデジタルピンの番号(例: 2, 3, 4など)。mode
: ピンの動作モード。主に次の3つのモードが使用されます。
mode のオプション
INPUT
:- 説明: ピンを入力モードに設定します。このモードでは、ピンが外部からの信号を受け取ります。ピンの状態を
digitalRead()
関数で読み取ることができます。 - 用途: スイッチやセンサーなど、外部信号を読み取る場合に使用します。
pinMode(2, INPUT); // ピン2を入力モードに設定
- 説明: ピンを入力モードに設定します。このモードでは、ピンが外部からの信号を受け取ります。ピンの状態を
OUTPUT
:- 説明: ピンを出力モードに設定します。このモードでは、ピンが外部デバイスに信号を出力します。ピンの状態を
digitalWrite()
関数で設定することができます。 - 用途: LED、リレー、モーターなど、外部デバイスを制御する場合に使用します。
pinMode(13, OUTPUT); // ピン13を出力モードに設定
- 説明: ピンを出力モードに設定します。このモードでは、ピンが外部デバイスに信号を出力します。ピンの状態を
INPUT_PULLUP
:- 説明: ピンを入力モードに設定し、内部プルアップ抵抗を有効にします。これにより、スイッチなどが接続されていないときにピンが
HIGH
の状態になります。 - 用途: スイッチが接地されるときに
LOW
、それ以外のときにHIGH
とする場合に便利です。外部でプルアップ抵抗を用意する必要がなくなります。
pinMode(2, INPUT_PULLUP); // ピン2を入力モードに設定し、内部プルアップ抵抗を有効にする
- 説明: ピンを入力モードに設定し、内部プルアップ抵抗を有効にします。これにより、スイッチなどが接続されていないときにピンが
具体的な使用例
1. LEDの点灯/消灯
const int ledPin = 13; // LEDが接続されているピン
void setup() {
pinMode(ledPin, OUTPUT); // LEDピンを出力モードに設定
}
void loop() {
digitalWrite(ledPin, HIGH); // LEDを点灯
delay(1000); // 1秒待つ
digitalWrite(ledPin, LOW); // LEDを消灯
delay(1000); // 1秒待つ
}
- 説明: ピン13に接続されたLEDを1秒ごとに点灯と消灯を繰り返します。
2. スイッチの状態読み取り
const int buttonPin = 2; // スイッチが接続されているピン
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // スイッチピンを入力モードに設定し、内部プルアップ抵抗を有効にする
Serial.begin(9600); // シリアル通信を開始
}
void loop() {
int buttonState = digitalRead(buttonPin); // スイッチの状態を読み取る
if (buttonState == LOW) {
Serial.println("Button is pressed"); // スイッチが押されたとき
} else {
Serial.println("Button is not pressed"); // スイッチが押されていないとき
}
delay(500); // 0.5秒待つ
}
- 説明: ピン2に接続されたスイッチの状態を読み取り、スイッチが押されているかどうかをシリアルモニタに表示します。
注意点
- ピン番号: Arduinoボードには異なるデジタルピン番号があります。各ピンの機能については、ボードの仕様書を確認することが重要です。
- モードの設定:
pinMode()
はsetup()
関数内で呼び出すのが一般的です。これにより、プログラムの実行が開始される前にピンの設定が行われます。 - 内部プルアップ抵抗:
INPUT_PULLUP
モードを使用することで、外部で抵抗を用意する手間が省けますが、回路設計においては、外部プルアップやプルダウン抵抗の使用も考慮することがあります。
まとめ
pinMode()
は、デジタルピンの動作モードを設定するために使用されます。- 主なモードには、
INPUT
、OUTPUT
、INPUT_PULLUP
があります。 - 各モードの使い方に応じて、ピンの役割や動作が決まります。
この関数を適切に使用することで、Arduinoのデジタルピンを効率的に活用し、さまざまな電子機器やセンサーとのインタラクションが可能になります。
コメント