ESP32

Membaca GPIO pada ESP32 Dengan Library

Membaca GPIO pada ESP32 Dengan Library #

Status pin GPIO pada ESP32 dapat dibaca menggunakan library digitalRead(). Berikut contoh cara membaca nilai GPIO pada ESP32. Pin yang dijadikan input adalah pin nomor 33.

// contoh program membaca digital input menggunakan digitalRead()
#define INPUT_PIN 33

void setup() {
  pinMode(INPUT_PIN, INPUT_PULLUP);
  Serial.begin(115200);
  Serial.println("\nContoh program membaca digital input menggunakan digitalRead()");
  Serial.println(__FILE__");
}

void loop() {
  int input_value;
  input_value = digitalRead(INPUT_PIN);
  Serial.println(input_value);
  delay(1000);
}

Berikut contoh pengujian program dengan menggunakan ESP32 Lolin32 Lite. Push button dihubungkan antara GND dengan pin 34 pada ESP32. Status tombol ditampilkan pada serial monitor.

Membaca GPIO pada ESP32 Dengan Register

Membaca GPIO pada ESP32 Dengan Register #

Pada ESP32 terdapat pin GPIO (General Purpose Input Output) yang dapat dibaca oleh perangkat lunak. Membaca GPIO dapat dilakukan dengan library Arduino dengan fungsi digitalRead(), dan dapat juga dengan langsung mengakses register. Pembacaaan melalui register lebih cepat, namun sedikit lebih rumit dibandingkan menggunakan library Arduino. Berikut cara membaca Nilai GPIO pada ESP32 langsung melalui register.

Percobaan 1 dengan struktur data GPIO #

Pada percobaan ini menggunakan variabel GPIO.in yang dipetakan ke register IO.

Referensi Pin pada ESP32

Referensi Pin pada ESP32 #

GPIO Input Output Catatan
0 pull up OK
1 TX pin OK
2 OK OK DevkitC onboard LED
3 OK RX pin
4 OK OK
5 OK OK
6 x x integrated SPI flash
7 x x integrated SPI flash
8 x x integrated SPI flash
9 x x integrated SPI flash
10 x x integrated SPI flash
11 x x integrated SPI flash
12 OK OK
13 OK OK
14 OK OK
15 OK OK
16 OK OK
17 OK OK
18 OK OK
19 OK OK
20 OK OK
21 OK OK
22 OK OK Lolin32 Lite onboard LED
23 OK OK
24 OK OK
25 OK OK
26 OK OK
27 OK OK
28 OK OK
29 OK OK
30 OK OK
31 OK OK
32 OK OK
33 OK OK
34 OK OK hanya input, tidak ada pull up
35 OK OK hanya input, tidak ada pull up
36 OK OK hanya input, tidak ada pull up
37 x x tidak dihubungkan
38 x x tidak dihubungkan
39 OK OK hanya input, tidak ada pull up