ESP32: Detail dan Pinout Internal
Pada artikel ini, kita akan berbicara tentang detail internal dan menyematkan ESP32. Saya akan menunjukkan kepada Anda cara mengidentifikasi pin dengan benar dengan melihat lembar data, cara mengidentifikasi pin mana yang berfungsi sebagai OUTPUT / INPUT, cara memiliki gambaran umum tentang sensor dan periferal yang ditawarkan ESP32 kepada kami, selain itu boot Oleh karena itu, saya percaya bahwa, dengan video di bawah ini, saya akan dapat menjawab beberapa pertanyaan yang telah saya terima dalam pesan dan komentar tentang referensi ESP32, di antara informasi lainnya.
Langkah 1: NodeMCU ESP-WROOM-32

Di sini kita memiliki PINOUT dari
WROOM-32 yang berfungsi sebagai referensi yang baik untuk saat Anda memprogram. Penting untuk memperhatikan Input / Output Tujuan Umum (GPIO), yaitu, input data dan port output yang dapat diprogram, yang masih bisa berupa konverter AD atau pin Sentuh, seperti GPIO4, misalnya. Ini juga terjadi dengan Arduino, di mana pin input dan output juga bisa PWM.
Langkah 2: ESP-WROOM-32

Pada gambar di atas, kita memiliki ESP32 itu sendiri. Ada beberapa jenis sisipan dengan karakteristik berbeda menurut pabrikan.
Langkah 3: Tapi, Apa Pinout yang Tepat untuk Saya Gunakan untuk ESP32 Saya?




ESP32 tidak sulit. Sangat mudah bahwa kita dapat mengatakan bahwa tidak ada masalah didaktik di lingkungan Anda. Namun, kita harus didaktik, ya. Jika Anda ingin memprogram dalam Assembler, tidak apa-apa. Tapi, waktu rekayasa itu mahal. Jadi, jika segala sesuatu yang merupakan pemasok teknologi memberi Anda alat yang membutuhkan waktu untuk memahami cara kerjanya, ini dapat dengan mudah menjadi masalah bagi Anda, karena semua ini akan menambah waktu rekayasa, sementara produk menjadi semakin mahal. Ini menjelaskan preferensi saya untuk hal-hal mudah, hal-hal yang dapat membuat hari kita lebih mudah, karena waktu itu penting, terutama di dunia yang sibuk saat ini.
Kembali ke ESP32, dalam lembar data, seperti pada yang di atas, kami memiliki identifikasi pin yang benar dalam highlight. Seringkali, label pada chip tidak sesuai dengan jumlah pin yang sebenarnya, karena kami memiliki tiga situasi: GPIO, nomor seri, dan juga kode kartu itu sendiri.
Seperti ditunjukkan dalam contoh di bawah ini, kami memiliki koneksi LED di ESP dan mode konfigurasi yang benar:
Perhatikan bahwa labelnya adalah TX2, tetapi kita harus mengikuti identifikasi yang benar, seperti yang disorot pada gambar sebelumnya. Oleh karena itu, identifikasi pin yang benar adalah 17. Gambar menunjukkan seberapa dekat kode harus tetap.
Langkah 4: INPUT / OUTPUT

Saat melakukan tes INPUT dan OUTPUT pada pin, kami memperoleh hasil berikut:
INPUT tidak hanya berfungsi di GPIO0.
OUTPUT tidak hanya berfungsi pada pin GPIO34 dan GPIO35, yang masing-masing adalah VDET1 dan VDET2.
* Pin VDET milik domain kekuasaan RTC. Ini berarti bahwa mereka dapat digunakan sebagai pin ADC dan bahwa ULP-coprocessor dapat membacanya. Mereka hanya bisa menjadi entri dan tidak pernah keluar.
Langkah 5: Blokir Diagram

Diagram ini menunjukkan bahwa ESP32 memiliki dual core, area chip yang mengontrol WiFi, dan area lain yang mengontrol Bluetooth. Ini juga memiliki akselerasi perangkat keras untuk enkripsi, yang memungkinkan koneksi ke LoRa, jaringan jarak jauh yang memungkinkan untuk koneksi hingga 15 km, menggunakan antena. Kami juga mengamati generator jam, jam waktu nyata, dan titik-titik lain yang melibatkan, misalnya, PWM, ADC, DAC, UART, SDIO, SPI, dan lainnya. Ini semua membuat perangkat cukup lengkap dan fungsional.
Langkah 6: Periferal dan Sensor

ESP32 memiliki 34 GPIO yang dapat ditugaskan ke berbagai fungsi, seperti:
Hanya digital;
Analog-enabled (dapat dikonfigurasi sebagai digital);
Capacitive-touch-enabled (dapat dikonfigurasi sebagai digital);
Dan lain-lain.
Penting untuk dicatat bahwa sebagian besar GPIO digital dapat dikonfigurasi sebagai pull-up internal atau pull-down, atau dikonfigurasi untuk impedansi tinggi. Ketika ditetapkan sebagai input, nilainya dapat dibaca melalui register.
Langkah 7: GPIO
Konverter Analog-ke-Digital (ADC)
Esp32 mengintegrasikan ADC 12-bit dan mendukung pengukuran pada 18 saluran (pin yang mendukung analog). ULP-coprocessor dalam ESP32 juga dirancang untuk mengukur tegangan saat beroperasi dalam mode tidur, yang memungkinkan konsumsi daya yang rendah. CPU dapat dibangunkan dengan pengaturan ambang batas dan / atau melalui pemicu lainnya.
Digital-to-Analog Converter (DAC)
Dua saluran DAC 8-bit dapat digunakan untuk mengubah dua sinyal digital menjadi dua output tegangan analog. Dual DAC ini mendukung catu daya sebagai referensi tegangan input dan dapat menggerakkan sirkuit lain. Saluran ganda mendukung konversi independen.
Langkah 8: Sensor


Sensor Sentuh
ESP32 memiliki 10 GPIO deteksi kapasitif yang mendeteksi variasi yang diinduksi saat menyentuh atau mendekati GPIO dengan jari atau benda lain.
ESP32 juga memiliki Sensor Suhu dan Sensor Hall Internal, tetapi untuk bekerja dengannya, Anda harus mengubah pengaturan register. Untuk detail lebih lanjut, lihat manual teknis melalui tautan:
//www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
Langkah 9: Watchdog
ESP32 memiliki tiga pengukur waktu: satu di masing-masing dari dua modul pengatur waktu (disebut Pengawas Waktu Primer, atau MWDT) dan satu pada modul RTC (disebut Pengatur Waktu Pengawas RTC atau RWDT).
Langkah 10: Bluetooth


Bluetooth Interface v4.2 BR / EDR dan Bluetooth LE (energi rendah)
ESP32 mengintegrasikan pengontrol koneksi Bluetooth dan baseband Bluetooth, yang melakukan protokol baseband dan rutinitas tautan tingkat rendah lainnya, seperti modulasi / demodulasi, pemrosesan paket, pemrosesan bit-stream, frekuensi hopping, dll.
Pengontrol koneksi beroperasi dalam tiga kondisi utama: siaga, koneksi, dan mengendus. Ini memungkinkan banyak koneksi dan operasi lainnya, seperti penyelidikan, halaman, dan pemasangan sederhana yang aman, dan dengan demikian memungkinkan untuk Piconet dan Scatternet.
Langkah 11: Boot


Pada banyak papan pengembangan dengan USB / Serial tertanam, esptool.py dapat secara otomatis mengatur ulang papan ke mode boot.
ESP32 akan memasuki boot loader serial ketika GPIO0 tetap rendah di reset. Kalau tidak, itu akan menjalankan program dalam flash.
GPIO0 memiliki resistor pullup internal, jadi jika tanpa koneksi, ia akan menjadi tinggi.
Banyak papan menggunakan tombol berlabel "Flash" (atau "BOOT" pada beberapa papan pengembangan Espressif) yang mengarahkan GPIO0 ke bawah saat ditekan.
GPIO2 juga harus dibiarkan tidak terhubung / mengambang.
Pada gambar di atas, Anda dapat melihat tes yang saya lakukan. Saya meletakkan osiloskop pada semua pin ESP untuk melihat apa yang terjadi ketika dihidupkan. Saya menemukan bahwa ketika saya mendapatkan pin, itu menghasilkan osilasi 750 mikrodetik, seperti yang ditunjukkan pada area yang disorot di sisi kanan. Apa yang bisa kita lakukan tentang ini? Kami memiliki beberapa opsi, seperti memberikan penundaan dengan sirkuit dengan transistor, expander pintu, misalnya. Saya menunjukkan bahwa GPIO08 terbalik. Osilasi keluar ke atas dan bukan ke bawah.
Detail lainnya adalah bahwa kami memiliki beberapa pin yang dimulai dari Tinggi, dan lainnya di Rendah. Oleh karena itu, PINOUT ini adalah referensi kapan ESP32 menyala, terutama ketika Anda bekerja dengan beban untuk memicu, misalnya, triac, relay, kontaktor, atau daya.