Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
サンプルプログラム解説

概要

pinMode(INPUT_PULLUP)の使い方を示します。

デジタルの2番ピンから値を読み取り、シリアルモニタに出力します。

プッシュスイッチをデジタルピンの2番とGNDとの間に接続します。

pinMode(INPUT)とは異なり、プルダウン抵抗は必要ありません。内部の20kΩの抵抗で、5Vにプルアップします。この設定では、スイッチが押されていないときHIGHになり、押したときにLOWになります。

プログラム

定義等

/*
 Input Pullup Serial

 This example demonstrates the use of pinMode(INPUT_PULLUP). It reads a
 digital input on pin 2 and prints the results to the serial monitor.

 The circuit:
 * Momentary switch attached from pin 2 to ground
 * Built-in LED on pin 13

 Unlike pinMode(INPUT), there is no pull-down resistor necessary. An internal
 20K-ohm resistor is pulled to 5V. This configuration causes the input to
 read HIGH when the switch is open, and LOW when it is closed.

 created 14 March 2012
 by Scott Fitzgerald

 http://www.arduino.cc/en/Tutorial/InputPullupSerial

 This example code is in the public domain

 */

特に定義等は行っていません。

setup()

void setup() {
  //start serial connection
  Serial.begin(9600);
  //configure pin2 as an input and enable the internal pull-up resistor
  pinMode(2, INPUT_PULLUP);
  pinMode(13, OUTPUT);

}

Serial.begin()を使って、シリアル通信を行う際の通信速度を設定します。

pinMode()を使って、2番ピンをプルアップモードに、ledPin(13番ピン)を出力モードに設定します。

loop()

void loop() {
  //read the pushbutton value into a variable
  int sensorVal = digitalRead(2);
  //print out the value of the pushbutton
  Serial.println(sensorVal);

  // Keep in mind the pullup means the pushbutton's
  // logic is inverted. It goes HIGH when it's open,
  // and LOW when it's pressed. Turn on pin 13 when the
  // button's pressed, and off when it's not:
  if (sensorVal == HIGH) {
    digitalWrite(13, LOW);
  } else {
    digitalWrite(13, HIGH);
  }
}

digitalRead()を使って、2番ピンの状態を読み取り、結果をsensorValに代入します。

読み取った値がHIGHであれば、digitalWrite()を使って13番ピンに接続されている内蔵LEDを消します。LOWであれば、点灯します。

バージョン

Arduino 1.8.3



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2012 garretlab all rights reserved.
inserted by FC2 system