Belajar

ESP32 DevKit V1 pinout: every pin, and which ones to avoid

Pemula

Atau lihat semua pelajaran.

  • 503komponen di meja kerja
  • 44board sedang berjalan
  • 1.00xwaktu nyata, di semua board
ESP32 DevKit V1: pot di D32live0.000 s 0.00x
Klik untuk membukanya di editor
Pot 10 k di D32 (kanal ADC1 4) mengatur kecerahan LED di D4, dengan pembacaan dicetak.

Ini pinout ESP32 DevKit V1 30 pin, board DOIT dengan modul ESP32-WROOM-32 yang dikirim kebanyakan kit. Setiap lubang di kedua headernya ada di tabel di bawah dengan nomor GPIO, apa yang bisa dilakukannya, dan hal yang perlu diwaspadai. Setelah tabel ada pin daya, pin strapping yang menentukan apakah board menyala sama sekali, pin input-saja, pin yang dipakai USB dan flash, serta daftar pin mana untuk apa.

Rangkaian di atas adalah board itu berjalan di Mokxi: potensiometer di D32, yaitu kanal ADC1 4, meredupkan LED di D4 dan mencetak pembacaan mentahnya. Mokxi memodelkan board 30 pin, bukan DevKitC 38 pin, dan angka di halaman ini dibaca dari model yang sama dengan yang dijalankan simulator. Bila simulator melakukan lebih sedikit daripada chip, halaman menyatakannya di barisnya.

Setiap pin di header

Silkscreen menyebut GPIO n sebagai "Dn", jadi D23 adalah GPIO 23 dan digitalWrite(23, HIGH) menggerakkannya. Beberapa lubang dinamai menurut fungsinya: VP dan VN adalah GPIO 36 dan 39, TX0 dan RX0 adalah GPIO 1 dan 3, dan TX2 dan RX2 adalah GPIO 17 dan 16. Tabel turun di header kiri dari EN ke VIN, lalu turun di header kanan dari D23 ke 3V3, dengan soket USB di bawah.

Urutan lubang adalah pembacaan Mokxi atas board DOIT, dan klon berbeda di beberapa yang terakhir. Banyak board 30 pin tidak punya lubang D0 dan menaruh GND kedua di kanan, dan di banyak board header kiri berakhir D12, D13, GND, VIN. Ikuti huruf yang tercetak di boardmu. Nomor GPIO, yang dipakai kodemu, tidak berubah.

Sentuh, DAC, dan ADC2 ada di tabel karena chip memilikinya dan tutorial memakainya. Mokxi tidak memodelkan ketiganya, dan setiap baris menyatakannya.

ESP32 DevKit V1 (30 pin): header kiri dari atas ke bawah, lalu kanan
PinGPIOYang bisa dilakukannyaYang perlu diwaspadai
EN-Chip enable, yaitu reset. Low menahan chip dalam reset; tombol EN melakukannya.Not a GPIO.
VP36ADC1_CH0. Input saja.Tanpa driver output dan tanpa pull-up atau pull-down internal.
VN39ADC1_CH3. Input saja.Tanpa driver output dan tanpa pull-up atau pull-down internal.
D3434ADC1_CH6. Input saja.Tanpa driver output dan tanpa pull-up atau pull-down internal.
D3535ADC1_CH7. Input saja.Tanpa driver output dan tanpa pull-up atau pull-down internal.
D3232ADC1_CH4. PWM. Sentuh T9 (tidak dimodelkan).Serba bisa yang aman.
D3333ADC1_CH5. PWM. Sentuh T8 (tidak dimodelkan).Serba bisa yang aman.
D2525PWM. DAC1 dan ADC2_CH8 di chip (tidak dimodelkan).ADC2 berhenti bekerja saat WiFi menyala.
D2626PWM. DAC2 dan ADC2_CH9 di chip (tidak dimodelkan).ADC2 berhenti bekerja saat WiFi menyala.
D2727PWM. ADC2_CH7 dan sentuh T7 di chip (tidak dimodelkan).ADC2 berhenti bekerja saat WiFi menyala.
D1414PWM. ADC2_CH6 dan sentuh T6 di chip (tidak dimodelkan).ADC2 berhenti bekerja saat WiFi menyala.
D1212PWM. ADC2_CH5 dan sentuh T5 di chip (tidak dimodelkan).Pin strapping: high saat reset dan board tidak menyala.
GND-Ground.-
D1313PWM. ADC2_CH4 dan sentuh T4 di chip (tidak dimodelkan).ADC2 berhenti bekerja saat WiFi menyala.
VIN-Rel 5 V dari USB. Beri 5 V di sini untuk menjalankan board tanpa kabel.Not a GPIO.
D2323PWM. SPI MOSI (default).-
D2222PWM. I2C SCL (default).-
TX01UART0 TX: Serial, dan chip USB-ke-serial.Biarkan bebas, atau upload dan Serial Monitor rusak.
RX03UART0 RX: Serial, dan chip USB-ke-serial.Biarkan bebas, atau upload dan Serial Monitor rusak.
D2121PWM. I2C SDA (default).-
D1919PWM. SPI MISO (default).-
D1818PWM. SPI SCK (default).-
D55PWM. SPI SS (default).Pin strapping: biarkan tanpa beban saat power-on.
TX217PWM. UART2 TX di tutorial core 2.x: Serial2.begin(9600, SERIAL_8N1, 16, 17).Core 3.x menaruh Serial2 di 4 dan 25 kecuali pinnya diberikan.
RX216PWM. UART2 RX di tutorial core 2.x: Serial2.begin(9600, SERIAL_8N1, 16, 17).Core 3.x menaruh Serial2 di 4 dan 25 kecuali pinnya diberikan.
D44PWM. ADC2_CH0 dan sentuh T0 di chip (tidak dimodelkan).Output yang aman; contoh menaruh LED di sini.
D00PWM. ADC2_CH1 dan sentuh T1 di chip (tidak dimodelkan). Tombol BOOT.Pin strapping: low saat reset menunggu upload.
D22PWM. ADC2_CH2 dan sentuh T2 di chip (tidak dimodelkan). LED biru, menyala saat HIGH.Pin strapping: harus low atau mengambang untuk upload.
D1515PWM. ADC2_CH3 dan sentuh T3 di chip (tidak dimodelkan).Pin strapping: low saat reset membungkam pesan boot.
3V3-Output 3,3 V dari regulator.Not a GPIO.

Pin daya dan batasnya

VIN adalah rel 5 V dari soket USB. Tanpa kabel kamu bisa menjalankan board dengan memberi 5 V di VIN, dan regulator membuat 3,3 V darinya. 3V3 adalah output regulator itu: ia memberi daya ke ESP32 dan apa pun yang kamu pasang padanya, jadi sensor tidak masalah dan servo atau motor tidak. GND adalah ground.

Setiap GPIO 3,3 V dan tidak ada yang tahan 5 V. Output sensor 5 V perlu pembagi atau level shifter sebelum mencapai pin. Datasheet Espressif memberi satu pin sekitar 40 mA saat mengeluarkan arus pada pengaturan drive terkuatnya. Anggap itu batas atas, bukan target, dan jaga LED di 10 sampai 20 mA dengan resistornya.

Pin strapping: yang membuat board gagal menyala

Lima pin dibaca chip pada saat keluar dari reset, dan apa yang dibacanya menentukan cara memulai: GPIO 0, 2, 5, 12, dan 15. Setelah sketch-mu berjalan, pin itu pin biasa, jadi masalah hanya muncul bila sesuatu yang tersambung ke salah satunya menahannya pada posisi salah saat power-on.

GPIO 0 adalah tombol BOOT. Ditahan low saat reset, chip menunggu program baru, bukan menjalankan programmu, jadi tombol atau modul yang menarik D0 low terlihat seperti board yang tidak pernah menyala. GPIO 2 harus low atau mengambang untuk upload. GPIO 12 paling menjebak: high saat reset memberi tahu chip bahwa flash-nya berjalan di 1,8 V, padahal flash WROOM-32 butuh 3,3 V, dan board tidak akan menyala sampai apa pun yang menahan 12 high melepaskannya. GPIO 15 low saat reset membungkam pesan boot di port serial, yang tidak berbahaya tetapi membingungkan.

Mokxi tidak memodelkan strapping. Board simulasi menjalankan apa pun yang ada di pin itu, jadi rangkaian yang berjalan di sini tetap bisa menolak menyala di meja kerja jika menarik D12 high atau D0 low. Beri apa pun yang punya pull-up atau pull-down sendiri salah satu pin yang aman.

Pin input-saja: GPIO 34, 35, 36, dan 39

GPIO 34 sampai 39 hanya punya buffer input dan tidak ada yang lain: tanpa driver output dan tanpa pull-up atau pull-down internal. Empat di antaranya ada di header ini: D34, D35, VP, dan VN. Mereka bagus untuk input analog, semuanya di ADC1, dan sama sekali tidak bisa menjadi output. pinMode(34, OUTPUT) tidak melakukan apa-apa di chip, dan INPUT_PULLUP juga tidak, jadi tombol pada salah satunya butuh resistor 10 k sendiri.

Mokxi menolak output pada pin ini seperti chip menolaknya, menghitung setiap percobaan, dan memberi tanda kecil berwarna amber di board, sehingga sketch tidak bisa percaya bahwa ia menggerakkannya.

LED onboard, serta tombol BOOT dan EN

LED biru ada di GPIO 2 dan menyala saat pin HIGH. LED_BUILTIN adalah 2. Karena GPIO 2 adalah pin strapping, apakah LED menyala saat board boot berbeda dari board ke board; ia stabil begitu pinMode berjalan. LED lain di kebanyakan board adalah lampu daya dan tidak ada di pin mana pun.

BOOT menarik GPIO 0 low selama kamu menahannya, itulah sebabnya D0 terbaca LOW saat ditekan. EN adalah tombol reset. Di Mokxi kamu bisa mengklik keduanya di board.

Pin yang dipakai USB dan flash

TX0 dan RX0 adalah UART0, tersambung ke chip USB-ke-serial board, dan membawa setiap Serial.print dan setiap upload. Sambungkan sesuatu ke sana dan upload gagal atau Serial Monitor penuh sampah, jadi biarkan bebas. Di Mokxi, Serial langsung menjangkau Serial Monitor, sehingga simulator tidak akan menunjukkan benturan itu; meja kerja akan.

GPIO 6 sampai 11 adalah flash SPI tempat program berjalan, dan sama sekali tidak ada di header ini, yang bagus. DevKitC 38 pin mengeluarkannya, sebagai D0 sampai D3, CMD, dan CLK, dan itulah pin yang tidak boleh dipakai. TX2 dan RX2 adalah tempat UART2 berada di kebanyakan tutorial. Arduino-esp32 3.x memindahkan pin default Serial2 ke 4 dan 25, jadi sebutkan pinnya: Serial2.begin(9600, SERIAL_8N1, 16, 17);. Mokxi memodelkan UART1 dan UART2 bit demi bit di pin mana pun yang diberikan begin(), sehingga GPS atau board kedua di 16 dan 17 mendengarnya, di sini seperti di meja kerja.

Analog, PWM, I2C, dan SPI

Hanya ADC1 yang aman di proyek dengan WiFi: di ESP32 sungguhan radio memakai ADC2, dan analogRead pada pin ADC2 gagal saat WiFi menyala. ADC1 ada di enam lubang di sini: VP, VN, D32, D33, D34, dan D35. Mokxi hanya memodelkan ADC1, dua belas bit, dengan kurva komponen sungguhan pada 11 dB default: pot di 3,3 V mencapai 4095 pada sekitar 3,1 V, sedikit sebelum ujung putarannya, dan terbaca sekitar 1890 di tengah.

PWM adalah LEDC, dan pin mana pun dengan driver output bisa memilikinya: analogWrite memasang kanal saat pertama kali dipanggil. Mokxi memodelkan delapan kanal kecepatan tinggi, delapan bit pada 1 kHz secara default; chip punya enam belas semuanya. Wire.begin() memakai D21 untuk SDA dan D22 untuk SCL, dan SPI memakai D18, D19, D23, dan D5 untuk SCK, MISO, MOSI, dan SS. Di Mokxi kedua bus berjalan di software pada pin itu, karena pengendali I2C dan SPI chip tidak dimodelkan.

Pertanyaan

Pin ESP32 mana yang dipakai untuk tombol?

D4, D13, D14, D18, D19, D21 sampai D23, D25 sampai D27, D32, atau D33, dengan `INPUT_PULLUP` dan tombol ke ground. D34, D35, VP, dan VN hanya bekerja dengan pull-up 10 k buatanmu sendiri, dan D0, D2, D12, dan D15 adalah pin strapping.

Pin ESP32 mana yang dipakai untuk sensor analog?

Pin ADC1: D32, D33, D34, D35, VP, atau VN. Pin ini tetap bekerja saat WiFi menyala. Jaga sinyal di bawah 3,3 V; skala penuh nominal 3,9 V pada attenuator adalah rentang ukur, bukan input yang aman.

Pin mana yang I2C di ESP32 DevKit V1?

SDA adalah D21 dan SCL adalah D22, pin yang dipakai `Wire.begin()`. `Wire.begin(sda, scl)` memindahkan bus ke dua pin output lain mana pun.

Pin mana yang tidak boleh dipakai di ESP32?

GPIO 6 sampai 11, yaitu flash, yang tidak dikeluarkan board ini. TX0 dan RX0 jika kamu ingin upload dan Serial Monitor bekerja. Dan D12 untuk apa pun yang high saat power-on.

Ini pinout 30 pin atau 38 pin?

DOIT DevKit V1 30 pin. Espressif DevKitC 38 pin adalah chip yang sama dengan nomor GPIO yang sama di tempat berbeda, berjarak satu inci penuh antar baris, dan dengan enam pin flash dikeluarkan. Ia punya board sendiri di Mokxi.

Apakah ESP32 DevKit V1 punya DAC dan pin sentuh?

Chip punya dua DAC 8-bit, di D25 dan D26, dan sepuluh input sentuh. Mokxi tidak memodelkan keduanya, jadi `dacWrite` dan `touchRead` tidak akan berguna di sini.

Rakit versi nyatanya

Buka editor, ubah sebuah nilai, dan lihat angkanya ikut berubah. Tidak ada yang perlu dipasang, dan tidak perlu akun.