Pin ESP32 Yang Mana Ada Pull Up

Pin Esp32 Yang Mana Ada Pull Up



Jika anda seorang peminat elektronik atau pembangun yang bekerja dengan ESP32, anda mungkin pernah mendengar tentang perintang tarik-turun dan tarik-turun. Perintang ini memastikan bahawa pin input digital mempunyai tahap logik yang stabil. Dalam artikel ini, kami akan membincangkan pin mana pada ESP32 yang mempunyai perintang tarik terbina dalam dan cara mendayakannya.

Memahami Perintang Pull-Up

Sebelum menyelam ke dalam spesifik pin tarik naik ESP32, adalah penting untuk memahami peranan perintang tarik naik dalam litar. Apabila pin input digital dibiarkan terapung (tidak disambungkan kepada mana-mana sumber voltan), ia boleh membaca nilai rawak, menjadikannya sukar untuk menentukan tahap logiknya.

Untuk mengelakkan isu ini, perintang tarik naik disambungkan antara pin input dan sumber voltan (biasanya Vcc) untuk memastikan bahawa input membaca keadaan tinggi (logik 1) secara lalai. Apabila input disambungkan kepada isyarat rendah (logik 0), perintang menarik input ke bawah ke tanah, membenarkan input membaca keadaan rendah.







Pin Tarik Ke Atas Terbina dalam pada ESP32

Pengawal mikro ESP32 mempunyai 34 pin input/output (GPIO) tujuan umum, yang boleh dikonfigurasikan sama ada sebagai pin digital atau analog. Di antara 34 pin ini, beberapa pin mempunyai perintang tarik terbina dalam yang boleh didayakan oleh perisian.



Jadual berikut menunjukkan pin pada ESP32 yang mempunyai perintang tarik ke atas terbina dalam:



Nombor PIN Nama Pin Perintang Tarik Terbina dalam
0 GPIO0 ya
2 GPIO2 ya
4 GPIO4 ya
5 GPIO5 ya
12 GPIO12 ya
13 GPIO13 ya
14 GPIO14 ya
lima belas 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, kebanyakan pin digital pada ESP32 mempunyai perintang tarik-ke atas terbina dalam. Walau bagaimanapun, tidak semua pin mempunyai ciri ini. Pin 34, 35, 36, dan 39 tidak mempunyai perintang tarik-dalam terbina dalam.





Catatan: Dalam ESP32, perintang tarik-naik dan tarik-turun bersepadu hanya tersedia dalam pin yang menyokong kedua-dua input dan output. GPIO 34-39 , yang terhad kepada input sahaja, tidak mempunyai perintang terbina dalam ini.



Semak lengkap Rujukan Pinout ESP32 .

Mendayakan Perintang Tarik Atas pada ESP32

Untuk mendayakan perintang tarik naik pada pin ESP32, anda boleh menggunakan gpio_set_pull_mode() fungsi yang disediakan oleh rangka kerja ESP-IDF.

Fungsi ini mengambil dua hujah:

  • Nombor pin GPIO
  • Mod tarik naik

Mod tarik naik boleh sama ada GPIO_PULLUP_ENABLE atau GPIO_PULLUP_DISABLE . Berikut ialah contoh kod yang membolehkan perintang tarik naik pada GPIO2:

#include 'driver/gpio.h'

batal enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMod ( 5 , INPUT_PULLUP ) ;

Adalah penting untuk ambil perhatian bahawa mendayakan perintang tarik-ke atas pada pin akan menjejaskan kelakuannya apabila pin digunakan sebagai output. Dalam kes ini, perintang tarik-naik akan bertindak sebagai sumber arus yang lemah dan boleh menjejaskan tahap voltan keluaran.

Sebagai alternatif, kami juga boleh mendayakan tarik-up dalaman pada ESP32 menggunakan pinMode() Fungsi Arduino.

pinMode ( 5 , INPUT_PULLUP ) ;

Kod di atas akan membolehkan perintang tarik-up dalaman pada pin 5 . Begitu juga, anda boleh mendayakan perintang tarik-turun dalaman dengan menentukan mod INPUT_PULLDOWN .

Kesimpulan

Perintang tarik naik ialah komponen penting dalam litar digital, dan mikropengawal ESP32 menyediakan perintang tarik naik terbina dalam pada kebanyakan pin digitalnya. Mendayakan perintang ini boleh memastikan tahap logik yang stabil dan mengelakkan isu input terapung. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa tidak semua pin pada ESP32 mempunyai perintang tarik ke atas terbina dalam, jadi adalah penting untuk menyemak Pinout ESP32 atau lembaran data sebelum mereka bentuk litar. Selain itu, mendayakan perintang tarik naik boleh menjejaskan kelakuan pin apabila digunakan sebagai output.