やりたいこと
Arduino Unoで外部プルアップ・プルダウン抵抗を使った回路を作ってみたい。
やること
ブレッドボード上のタクトスイッチを押している間、Arduinoのシリアルモニタに「LOW」と表示する回路(プルアップ)・プログラムを作る。
ブレッドボード上のタクトスイッチを押している間、Arduinoのシリアルモニタに「HIGH」と表示する回路(プルダウン)・プログラムを作る。
使うもの
- Arduino Uno R3(ここで実際に使用しているのはArduino Uno互換の DFRduino UNO R3)
- 10kΩ抵抗(1/4W カーボン抵抗)
- タクトスイッチ
- ブレッドボード
ソースコード
ソースはプルアップ・プルダウンの回路ともに同じ。
ブレッドボード上のタクトスイッチを押している間に、Arduinoのシリアルモニタに「HIGH」「LOW」「UNKNOWN」のいづれかを1秒ごとに出力する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#define PIN_INPUT 8 void setup() { pinMode(PIN_INPUT, INPUT); Serial.begin(9600); while (!Serial) { ; } Serial.println("Ready..."); delay(3000); } void loop() { int in = digitalRead(PIN_INPUT); switch (in) { case HIGH: Serial.println("HIGH"); break; case LOW: Serial.println("LOW"); break; default: Serial.println("UNKNOWN"); break; } delay(1000); } |
配線
プルアップ抵抗を使った回路
ブレッドボード上のタクトスイッチを押している間、Arduinoのシリアルモニタには「LOW」と表示される。
ブレッドボード上のタクトスイッチを押していない時は「HIGH」が表示される。
プルダウン抵抗を使った回路(その1)
プルアップ抵抗を使った回路の、抵抗とタクトスイッチの位置をそのままにしたパターン。
ブレッドボード上のタクトスイッチを押している間、Arduinoのシリアルモニタには「HIGH」と表示される。
ブレッドボード上のタクトスイッチを押していない時は「LOW」が表示される。
プルダウン抵抗を使った回路(その2)
プルアップ抵抗を使った回路と(ブレッドボード上の)ピン配置を同じにしたパターン。
ブレッドボード上のタクトスイッチを押している間、Arduinoのシリアルモニタには「HIGH」と表示される。
ブレッドボード上のタクトスイッチを押していない時は「LOW」が表示される。