Pin ESP32 Yang Memiliki Pull Up

Pin Esp32 Yang Memiliki Pull Up



Jika Anda seorang penggemar elektronik atau pengembang yang bekerja dengan ESP32, Anda mungkin pernah mendengar tentang resistor pull-up dan pull-down. Resistor ini memastikan bahwa pin input digital memiliki level logika yang stabil. Pada artikel ini, kita akan membahas pin mana pada ESP32 yang memiliki resistor pull-up bawaan dan cara mengaktifkannya.

Memahami Resistor Pull-Up

Sebelum menyelami spesifikasi pin pull-up ESP32, penting untuk memahami peran resistor pull-up dalam suatu rangkaian. Ketika pin input digital dibiarkan mengambang (tidak terhubung ke sumber tegangan apa pun), ia dapat membaca nilai acak, sehingga sulit untuk menentukan level logikanya.

Untuk menghindari masalah ini, resistor pull-up dihubungkan antara pin input dan sumber tegangan (biasanya Vcc) untuk memastikan bahwa input membaca keadaan tinggi (logis 1) secara default. Ketika input terhubung ke sinyal rendah (logis 0), resistor menarik input ke ground, memungkinkan input membaca keadaan rendah.







Pin Pull-Up bawaan pada ESP32

Mikrokontroler ESP32 memiliki 34 pin input/output tujuan umum (GPIO), yang dapat dikonfigurasi sebagai pin digital atau analog. Di antara 34 pin ini, beberapa pin memiliki resistor pull-up bawaan yang dapat diaktifkan oleh perangkat lunak.



Tabel berikut menunjukkan pin pada ESP32 yang memiliki resistor pull-up bawaan:



Nomor PIN Nama Pin Resistor Pull-Up bawaan
0 GPIO0 Ya
2 GPIO2 Ya
4 GPIO4 Ya
5 GPIO5 Ya
12 GPIO12 Ya
13 GPIO13 Ya
14 GPIO14 Ya
limabelas GPIO15 Ya
25 GPIO25 Ya
26 GPIO26 Ya
27 GPIO27 Ya
32 GPIO32 Ya
33 GPIO33 Ya
3. 4 GPIO34 TIDAK
35 GPIO35 TIDAK
36 GPIO36 TIDAK
39 GPIO39 TIDAK

Seperti yang Anda lihat, sebagian besar pin digital pada ESP32 memiliki resistor pull-up bawaan. Namun, tidak semua pin memiliki fitur ini. Pin 34, 35, 36, dan 39 tidak memiliki resistor pull-up bawaan.





Catatan: Di ESP32, resistor pull-up dan pull-down terintegrasi hanya tersedia di pin yang mendukung input dan output. GPIO 34-39 , yang terbatas pada masukan saja, tidak memiliki resistor bawaan ini.



Periksa lengkap Referensi Pinout ESP32 .

Mengaktifkan Resistor Pull-Up di ESP32

Untuk mengaktifkan resistor pull-up pada pin ESP32, Anda dapat menggunakan gpio_set_pull_mode() fungsi yang disediakan oleh kerangka kerja ESP-IDF.

Fungsi ini membutuhkan dua argumen:

  • Nomor pin GPIO
  • Modus pull-up

Mode pull-up bisa jadi GPIO_PULLUP_ENABLE atau GPIO_PULLUP_DISABLE . Berikut contoh kode yang mengaktifkan resistor pull-up pada GPIO2:

#sertakan 'driver/gpio.h'

ruang kosong aktifkan_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Penting untuk dicatat bahwa mengaktifkan resistor pull-up pada pin akan memengaruhi perilakunya saat pin digunakan sebagai output. Dalam hal ini, resistor pull-up akan bertindak sebagai sumber arus yang lemah dan dapat mempengaruhi level tegangan keluaran.

Sebagai alternatif, kami juga dapat mengaktifkan pull-up internal pada ESP32 menggunakan pinMode() fungsi arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

Kode di atas akan mengaktifkan resistor pull-up internal pada pin 5 . Demikian pula, Anda dapat mengaktifkan resistor pull-down internal dengan menentukan mode INPUT_PULLDOWN .

Kesimpulan

Resistor pull-up adalah komponen penting dalam sirkuit digital, dan mikrokontroler ESP32 menyediakan resistor pull-up bawaan pada sebagian besar pin digitalnya. Mengaktifkan resistor ini dapat memastikan level logika yang stabil dan menghindari masalah input mengambang. Namun, penting untuk dicatat bahwa tidak semua pin pada ESP32 memiliki resistor pull-up bawaan, jadi penting untuk memeriksa pinout ESP32 atau lembar data sebelum merancang sirkuit. Selain itu, mengaktifkan resistor pull-up dapat memengaruhi perilaku pin saat digunakan sebagai output.