ESP32: Butiran Dalaman dan Pinout

Dalam artikel ini, kami akan membincangkan butiran dalaman dan penyepaduan ESP32. Saya akan menunjukkan kepada anda bagaimana cara mengenal pasti pin secara tepat dengan melihat lembaran data, bagaimana untuk mengenal pasti yang mana pin berfungsi sebagai OUTPUT / INPUT, bagaimana untuk mendapatkan gambaran keseluruhan mengenai sensor dan periferal yang ESP32 menawarkan kepada kami, sebagai tambahan kepada boot. Oleh itu, saya percaya bahawa, dengan video di bawah ini, saya akan dapat menjawab beberapa soalan yang saya terima dalam mesej dan komen tentang rujukan ESP32, antara maklumat lain.

Langkah 1: NodeMCU ESP-WROOM-32

Di sini kita mempunyai PINOUT

WROOM-32 yang berfungsi sebagai rujukan yang baik apabila anda program. Adalah penting untuk memberi perhatian kepada Input / Output Tujuan Umum (GPIOs), iaitu port input dan output data yang dapat diprogramkan, yang masih boleh menjadi penukar AD atau pin Touch, seperti GPIO4, sebagai contoh. Ini juga berlaku dengan Arduino, di mana pin input dan output juga boleh PWM.

Langkah 2: ESP-WROOM-32

Dalam imej di atas, kami mempunyai ESP32 itu sendiri. Terdapat beberapa jenis sisipan dengan ciri-ciri yang berbeza mengikut pengilang.

Langkah 3: Tetapi, Apakah Pinout yang Benar untuk Saya Gunakan untuk ESP32 saya?

ESP32 tidak sukar. Ia sangat mudah bahawa kita boleh mengatakan bahawa tidak ada kebimbangan didaktik dalam persekitaran anda. Walau bagaimanapun, kita perlu didaktik, ya. Jika anda mahu program di Assembler, itu ok. Tetapi, masa kejuruteraan adalah mahal. Oleh itu, jika segala-galanya yang merupakan pembekal teknologi memberi anda alat yang memerlukan masa untuk memahami cara kerja, ini dengan mudah dapat menjadi masalah bagi Anda, karena semua ini akan meningkatkan waktu kejuruteraan, sementara produk menjadi semakin mahal. Ini menerangkan keutamaan saya untuk perkara mudah, yang dapat menjadikan hari kita lebih mudah, kerana masa adalah penting, terutamanya dalam dunia sibuk hari ini.

Kembali ke ESP32, dalam datasheet, seperti yang di atas, kami mempunyai identifikasi pin yang betul dalam sorotan. Selalunya, label pada cip itu tidak sepadan dengan nombor sebenar pin, kerana kami mempunyai tiga situasi: GPIO, nombor siri, dan juga kod kad itu sendiri.

Seperti yang ditunjukkan dalam contoh di bawah, kami mempunyai sambungan LED dalam ESP dan mod konfigurasi yang betul:

Perhatikan bahawa label adalah TX2, tetapi kita mesti mengikuti pengenalan yang betul, seperti yang diserlahkan dalam imej terdahulu. Oleh itu, pengenalpastian pin yang betul akan menjadi 17. Imej menunjukkan betapa dekatnya kod yang perlu tinggal.

Langkah 4: INPUT / OUTPUT

Apabila melakukan ujian INPUT dan OUTPUT pada pin, kami memperoleh keputusan berikut:

INPUT tidak hanya berfungsi pada GPIO0.

OUTPUT tidak hanya berfungsi pada pin GPIO34 dan GPIO35, masing-masing VDET1 dan VDET2.

* PIN VDET tergolong dalam domain kuasa RTC. Ini bermakna bahawa mereka boleh digunakan sebagai pin ADC dan bahawa coprocessor ULP boleh membacanya. Mereka hanya boleh masuk dan tidak keluar.

Langkah 5: Gambarajah Blok

Rajah ini menunjukkan bahawa ESP32 mempunyai dwi teras, kawasan cip yang mengawal WiFi, dan kawasan lain yang mengawal Bluetooth. Ia juga mempunyai pecutan perkakasan untuk penyulitan, yang membolehkan sambungan ke LoRa, rangkaian jarak jauh yang membolehkan sambungan sehingga 15km, menggunakan antena. Kami juga memerhatikan penjana jam, jam masa nyata, dan mata-mata lain yang melibatkan, sebagai contoh, PWM, ADC, DAC, UART, SDIO, SPI, dan lain-lain. Ini semua menjadikan peranti ini agak lengkap dan berfungsi.

Langkah 6: Peranti dan Sensor

ESP32 mempunyai 34 GPIO yang boleh diberikan kepada pelbagai fungsi, seperti:

Digital sahaja;

Dikehendaki analog (boleh dikonfigurasikan sebagai digital);

Capacitive-touch-enabled (boleh dikonfigurasikan sebagai digital);

Dan lain lain.

Penting untuk diketahui bahawa kebanyakan GPIO digital boleh dikonfigurasikan sebagai pull-up atau pull-down dalaman, atau dikonfigurasi untuk impedans yang tinggi. Apabila ditetapkan sebagai input, nilai boleh dibaca melalui daftar.

Langkah 7: GPIO

Penukar Analog ke Digital (ADC)

The Esp32 mengintegrasikan ADC 12-bit dan menyokong pengukuran pada 18 saluran (pin diaktifkan analog). ULP-coprocessor dalam ESP32 juga direka untuk mengukur voltan semasa beroperasi dalam mod tidur, yang membolehkan penggunaan kuasa yang rendah. CPU boleh dibangkitkan oleh tetapan ambang dan / atau melalui pemicu lain.

Digital-ke-Analog Penukar (DAC)

Dua saluran DAC 8-bit boleh digunakan untuk menukar dua isyarat digital kepada dua output voltan analog. Kedua DAC ini menyokong bekalan kuasa sebagai rujukan voltan masukan dan boleh memacu litar lain. Saluran dua menyokong penukaran bebas.

Langkah 8: Sensor

Sensor Sentuh

ESP32 mempunyai 10 pengesan kapasitif GPIO yang mengesan variasi yang diinduksi apabila menyentuh atau menghampiri GPIO dengan jari atau objek lain.

ESP32 juga mempunyai Sensor Suhu dan Sensor Dewan Dalaman, tetapi untuk bekerja dengan mereka, anda perlu menukar tetapan daftar. Untuk butiran lanjut, lihat manual teknikal melalui pautan:

//www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Langkah 9: Pengawas

ESP32 mempunyai tiga pengawasan pengawasan: satu pada setiap dua modul pemasa (dipanggil Pemasa Pengawas Primer atau MWDT) dan satu pada modul RTC (dipanggil RTC Watchdog Timer atau RWDT).

Langkah 10: Bluetooth

Antara muka Bluetooth v4.2 BR / EDR dan Bluetooth LE (tenaga yang rendah)

ESP32 menggabungkan pengawal sambungan Bluetooth dan baseband Bluetooth, yang melaksanakan protokol baseband dan rutin pautan peringkat rendah lain, seperti modulasi / demodulasi, pemprosesan paket, pemprosesan bit-bit, hopping frekuensi, dan lain-lain.

Pengawal sambungan beroperasi dalam tiga keadaan utama: standby, sambungan, dan menghidu. Ia membolehkan pelbagai sambungan dan operasi lain, seperti pertanyaan, halaman, dan pasangan mudah yang selamat, dan dengan itu membolehkan Piconet dan Scatternet.

Langkah 11: Boot

Pada banyak papan pengembangan dengan USB / Serial terbenam, esptool.py secara automatik boleh menetapkan semula papan ke mod boot.

ESP32 akan memasuki pemuat buter berselang apabila GPIO0 disimpan pada tetapan semula. Jika tidak, ia akan menjalankan program dalam kilat.

GPIO0 mempunyai perintang pullup dalaman, jadi jika ia tanpa sambungan, ia akan menjadi tinggi.

Banyak papan menggunakan butang berlabel "Flash" (atau "BOOT" pada beberapa papan pengembangan Espressif) yang membawa GPIO0 ke bawah apabila ditekan.

GPIO2 juga harus dibiarkan tidak terikat / terapung.

Dalam imej di atas, anda boleh melihat ujian yang saya lakukan. Saya meletakkan oscilloscope pada semua pin ESP untuk melihat apa yang berlaku apabila ia dihidupkan. Saya dapati bahawa apabila saya mendapat pin, ia menghasilkan ayunan 750 mikrosecond, seperti yang ditunjukkan di kawasan yang diketengahkan di sebelah kanan. Apa yang boleh kita lakukan mengenai perkara ini? Kami mempunyai beberapa pilihan, seperti memberikan kelewatan dengan litar dengan transistor, sebuah pintu expander, sebagai contoh. Saya menunjukkan GPIO08 terbalik. Angin berayun ke atas dan tidak ke bawah.

Perincian lain ialah kita mempunyai beberapa pin yang bermula di High, dan yang lainnya di Low. Oleh itu, PINOUT ini adalah rujukan kepada apabila ESP32 dihidupkan, terutamanya apabila anda bekerja dengan beban untuk mencetuskan, sebagai contoh, triac, relay, kontaktor, atau kuasa tertentu.

Artikel Berkaitan