Reference   Language (extended) | Libraries | Comparison

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 pin you want to read. It has to be one of the digital pins of the board, thus it should be a number between 0 and 13. It could also be a variable representing a value in that range.

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).

See also

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.