Cari Kode

Tutorial ESP32 9/55 - Menggunakan Tombol Tekan untuk Mengalihkan LED, Tekan ON, Tekan OFF -Kit IoT SunFounder ESP32

Tutorial ESP32 9/55 - Menggunakan Tombol Tekan untuk Mengalihkan LED, Tekan ON, Tekan OFF -Kit IoT SunFounder ESP32

Dalam tutorial ini, kita akan mempelajari cara menggunakan tombol tekan untuk menyalakan dan mematikan LED dengan mikrokontroler ESP32. Proyek ini akan menunjukkan cara membaca status tombol tekan dan mengendalikan LED sesuai dengan status tersebut. Ketika tombol ditekan, LED akan menyala, dan ketika dilepaskan, LED akan mati. Ini adalah konsep dasar untuk banyak proyek interaktif yang menggunakan ESP32.

ESP32 adalah mikrokontroler yang kuat dengan kemampuan Wi-Fi dan Bluetooth bawaan, sehingga cocok untuk berbagai aplikasi IoT. Dalam pelajaran ini, kita akan menggunakan ESP32 dari SunFounder ESP32 Starter Kit, yang mencakup komponen penting seperti resistor dan LED, untuk membuat rangkaian sederhana. Untuk penjelasan rinci tentang pengkabelan dan kode, silakan merujuk pada video (di video pada 00:00).

Penjelasan Perangkat Keras

Komponen utama untuk proyek ini meliputi mikrokontroler ESP32, tombol tekan, LED, dan resistor. ESP32 bertindak sebagai otak proyek, mengendalikan LED berdasarkan status tombol tekan. Tombol tekan memungkinkan pengguna untuk berinteraksi dengan rangkaian, sementara LED memberikan umpan balik visual ketika tombol ditekan.

Tombol tekan bekerja dengan menutup rangkaian saat ditekan, memungkinkan arus mengalir. Tindakan ini mengirim sinyal HIGH ke pin input yang ditentukan pada ESP32, yang kemudian dapat dibaca dalam kode. Resistor yang terhubung ke tombol memastikan bahwa pin memiliki status yang jelas ketika tombol tidak ditekan, mencegah perilaku yang tidak menentu.

Tombol tekan dengan resistor

Instruksi Pengkabelan

Untuk merangkai rangkaian, mulailah dengan menghubungkan pin LED yang lebih panjang (anoda) ke resistor 220-ohm. Hubungkan ujung resistor lainnya ke pin GPIO 26 pada ESP32. Pin LED yang lebih pendek (katoda) harus dihubungkan ke ground. Selanjutnya, ambil tombol tekan dan hubungkan satu sisi ke catu daya 3.3V pada papan. Sisi lain dari tombol tekan terhubung ke pin GPIO 14.

Tombol tekan tanpa resistor
Tombol tekan tanpa resistor
Tombol tekan dengan resistor
Tombol tekan dengan resistor

Selain itu, tempatkan resistor 10k-ohm dari pin GPIO 14 ke ground untuk memastikan pin membaca LOW ketika tombol tidak ditekan. Terakhir, hubungkan kabel ground dari ESP32 ke ground umum pada breadboard. Pengaturan ini akan memungkinkan ESP32 untuk membaca status tombol dan mengendalikan LED sesuai dengan status tersebut.

Contoh Kode & Penjelasan

Inti dari program dimulai dengan mendefinisikan nomor pin untuk tombol dan LED menggunakan konstanta. Ini memastikan bahwa penugasan pin tetap tidak berubah selama eksekusi program.

// set pin numbers
const int buttonPin = 14;  // Pin tombol
const int ledPin = 26;     // Pin LED

Dalam fungsi setup(), kita menginisialisasi monitor serial dan mengatur pin tombol sebagai input sambil mengonfigurasi pin LED sebagai output. Ini mempersiapkan ESP32 untuk membaca dari tombol dan mengendalikan LED.

void setup() {
  Serial.begin(115200);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

Di dalam fungsi loop(), program terus membaca status tombol dan mencetaknya ke monitor serial. Jika tombol ditekan, LED dinyalakan; jika tidak, LED dimatikan. Logika ini penting untuk menyalakan dan mematikan LED berdasarkan status tombol.

void loop() {
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

Fungsi dasar ini memungkinkan LED merespons langsung tombol tekan. Untuk detail lebih lanjut tentang proyek dan kode lengkap, silakan merujuk pada video yang disediakan (di video pada 14:00).

Demonstrasi / Apa yang Diharapkan

Setelah pengkabelan selesai dan kode diunggah, menekan tombol tekan harus menyalakan LED, dan melepaskannya akan mematikan LED. Perilaku ini mengonfirmasi bahwa status tombol dibaca dengan benar. Jika LED tidak merespons seperti yang diharapkan, periksa pengkabelan dan pastikan tombol berfungsi dengan baik.

Selama pengujian, pastikan untuk mengamati monitor serial untuk pembacaan status tombol. Anda akan melihat '1' ketika tombol ditekan dan '0' ketika dilepaskan. Jika pembacaan berfluktuasi secara tidak terduga, itu mungkin menunjukkan masalah pengkabelan atau kebutuhan untuk logika debouncing tambahan dalam kode.

Stempel Waktu Video

  • 00:00 Mulai
  • 1:48 Pengenalan proyek
  • 3:10 Penjelasan saklar dan tombol tekan
  • 7:19 Penjelasan pengkabelan
  • 12:25 Penjelasan kode Arduino untuk tombol tekan
  • 15:56 Memilih papan ESP32 dan port COM
  • 17:38 Demonstrasi proyek
  • 18:33 Proyek-2 Toggle dan LED
  • 19:09 Kode Arduino untuk toggle LED
  • 21:16 Demonstrasi toggle LED

Gambar

Push button with resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
808-ESP32 Tutorial 9/55 - Arduino code push button
Bahasa: C++
// set pin numbers
const int buttonPin = 14;  // Button pin
const int ledPin = 26;     // LED pin

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

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

void loop() {
  // read the state of the button value
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  // if the button is pressed
  if (buttonState == HIGH) {
    // turn LED on
    digitalWrite(ledPin, HIGH);

  } else {
    // turn LED off
    digitalWrite(ledPin, LOW);
  }
}

Sumber daya & referensi

Belum ada sumber daya.

Berkas📁

Tidak ada file tersedia.