Tekan Tombol dengan ESP32 – Arduino IDE

Tekan Tombol Dengan Esp32 Arduino Ide



ESP32 adalah papan IoT yang dapat dihubungkan dengan periferal eksternal yang berbeda untuk menghasilkan output. ESP32 menerima masukan dari perangkat seperti tombol tekan dan menghasilkan respons sesuai dengan masukan yang diterima. Tombol tekan dapat digunakan untuk mengontrol banyak sensor dan perangkat seperti mengontrol LED atau mempertahankan kecepatan motor. Di sini, dalam pelajaran ini, kita akan membahas antarmuka push button dengan ESP32.

Berikut adalah daftar isi untuk pelajaran ini:







1: Pengantar Tombol Tekan



2: Bekerja dari Tombol Tekan



2.1: Mode Kerja Tombol Tekan





3: Menghubungkan Tombol Tekan dengan ESP32

3.1: Pin Output Input Digital di ESP32



3.2: Cara Membaca Input Digital di ESP32

3.3: Menghubungkan Tombol Tekan dengan ESP32 Menggunakan Fungsi Baca Digital

3.4: Diperlukan Perangkat Keras

3.5: Skema

3.6: Kode untuk Menghubungkan ESP32 dengan Tombol Tekan

3.7: Keluaran

1: Pengantar Tombol Tekan

Tombol tekan adalah tombol sederhana dengan mekanisme untuk mengontrol keadaan mesin atau proses yang berbeda. Tombol tekan terbuat dari bahan keras seperti plastik atau logam dan permukaan atasnya biasanya rata yang memungkinkan pengguna untuk menekannya.

Dalam proyek ESP32, tombol tekan banyak digunakan untuk mengontrol status input dan output pin. Sakelar sakelar dan tombol tekan beroperasi dengan prinsip yang sedikit berbeda. Sakelar konvensional atau toggle berhenti setelah ditekan sementara tombol tekan adalah perangkat dua posisi yang biasanya berhenti setelah dilepaskan.

Mari kita mendalami prinsip kerja tombol Push secara detail:

2: Bekerja dari Tombol Tekan

Tombol push biasanya memiliki 4 pin. 4 pin ini terhubung dalam bentuk sepasang seperti dua pin atas terhubung secara internal, dua lainnya juga terhubung secara internal.


Untuk mengetahui dua pin mana yang terhubung, ambil multimeter (DMM) dan atur uji kontinuitas , sekarang pasang probe positif dengan salah satu kaki tombol lalu satu per satu pasang probe negatif multimeter dengan kaki lainnya. Jika sambungan selesai antara kedua ujungnya, suara bip dapat terdengar dari multimeter. Kedua kaki yang terhubung secara internal akan melengkapi sirkuit.

2.1: Mode Kerja Tombol Tekan

Untuk menggunakan tombol push di sirkuit kita membutuhkan satu pin dari setiap pasangan yang terhubung secara internal. Jika kita mengambil pin tombol tekan dari pasangan yang sama yang terhubung secara internal akan mengakibatkan korsleting karena ini sudah terhubung maka akan melewati mekanisme tombol tekan.

Berdasarkan mekanisme ini, tombol tekan dapat bekerja dalam dua mode berikut:


Jika kita mengambil contoh mode yang ditunjukkan pada gambar di bawah ini. Kita dapat melihat bahwa ketika tombol tidak ditekan, koneksi internal terbuka setelah tombol ditekan, terminal A dan B internal akan terhubung dan rangkaian akan selesai.


Sekarang kita telah menyelesaikan prinsip dasar di balik cara kerja tombol tekan. Selanjutnya kita akan menghubungkan tombol tekan sederhana dengan ESP32 dan mengontrol LED yang menggunakannya.

3: Menghubungkan Tombol Tekan dengan ESP32

Sebelum melakukan interfacing push button dengan ESP32 kita harus mengetahui pin GPIO yang dapat digunakan sebagai input. Sekarang kita akan membahas pin digital input output pada ESP32.

3.1: Pin Output Input Digital di ESP32

ESP32 memiliki total 48 pin yang masing-masing spesifik untuk fungsi tertentu, di antara 48 pin ada yang tidak terekspos secara fisik yang berarti kita tidak bisa menggunakannya untuk keperluan eksternal. Pin ini terintegrasi di dalam ESP32 untuk fungsi yang berbeda.

Papan ESP32 memiliki 2 varian berbeda 36 pin dan 30 pin. Di sini perbedaan 6 pin antara kedua papan terletak karena 6 pin flash SPI terintegrasi tersedia untuk komunikasi SPI di a 36 varian pin papan ESP32. Namun 6 pin SPI ini tidak dapat digunakan untuk keperluan lain seperti input output.

Pinout yang diberikan di bawah ini adalah dari 30 pin Papan ESP32:


Di antara semua GPIO hanya 4 pin ( 34, 35, 36 dan 39 ) hanya input sementara semua pin lainnya dapat digunakan untuk input dan output. Seperti disebutkan di atas 6 pin SPI tidak dapat digunakan untuk input atau output.

3.2: Cara Membaca Input Digital di ESP32

Input tombol tekan dapat dibaca pada pin GPIO yang ditentukan untuk fungsinya pinMode() perlu didefinisikan terlebih dahulu di dalam kode Arduino. Fungsi ini akan mengatur pin GPIO sebagai input. pinMode() Sintaks fungsi adalah sebagai berikut:

pinMode ( GPIO, INPUT ) ;


Untuk membaca data dari pin GPIO yang ditentukan digitalRead() fungsi akan dipanggil. Berikut adalah perintah yang dapat digunakan untuk mengambil data dari tombol tekan pada pin GPIO:

digitalRead ( GPIO ) ;

3.3: Menghubungkan Tombol Tekan dengan ESP32 Menggunakan Fungsi Baca Digital

Sekarang kita akan menghubungkan ESP32 dengan tombol tekan menggunakan baca digital berfungsi di setiap pin GPIO. Mengambil input dari tombol tekan, LED akan dihidupkan atau dimatikan.

3.4: Diperlukan Perangkat Keras

Di bawah ini adalah daftar komponen yang diperlukan:

    • Papan ESP32
    • LED
    • Resistor 220 Ohm
    • Tombol Tekan 4 Pin
    • Papan tempat memotong roti
    • Menghubungkan kabel Jumper

3.5: Skema

Gambar di bawah ini adalah diagram skematik tombol tekan dengan ESP32. Disini input dibaca dari push button di GPIO pin 15, dan LED terhubung di GPIO pin 14.

3.6: Kode untuk Menghubungkan Tombol Tekan dengan ESP32

Sekarang untuk mengunggah kode ke ESP32 Arduino IDE editor akan digunakan. Buka IDE dan hubungkan board ESP32 setelah itu pilih port COM dari bagian tool. Setelah papan ESP32 siap, tempel kode di IDE dan klik unggah:

const int Tombol_Tekan = limabelas ; /* Pin digital limabelas didefinisikan untuk Tekan tombol */
const int LED_Pin = 14 ; /* Pin digital 14 didefinisikan untuk DIPIMPIN */
int Button_State = 0 ;
pengaturan batal ( ) {
Serial.mulai ( 115200 ) ;
pinMode ( Tekan_Tombol, INPUT ) ; /* GPIO limabelas mengatur sebagai Memasukkan */
pinMode ( LED_Pin, OUTPUT ) ; /* GPIO 14 mengatur sebagai Keluaran */
}
lingkaran kosong ( ) {
Button_State = digitalRead ( Tekan tombol ) ; /* Periksa status tombol tekan */
Serial.println ( Tombol_State ) ;
jika ( Button_State == TINGGI ) { /* jika kondisi untuk memeriksa status tombol */
digitalWrite ( LED_Pin, TINGGI ) ; /* LED status TINGGI HIDUP */
} kalau tidak {
digitalWrite ( LED_Pin, RENDAH ) ; /* Lain LED OFF */
}
}


Kode dimulai dengan mendefinisikan pin GPIO untuk LED dan tombol tekan. Setelah itu LED GPIO dinyatakan sebagai output sedangkan GPIO push button ditetapkan sebagai input.

Pada akhirnya status tombol tekan diperiksa menggunakan kondisi if. Status tombol tekan juga dicetak pada monitor serial menggunakan Serial.println(Button_State) .

Jika input tombol tekan TINGGI, itu akan menyala lagi, itu akan tetap MATI.

3.7: Keluaran

Pada awalnya, kita bisa melihat LED OFF.


Sekarang tekan tombol push, sinyal TINGGI akan dikirim ke ESP32 GPIO 15 dan LED akan menyala.


Output yang sama juga dapat dilihat pada monitor serial Arduino.

Kesimpulan

ESP32 memiliki beberapa pin GPIO yang dapat membaca data digital dari sensor seperti tombol tekan. Menggunakan tombol tekan fungsi baca digital dapat dengan mudah dihubungkan dengan ESP32 untuk mengontrol perangkat yang berbeda. Menggunakan artikel ini sekali dapat menghubungkan tombol tekan dengan pin GPIO apa pun dari ESP32.