Arduino

Buy | Download | Getting Started | Learning | Reference | Hardware | FAQ

Blog » | Forum » | Playground »

Reference Language (extended) | Libraries | Comparison | Board

## digitalRead(pin)

#### What it does

Reads the value from a specified pin, it will be either HIGH or LOW.

#### Parameters

pin: the number of the digital pin you want to read.

#### Returns

Either HIGH or LOW

#### Example

    int ledPin = 13; // LED connected to digital pin 13
    int inPin = 7;   // pushbutton connected to digital pin 7
    int val = 0;     // variable to store the read value

    void setup()
    {
      pinMode(ledPin, OUTPUT);      // sets the digital pin 13 as output
      pinMode(inPin, INPUT);      // sets the digital pin 7 as input
    }

    void loop()
    {
      val = digitalRead(inPin);   // read the input pin
      digitalWrite(ledPin, val);    // sets the LED to the button's value
    }

Sets pin 13 to the same value as the pin 7, which is an input.

#### Note

If the pin isn't connected to anything, digitalRead() can return either HIGH or LOW (and this can change randomly).

The analog input pins can be used as digital pins w/ numbers 14 (analog input 0) to 19 (analog input 5).

#### See also

- Description of the pins on an Arduino board
- pinMode
- digitalWrite

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

Edit Page | Page History | Printable View | All Recent Site Changes