Deskripsi
Merupakan fungsi untuk membaca nilai dari digital input Arduino yaitu logika 0 atau LOW pada tegangan 0V dan logika 1 atau HIGH pada tegangan 5V untuk VCC = 5V. Untuk VCC = 3.3V maka logika 1 adalah 3.3V. Setiap pin Digital I/O dari Arduino Board dapat digunakan sebagai Output maupun Input dan hal ini diatur oleh function pinMode(). Pada kondisi standard, tanpa pengaturan dari function pinMode semua pin dari Digital I/O adalah Mode Input.
| Logika | Kondisi | Tegangan (VCC = 3.3V) | Tegangan (VCC = 5V) |
| 0 | LOW | 0V | 0V |
| 1 | HIGH | 3.3V | 5V |

Syntax
digitalRead(pin)
Di mana pin adalah berupa nomor pin I/O dari Arduino Board
Parameter
pin: merupakan nomor pin I/O dari Arduino Board yang akan dibaca
Returns
HIGH apabila terhubung ke 5V (VCC = 5V) dan LOW apabila terhubung ke 0V
Contoh Program
Atur pin 13 agar memiliki nilai yang sama dengan pin 7, deklarasi sebagai input.
int ledPin = 13; // LED terhubung pada pin 13
// (biasanya terdapat LED di pin 13 Arduino Board)
int inPin = 7; // pushbutton terhubung di pin 7
int val = 0; // variabel untuk menyimpan nilai
void setup() {
pinMode(ledPin, OUTPUT); // set the digital pin 13 sebagai output
pinMode(inPin, INPUT); // set the digital pin 7 sebagai input
}
void loop() {
val = digitalRead(inPin); // baca input pin
digitalWrite(ledPin, val); // set LED sesuai nilai pushbutton
}
Catatan dan peringatan
Apabila pin tidak terhubung dengan apapun maka nilai yang diperoleh bisa HIGH ataupun LOW secara acak. Semua analog I/O dapat juga berfungsi sebagai Digital I/O kecuali pada Arduino Nano, Pro Mini di A6 dan A7 yang hanya berfungsi sebagai analog I/O.
Terjemahan dan Edit dari https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/
DELTA ELECTRONIC
Paulus Andi Nalwan, ST