ESP32 Digital Inputs and Digital Outputs (Arduino IDE)

Di dalam Arduino IDE, Anda dapat menggunakan ESP32 sebagai input atau output digital. Berikut adalah cara untuk mengonfigurasi dan menggunakan GPIO pada ESP32 sebagai input atau output digital:

Menggunakan GPIO sebagai Input

Untuk mengonfigurasi GPIO sebagai input digital, Anda dapat menggunakan fungsi pinMode(). Berikut adalah contoh cara mengonfigurasi GPIO sebagai input:

void setup() {
pinMode(12, INPUT); // Set GPIO 12 as input
}

void loop() {
int sensorValue = digitalRead(12); // Read the input value from GPIO 12
// Do something with the sensor value
}

Pada contoh di atas:

Ads Jadwal Training bisaioti Offline
NoMateriTanggalWaktuHargaLokasiViewAction
1IOT PLC SCADA Siemens7-8 Juni 202508.00 - 16.002000000SurabayaSilabusDaftar Sekarang
2IOT PLC SCADA Omron14 - 15 Juni 202508.00 - 16.002000000SurabayaSilabusDaftar Sekarang
3IOT PLC SCADA Schneider21-22 Juni 202508.00 -16.002000000SurabayaSilabusDaftar Sekarang
4IOT PLC SCADA Allen Bradley28-29 Juni 202508.00-16.002000000SurabayaSilabusDaftar Sekarang
  • pinMode(12, INPUT): Menetapkan GPIO 12 sebagai input.
  • digitalRead(12): Membaca nilai digital (HIGH atau LOW) pada GPIO 12.

Anda dapat menggunakan pin ini untuk membaca sinyal dari sensor atau tombol, misalnya.

Menggunakan GPIO sebagai Output

Untuk mengonfigurasi GPIO sebagai output digital, Anda juga menggunakan pinMode(), tetapi kali ini untuk output. Berikut adalah contoh cara mengonfigurasi GPIO sebagai output:

void setup() {
pinMode(13, OUTPUT); // Set GPIO 13 as output
}

void loop() {
digitalWrite(13, HIGH); // Set GPIO 13 HIGH (turn on)
delay(1000); // Wait for 1 second
digitalWrite(13, LOW); // Set GPIO 13 LOW (turn off)
delay(1000); // Wait for 1 second
}

Pada contoh di atas:

  • pinMode(13, OUTPUT): Menetapkan GPIO 13 sebagai output.
  • digitalWrite(13, HIGH): Mengatur GPIO 13 ke HIGH (ON).
  • digitalWrite(13, LOW): Mengatur GPIO 13 ke LOW (OFF).

Anda dapat menggunakan pin ini untuk mengontrol perangkat seperti LED, relay, atau perangkat lain yang memerlukan sinyal digital.

Keterangan Tambahan

  • Input Pull-up dan Pull-down: GPIO pada ESP32 mendukung resistor pull-up dan pull-down internal yang dapat diaktifkan di dalam kode menggunakan INPUT_PULLUP atau INPUT_PULLDOWN. Sebagai contoh:
pinMode(12, INPUT_PULLUP); // Menetapkan GPIO 12 sebagai input dengan pull-up internal
  • Ini digunakan jika Anda ingin membaca nilai dari tombol yang terhubung ke ground atau VCC.
  • Pembacaan Digital: Fungsi digitalRead() mengembalikan nilai HIGH atau LOW, yang mewakili status sinyal digital pada pin yang ditentukan. HIGH biasanya berarti tegangan 3.3V atau lebih, dan LOW berarti tegangan 0V.
  • Kecepatan Pembacaan dan Penulisan: Pembacaan dan penulisan digital pada ESP32 umumnya sangat cepat dan digunakan untuk tugas-tugas sederhana seperti mengontrol LED, membaca tombol, atau mendeteksi sinyal digital lainnya.

Contoh Project

Kode
Salin kode berikut ke dalam Arduino IDE Anda.

// set pin numbers
const int buttonPin = 4;  // the number of the pushbutton pin
const int ledPin =  5;    // the number of the LED pin

// variable for storing the pushbutton status 
int buttonState = 0;

void setup() {
  Serial.begin(115200);  
  // initialize the pushbutton pin as an input
  pinMode(buttonPin, INPUT);
  // initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // read the state of the pushbutton value
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH
  if (buttonState == HIGH) {
    // turn LED on
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off
    digitalWrite(ledPin, LOW);
  }
}

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Daftar Sekarang