Logo LAFVINPemula Asas ESP32
Kit

Senarai Pembungkusan

Kit Permulaan Asas LAFVIN ESP32 - Senarai Pembungkusan

Pengenalan ESP32

Baru menggunakan ESP32? Mulakan di sini! ESP32 ialah siri mikropengawal Sistem pada Cip (SoC) kos rendah dan berkuasa rendah yang dibangunkan oleh Espressif yang merangkumi keupayaan wayarles Wi-Fi dan Bluetooth serta pemproses dwi-teras. Jika anda biasa dengan ESP8266, ESP32 ialah penggantinya, dimuatkan dengan banyak ciri baharu.Kit Permulaan Asas LAFVIN ESP32 - Pengenalan ESP32Spesifikasi ESP32
Jika anda ingin mendapatkan sedikit lebih teknikal dan khusus, anda boleh melihat spesifikasi terperinci ESP32 berikut (sumber: http://esp32.net/)—untuk butiran lanjut, semak lembaran data):

  • Kesambungan wayarles WiFi: Kadar data 150.0 Mbps dengan HT40
  • Bluetooth: BLE (Bluetooth Rendah Tenaga) dan Bluetooth Klasik
  • Pemproses: Tensilica Xtensa Dual-Core 32-bit LX6 mikropemproses, berjalan pada 160 atau 240 MHz
  • Ingatan:
  • ROM: 448 KB (untuk boot dan fungsi teras)
  • SRAM: 520 KB (untuk data dan arahan)
  • RTC fas SRAM: 8 KB (untuk penyimpanan data dan CPU utama semasa But RTC daripada mod tidur dalam)
  • SRAM perlahan RTC: 8KB (untuk akses pemproses bersama semasa mod tidur dalam) eFuse: 1 Kbit (di mana 256 bit digunakan untuk sistem (alamat MAC dan konfigurasi cip) dan baki 768 bit dikhaskan untuk aplikasi pelanggan, termasuk Penyulitan Denyar dan ID Cip)

Denyar terbenam: denyar disambungkan secara dalaman melalui IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 dan SD_DATA_1 pada ESP32-D2WD dan ESP32-PICO-D4.

  • 0 MiB (cip ESP32-D0WDQ6, ESP32-D0WD dan ESP32-S0WD)
  • 2 MiB (cip ESP32-D2WD)
  • 4 MiB (modul ESP32-PICO-D4 SiP)

Kuasa Rendah: memastikan anda masih boleh menggunakan penukaran ADC, contohnyaample, semasa tidur nyenyak.
Input/Output persisian:

  • antara muka persisian dengan DMA yang merangkumi sentuhan kapasitif
  • ADC (Penukar Analog-ke-Digital)
  • DAC (Penukar Digital-ke-Analog)
  • I²C (Litar Bersepadu Antara)
  • UART (Penerima/Pemancar Asynchronous Universal)
  • SPI (Antara Muka Peranti Bersiri)
  • I²S (Bunyi Intercip Bersepadu)
  • RMII (Antara Muka Bebas Media Terkurang)
  • PWM (Pulse-Width Modulation)

Keselamatan: pemecut perkakasan untuk AES dan SSL/TLS

Papan Pembangunan ESP32

ESP32 merujuk kepada cip ESP32 kosong. Walau bagaimanapun, istilah "ESP32" juga digunakan untuk merujuk kepada papan pembangunan ESP32. Menggunakan cip kosong ESP32 bukanlah mudah atau praktikal, terutamanya apabila belajar, menguji dan membuat prototaip. Selalunya, anda perlu menggunakan papan pembangunan ESP32.
Kami akan menggunakan papan ESP32 DEVKIT V1 sebagai rujukan. Gambar di bawah menunjukkan papan ESP32 DEVKIT V1, versi dengan 30 pin GPIO.Kit Permulaan Asas LAFVIN ESP32 - Papan Pembangunan ESP32Spesifikasi – ESP32 DEVKIT V1
Jadual berikut menunjukkan ringkasan ciri dan spesifikasi papan ESP32 DEVKIT V1 DOIT:

Bilangan teras 2 (dwi teras)
Wi-Fi 2.4 GHz sehingga 150 Mbits/s
Bluetooth BLE (Bluetooth Low Energy) dan Bluetooth lama
Seni bina 32 bit
Kekerapan jam Sehingga 240 MHz
RAM 512 KB
Pin 30 (bergantung kepada model)
Peranti Sentuhan kapasitif, ADC (penukar analog ke digital), DAC (penukar digital ke analog), 12C (Litar Bersepadu Antara), UART (penerima/pemancar tak segerak sejagat), CAN 2.0 (Kawasan Pengawal Netwokr), SPI (Antara Muka Peranti Bersiri) , 12S (Antara-IC Bersepadu
Bunyi), RMII (Antara Muka Bebas Media Terkurang), PWM (modulasi lebar nadi), dan banyak lagi.
Butang terbina dalam butang RESET dan BOOT
LED terbina dalam LED biru terbina dalam disambungkan ke GPIO2; LED merah terbina dalam yang menunjukkan papan sedang dikuasakan
USB ke UART
jambatan
CP2102

Kit Permulaan Asas LAFVIN ESP32 - ESP32 DEVKITIa disertakan dengan antara muka microUSB yang boleh anda gunakan untuk menyambungkan papan ke komputer anda untuk memuat naik kod atau menggunakan kuasa.
Ia menggunakan cip CP2102 (USB ke UART) untuk berkomunikasi dengan komputer anda melalui port COM menggunakan antara muka bersiri. Satu lagi cip popular ialah CH340. Semak apakah penukar cip USB ke UART pada papan anda kerana anda perlu memasang pemacu yang diperlukan supaya komputer anda boleh berkomunikasi dengan papan (maklumat lanjut tentang perkara ini kemudian dalam panduan ini).
Papan ini juga dilengkapi dengan butang RESET (mungkin dilabel EN) untuk memulakan semula papan dan butang BOOT untuk meletakkan papan dalam mod berkelip (tersedia untuk menerima kod). Ambil perhatian bahawa sesetengah papan mungkin tidak mempunyai butang BOOT.
Ia juga dilengkapi dengan LED biru terbina dalam yang disambungkan secara dalaman kepada GPIO 2. LED ini berguna untuk penyahpepijatan untuk memberikan beberapa jenis output fizikal visual. Terdapat juga LED merah yang menyala apabila anda memberikan kuasa kepada papan.Kit Permulaan Asas LAFVIN ESP32 -papanESP32 Pinout
Peranti ESP32 termasuk:

  • 18 saluran Penukar Analog-ke-Digital (ADC).
  • 3 antara muka SPI
  • 3 antara muka UART
  • 2 antara muka I2C
  • 16 saluran keluaran PWM
  • 2 Penukar Digital-ke-Analog (DAC)
  • 2 antara muka I2S
  • 10 GPIO pengesan kapasitif

Ciri ADC (penukar analog ke digital) dan DAC (penukar digital ke analog) diberikan kepada pin statik tertentu. Walau bagaimanapun, anda boleh memutuskan pin yang mana adalah UART, I2C, SPI, PWM, dll - anda hanya perlu menetapkannya dalam kod. Ini mungkin disebabkan oleh ciri pemultipleksan cip ESP32.
Walaupun anda boleh menentukan sifat pin pada perisian, terdapat pin yang ditetapkan secara lalai seperti yang ditunjukkan dalam rajah berikutKit Permulaan Asas LAFVIN ESP32 - Pinout ESP32Selain itu, terdapat pin dengan ciri khusus yang menjadikannya sesuai atau tidak untuk projek tertentu. Jadual berikut menunjukkan pin yang terbaik untuk digunakan sebagai input, output dan yang mana anda perlu berhati-hati.
Pin yang diserlahkan dalam warna hijau adalah OK untuk digunakan. Yang diserlahkan dalam warna kuning adalah OK untuk digunakan, tetapi anda perlu memberi perhatian kerana mereka mungkin mempunyai tingkah laku yang tidak dijangka terutamanya semasa but. Pin yang diserlahkan dengan warna merah tidak disyorkan untuk digunakan sebagai input atau output.

GP IO Input Keluaran Nota
0 ditarik ke atas OK mengeluarkan isyarat PWM semasa but, mestilah RENDAH untuk memasuki mod berkelip
1 Pin TX OK output nyahpepijat semasa boot
2 OK OK disambungkan ke LED on-board, mesti dibiarkan terapung atau RENDAH untuk memasuki mod berkelip
3 OK Pin RX TINGGI semasa but
4 OK OK
5 OK OK mengeluarkan isyarat PWM semasa but, pin pengikat
12 OK OK but gagal jika ditarik tinggi, pin pengikat
13 OK OK
14 OK OK mengeluarkan isyarat PWM semasa but
15 OK OK mengeluarkan isyarat PWM semasa but, pin pengikat
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK input sahaja
35 OK input sahaja
36 OK input sahaja
39 OK input sahaja

Teruskan membaca untuk mendapatkan analisis yang lebih terperinci dan mendalam tentang ESP32 GPIO dan fungsinya.
Input sahaja pin
GPIO 34 hingga 39 ialah GPI - masukkan pin sahaja. Pin ini tidak mempunyai perintang tarik-ke atas atau tarik-turun dalaman. Ia tidak boleh digunakan sebagai output, jadi gunakan pin ini hanya sebagai input:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

Denyar SPI disepadukan pada ESP-WROOM-32
GPIO 6 hingga GPIO 11 didedahkan dalam beberapa papan pembangunan ESP32. Walau bagaimanapun, pin ini disambungkan kepada denyar SPI bersepadu pada cip ESP-WROOM-32 dan tidak disyorkan untuk kegunaan lain. Jadi, jangan gunakan pin ini dalam projek anda:

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

GPIO sentuhan kapasitif
ESP32 mempunyai 10 sensor sentuh kapasitif dalaman. Ini boleh merasakan variasi dalam apa-apa sahaja yang memegang cas elektrik, seperti kulit manusia. Jadi mereka boleh mengesan variasi yang disebabkan apabila menyentuh GPIO dengan jari. Pin ini boleh disepadukan dengan mudah ke dalam pad kapasitif dan menggantikan butang mekanikal. Pin sentuhan kapasitif juga boleh digunakan untuk membangunkan ESP32 daripada tidur nyenyak. Penderia sentuhan dalaman tersebut disambungkan kepada GPIO ini:

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

Penukar Analog ke Digital (ADC)
ESP32 mempunyai saluran input ADC 18 x 12 bit (manakala ESP8266 hanya mempunyai 1x 10 bit ADC). Ini ialah GPIO yang boleh digunakan sebagai ADC dan saluran masing-masing:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

Nota: Pin ADC2 tidak boleh digunakan apabila Wi-Fi digunakan. Jadi, jika anda menggunakan Wi-Fi dan anda menghadapi masalah mendapatkan nilai daripada ADC2 GPIO, anda boleh mempertimbangkan untuk menggunakan ADC1 GPIO. Itu sepatutnya menyelesaikan masalah anda.
Saluran input ADC mempunyai resolusi 12-bit. Ini bermakna anda boleh mendapatkan bacaan analog antara 0 hingga 4095, di mana 0 sepadan dengan 0V dan 4095 hingga 3.3V. Anda juga boleh menetapkan resolusi saluran anda pada kod dan julat ADC.
Pin ESP32 ADC tidak mempunyai kelakuan linear. Anda mungkin tidak akan dapat membezakan antara 0 dan 0.1V, atau antara 3.2 dan 3.3V. Anda perlu mengingatinya apabila menggunakan pin ADC. Anda akan mendapat tingkah laku yang serupa dengan yang ditunjukkan dalam rajah berikut.Kit Permulaan Asas LAFVIN ESP32 - tingkah lakuPenukar Digital ke Analog (DAC)
Terdapat 2 x 8 bit saluran DAC pada ESP32 untuk menukar isyarat digital kepada vol analogtage output isyarat. Ini adalah saluran DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

GPIO RTC
Terdapat sokongan RTC GPIO pada ESP32. GPIO yang disalurkan ke subsistem kuasa rendah RTC boleh digunakan apabila ESP32 dalam tidur nyenyak. GPIO RTC ini boleh digunakan untuk membangunkan ESP32 daripada tidur nyenyak apabila Ultra Rendah
Pemproses bersama Kuasa (ULP) sedang berjalan. GPIO berikut boleh digunakan sebagai sumber bangun luaran.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

PWM
Pengawal PWM LED ESP32 mempunyai 16 saluran bebas yang boleh dikonfigurasikan untuk menjana isyarat PWM dengan sifat yang berbeza. Semua pin yang boleh bertindak sebagai output boleh digunakan sebagai pin PWM (GPIO 34 hingga 39 tidak boleh menjana PWM).
Untuk menetapkan isyarat PWM, anda perlu menentukan parameter ini dalam kod:

  • Kekerapan isyarat;
  • Kitaran tugas;
  • saluran PWM;
  • GPIO di mana anda ingin mengeluarkan isyarat.

I2C
ESP32 mempunyai dua saluran I2C dan sebarang pin boleh ditetapkan sebagai SDA atau SCL. Apabila menggunakan ESP32 dengan Arduino IDE, pin I2C lalai ialah:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

Jika anda ingin menggunakan pin lain apabila menggunakan perpustakaan wayar, anda hanya perlu memanggil:
Wire.begin(SDA, SCL);
SPI
Secara lalai, pemetaan pin untuk SPI ialah:

SPI DAWDLE MISO CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Mengganggu
Semua GPIO boleh dikonfigurasikan sebagai gangguan.
Pin Pengikat
Cip ESP32 mempunyai pin pengikat berikut:

  • GPIO 0 (mesti RENDAH untuk memasuki mod but)
  • GPIO 2 (mesti terapung atau RENDAH semasa but)
  • GPIO 4
  • GPIO 5 (mesti TINGGI semasa but)
  • GPIO 12 (mesti RENDAH semasa but)
  • GPIO 15 (mesti TINGGI semasa but)

Ini digunakan untuk meletakkan ESP32 ke dalam pemuat but atau mod berkelip. Pada kebanyakan papan pembangunan dengan USB/Siri terbina dalam, anda tidak perlu risau tentang keadaan pin ini. Papan meletakkan pin dalam keadaan yang betul untuk mod berkelip atau but. Maklumat lanjut mengenai Pemilihan Mod But ESP32 boleh didapati di sini.
Walau bagaimanapun, jika anda mempunyai peranti yang disambungkan kepada pin tersebut, anda mungkin menghadapi masalah untuk memuat naik kod baharu, memancarkan ESP32 dengan perisian tegar baharu atau menetapkan semula papan. Jika anda mempunyai beberapa peranti yang disambungkan kepada pin pengikat dan anda menghadapi masalah memuat naik kod atau memancarkan ESP32, ini mungkin kerana peranti tersebut menghalang ESP32 daripada memasuki mod yang betul. Baca dokumentasi Pemilihan Mod But untuk membimbing anda ke arah yang betul. Selepas menetapkan semula, berkelip atau but, pin tersebut berfungsi seperti yang diharapkan.
Pin HIGH pada Boot
Sesetengah GPIO menukar keadaan mereka kepada isyarat PWM TINGGI atau keluarkan semasa but atau set semula.
Ini bermakna jika anda mempunyai output yang disambungkan kepada GPIO ini, anda mungkin mendapat hasil yang tidak dijangka apabila ESP32 ditetapkan semula atau but.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 hingga GPIO 11 (disambungkan kepada memori denyar SPI bersepadu ESP32 – tidak disyorkan untuk digunakan).
  • GPIO 14
  • GPIO 15

Dayakan (EN)
Dayakan (EN) ialah pin daya pengatur 3.3V. Ia ditarik ke atas, jadi sambungkan ke tanah untuk melumpuhkan pengawal selia 3.3V. Ini bermakna anda boleh menggunakan pin ini yang disambungkan ke butang tekan untuk memulakan semula ESP32 anda, contohnyaample.
Arus GPIO dilukis
Arus maksimum mutlak yang dikeluarkan bagi setiap GPIO ialah 40mA mengikut bahagian "Keadaan Pengendalian Disyorkan" dalam lembaran data ESP32.
Penderia Kesan Dewan Terbina Dalam ESP32
ESP32 juga mempunyai penderia kesan dewan terbina dalam yang mengesan perubahan dalam medan magnet di persekitarannya
ESP32 Arduino IDE
Terdapat tambahan untuk Arduino IDE yang membolehkan anda memprogramkan ESP32 menggunakan Arduino IDE dan bahasa pengaturcaraannya. Dalam tutorial ini, kami akan menunjukkan kepada anda cara memasang papan ESP32 dalam Arduino IDE sama ada anda menggunakan Windows, Mac OS X atau Linux.
Prasyarat: Arduino IDE Dipasang
Sebelum memulakan prosedur pemasangan ini, anda perlu memasang Arduino IDE pada komputer anda. Terdapat dua versi Arduino IDE yang boleh anda pasang: versi 1 dan versi 2.
Anda boleh memuat turun dan memasang Arduino IDE dengan mengklik pada pautan berikut: arduino.cc/en/Utama/Perisian
Versi IDE Arduino manakah yang kami cadangkan? Pada masa ini, terdapat beberapa plugins untuk ESP32 (seperti SPIFFS FileSistem Pemalam Pemuat Naik) yang belum lagi disokong pada Arduino 2. Jadi, jika anda berhasrat untuk menggunakan pemalam SPIFFS pada masa hadapan, kami mengesyorkan memasang versi lama 1.8.X. Anda hanya perlu tatal ke bawah pada halaman perisian Arduino untuk mencarinya.
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Untuk memasang papan ESP32 dalam IDE Arduino anda, ikut arahan berikut:

  1. Dalam IDE Arduino anda, pergi ke File> KeutamaanKit Permulaan Asas LAFVIN ESP32 - Keutamaan
  2. Masukkan yang berikut ke dalam “Pengurus Lembaga Tambahan URLmedan s:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Kemudian, klik butang "OK":Kit Pemula Asas LAFVIN ESP32 - butang "OK".Nota: jika anda sudah mempunyai papan ESP8266 URL, anda boleh memisahkan URLs dengan koma seperti berikut:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Buka Pengurus Lembaga. Pergi ke Alat > Papan > Pengurus Papan…Kit Permulaan Asas LAFVIN ESP32 - EspressifCari untuk ESP32 and press install button for the “ESP32 by Espressif Systems“:Kit Permulaan Asas LAFVIN ESP32 - EspressifItu sahaja. Ia perlu dipasang selepas beberapa saat.Kit Permulaan Asas LAFVIN ESP32 - dipasang

Muat Naik Kod Ujian

Palamkan papan ESP32 pada komputer anda. Dengan Arduino IDE anda terbuka, ikuti langkah berikut:

  1. Pilih Papan anda dalam menu Alat > Papan (dalam kes saya ia ialah Modul ESP32 DEV)Kit Permulaan Asas LAFVIN ESP32 - Papan Alat
  2. Pilih Port (jika anda tidak melihat Port COM dalam IDE Arduino anda, anda perlu memasang USB CP210x ke Pemacu VCP Bridge UART):Kit Permulaan Asas LAFVIN ESP32 - Jambatan UART
  3. Buka ex berikutample bawah File > Cthamples > WiFi
    (ESP32) > WiFiScanKit Permulaan Asas LAFVIN ESP32 - WiFiScanKit Pemula Asas LAFVIN ESP32 - WiFiScan 1
  4. Lakaran baharu dibuka dalam IDE Arduino anda:Kit Pemula Asas LAFVIN ESP32 - Arduino IDE
  5. Tekan butang Muat Naik dalam IDE Arduino. Tunggu beberapa saat sementara kod menyusun dan memuat naik ke papan anda.Kit Permulaan Asas LAFVIN ESP32 - papan
  6. Jika semuanya berjalan seperti yang diharapkan, anda akan melihat "Selesai memuat naik". mesej.Kit Permulaan Asas LAFVIN ESP32 - Selesai memuat naik
  7. Buka Arduino IDE Serial Monitor pada kadar baud 115200:Kit Pemula Asas LAFVIN ESP32 - Monitor
  8. Tekan butang Dayakan on-board ESP32 dan anda akan melihat rangkaian yang tersedia berhampiran ESP32 anda:Kit Permulaan Asas LAFVIN ESP32 - Butang dayakan

Menyelesaikan masalah

Jika anda cuba memuat naik lakaran baharu ke ESP32 anda dan anda mendapat mesej ralat ini “Ralat maut berlaku: Gagal menyambung ke ESP32: Tamat masa… Menyambung…“. Ini bermakna ESP32 anda tidak berada dalam mod berkelip/memuat naik.
Mempunyai nama papan yang betul dan COM por dipilih, ikut langkah berikut:
Tahan butang "BOOT" dalam papan ESP32 andaKit Permulaan Asas LAFVIN ESP32 - “BOOT”

  • Tekan butang "Muat Naik" dalam Arduino IDE untuk memuat naik lakaran anda:Kit Permulaan Asas LAFVIN ESP32 - ICON 6
  • Selepas anda melihat "Menyambung…." mesej dalam IDE Arduino anda, lepaskan jari dari butang "BOOT":Kit Permulaan Asas LAFVIN ESP32 - “Selesai memuat naik
  • Selepas itu, anda sepatutnya melihat mesej "Selesai memuat naik".
    Itu sahaja. ESP32 anda sepatutnya mempunyai lakaran baharu yang dijalankan. Tekan butang "DAYA" untuk memulakan semula ESP32 dan jalankan lakaran baharu yang dimuat naik.
    Anda juga perlu mengulangi urutan butang itu setiap kali anda mahu memuat naik lakaran baharu.

Projek 1 ESP32 Input Output

Dalam panduan permulaan ini, anda akan belajar cara membaca input digital seperti suis butang dan mengawal output digital seperti LED menggunakan ESP32 dengan Arduino IDE.
Prasyarat
Kami akan memprogramkan ESP32 menggunakan Arduino IDE. Jadi, pastikan anda memasang alat tambah papan ESP32 sebelum meneruskan:

  • Memasang Alat Tambahan ESP32 dalam Arduino IDE

ESP32 Kawal Output Digital
Mula-mula, anda perlu menetapkan GPIO yang anda mahu kawal sebagai OUTPUT. Gunakan fungsi pinMode() seperti berikut:
pinMode(GPIO, OUTPUT);
Untuk mengawal output digital anda hanya perlu menggunakan fungsi digitalWrite(), yang diterima sebagai hujah, GPIO (nombor int) yang anda rujuk dan keadaan, sama ada HIGH atau LOW.
digitalWrite(GPIO, NEGERI);
Semua GPIO boleh digunakan sebagai output kecuali GPIO 6 hingga 11 (disambungkan kepada denyar SPI bersepadu) dan GPIO 34, 35, 36 dan 39 (input sahaja GPIO);
Ketahui lebih lanjut tentang ESP32 GPIO: Panduan Rujukan GPIO ESP32
ESP32 Baca Input Digital
Mula-mula, tetapkan GPIO yang anda ingin baca sebagai INPUT, menggunakan fungsi pinMode() seperti berikut:
pinMode(GPIO, INPUT);
Untuk membaca input digital, seperti butang, anda menggunakan fungsi digitalRead(), yang menerima sebagai hujah, GPIO (nombor int) yang anda rujuk.
digitalRead(GPIO);
Semua GPIO ESP32 boleh digunakan sebagai input, kecuali GPIO 6 hingga 11 (disambungkan kepada denyar SPI bersepadu).
Ketahui lebih lanjut tentang ESP32 GPIO: Panduan Rujukan GPIO ESP32
Projek Cthample
Untuk menunjukkan kepada anda cara menggunakan input digital dan output digital, kami akan membina projek mudah example dengan butang tekan dan LED. Kami akan membaca keadaan butang tekan dan menyalakan LED dengan sewajarnya seperti yang digambarkan dalam rajah berikut.Kit Permulaan Asas LAFVIN ESP32 - Projek Example

Bahagian Diperlukan
Berikut ialah senarai bahagian yang anda perlukan untuk membina litar:

  • ESP32 DEVKIT V1
  • LED 5 mm
  • Perintang 220 Ohm
  • Tekan butang
  • Perintang 10k Ohm
  • Papan roti
  • Wayar pelompat

Gambarajah Skema
Sebelum meneruskan, anda perlu memasang litar dengan LED dan butang tekan.
Kami akan menyambungkan LED ke GPIO 5 dan butang tekan ke GPIO 4.Kit Permulaan Asas LAFVIN ESP32 - Gambarajah SkemaKod
Buka kod Project_1_ESP32_Inputs_Outputs.ino dalam arduino IDEKit Permulaan Asas LAFVIN ESP32 - KodKit Permulaan Asas LAFVIN ESP32 - Kod 1Bagaimana Kod Berfungsi
Dalam dua baris berikut, anda mencipta pembolehubah untuk menetapkan pin:

Kit Permulaan Asas LAFVIN ESP32 - Kod BerfungsiButang disambungkan ke GPIO 4 dan LED disambungkan ke GPIO 5. Apabila menggunakan Arduino IDE dengan ESP32, 4 sepadan dengan GPIO 4 dan 5 sepadan dengan GPIO 5.
Seterusnya, anda mencipta pembolehubah untuk menahan keadaan butang. Secara lalai, ia adalah 0 (tidak ditekan).
int butangState = 0;
Dalam persediaan(), anda memulakan butang sebagai INPUT dan LED sebagai OUTPUT.
Untuk itu, anda menggunakan fungsi pinMode() yang menerima pin yang anda rujuk, dan mod: INPUT atau OUTPUT.
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Dalam gelung() ialah tempat anda membaca keadaan butang dan tetapkan LED dengan sewajarnya.
Dalam baris seterusnya, anda membaca keadaan butang dan menyimpannya dalam pembolehubah buttonState.
Seperti yang telah kita lihat sebelum ini, anda menggunakan fungsi digitalRead().
buttonState = digitalRead(buttonPin);
Pernyataan if berikut, menyemak sama ada keadaan butang adalah HIGH. Jika ya, ia menghidupkan LED menggunakan fungsi digitalWrite() yang menerima ledPin sebagai hujah dan keadaan HIGH.
jika (buttonState == TINGGI)Kit Permulaan Asas LAFVIN ESP32 - Kod Berfungsi 1Jika keadaan butang tidak TINGGI, anda mematikan LED. Hanya tetapkan LOW sebagai hujah kedua dalam fungsi digitalWrite().Kit Permulaan Asas LAFVIN ESP32 - digitalWriteMemuat naik Kod
Sebelum mengklik butang muat naik, pergi ke Alat > Papan, dan pilih papan: papan DOIT ESP32 DEVKIT V1.
Pergi ke Alat > Port dan pilih port COM yang ESP32 disambungkan. Kemudian, tekan butang muat naik dan tunggu mesej "Selesai memuat naik".Kit Permulaan Asas LAFVIN ESP32 - ICON 7Nota: Jika anda melihat banyak titik (menyambung…__…__) pada tetingkap penyahpepijatan dan mesej "Gagal untuk menyambung ke ESP32: Tamat masa menunggu pengepala paket", itu bermakna anda perlu menekan BOOT on-board ESP32 butang selepas titik
mula muncul.Menyelesaikan masalah

Demonstrasi

Selepas memuat naik kod, uji litar anda. LED anda akan menyala apabila anda menekan butang tekan:Kit Permulaan Asas LAFVIN ESP32 - DemonstrasiDan matikan apabila anda melepaskannya:Kit Permulaan Asas LAFVIN ESP32 - pusingkan

Projek 2 ESP32 Input Analog

Projek ini menunjukkan cara membaca input analog dengan ESP32 menggunakan Arduino IDE.
Bacaan analog berguna untuk membaca nilai daripada perintang boleh ubah seperti potensiometer atau penderia analog.
Input Analog (ADC)
Membaca nilai analog dengan ESP32 bermakna anda boleh mengukur vol yang berbeza-bezatagaras e antara 0 V dan 3.3 V.
Jilidtage diukur kemudiannya diberikan kepada nilai antara 0 dan 4095, di mana 0 V sepadan dengan 0, dan 3.3 V sepadan dengan 4095. Sebarang voltage antara 0 V dan 3.3 V akan diberi nilai yang sepadan di antara.Kit Pemula Asas LAFVIN ESP32 - Input AnalogADC adalah Bukan linear
Sebaik-baiknya, anda menjangkakan kelakuan linear apabila menggunakan pin ESP32 ADC.
Namun, itu tidak berlaku. Perkara yang anda akan dapat ialah tingkah laku seperti yang ditunjukkan dalam carta berikut:Kit Permulaan Asas LAFVIN ESP32 - Bukan linearTingkah laku ini bermakna ESP32 anda tidak dapat membezakan 3.3 V daripada 3.2 V.
Anda akan mendapat nilai yang sama untuk kedua-dua voltages: 4095.
Perkara yang sama berlaku untuk vol yang sangat rendahtagnilai e: untuk 0 V dan 0.1 V anda akan mendapat nilai yang sama: 0. Anda perlu mengingati perkara ini apabila menggunakan pin ADC ESP32.
Fungsi analogRead().
Membaca input analog dengan ESP32 menggunakan IDE Arduino adalah semudah menggunakan fungsi analogRead(). Ia diterima sebagai hujah, GPIO yang anda mahu baca:
analogRead(GPIO);
Hanya 15 tersedia dalam DEVKIT V1board (versi dengan 30 GPIO).
Dapatkan pinout papan ESP32 anda dan cari pin ADC. Ini diserlahkan dengan sempadan merah dalam rajah di bawah.Kit Permulaan Asas LAFVIN ESP32 - sempadanPin input analog ini mempunyai resolusi 12-bit. Ini bermakna apabila anda membaca input analog, julatnya mungkin berbeza dari 0 hingga 4095.
Nota: Pin ADC2 tidak boleh digunakan apabila Wi-Fi digunakan. Jadi, jika anda menggunakan Wi-Fi dan anda menghadapi masalah mendapatkan nilai daripada ADC2 GPIO, anda boleh mempertimbangkan untuk menggunakan ADC1 GPIO sebaliknya, yang sepatutnya menyelesaikan masalah anda.
Untuk melihat bagaimana semuanya bersatu, kami akan membuat bekas yang mudahample untuk membaca nilai analog daripada potensiometer.
Bahagian Diperlukan
Untuk bekas iniample, anda memerlukan bahagian berikut:

  • Papan ESP32 DEVKIT V1
  • Potensiometer
  • Papan roti
  • Wayar pelompat

Skema
Dawaikan potensiometer ke ESP32 anda. Pin tengah potensiometer hendaklah disambungkan kepada GPIO 4. Anda boleh menggunakan gambarajah skema berikut sebagai rujukan.Kit Permulaan Asas LAFVIN ESP32 - SkemaKod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Buka kod Project_2_ESP32_Inputs_Outputs.ino dalam arduino IDEKit Permulaan Asas LAFVIN ESP32 - Kod 2Kod ini hanya membaca nilai dari potensiometer dan mencetak nilai tersebut dalam Monitor Bersiri.
Dalam kod, anda mulakan dengan mentakrifkan GPIO yang potensiometer disambungkan. Dalam bekas iniample, GPIO 4.Kit Permulaan Asas LAFVIN ESP32 - exampleDalam persediaan(), mulakan komunikasi bersiri pada kadar baud 115200.Kit Permulaan Asas LAFVIN ESP32 - examppada 1Dalam gelung(), gunakan fungsi analogRead() untuk membaca input analog daripada potPin.Kit Permulaan Asas LAFVIN ESP32 - examppada 2Akhir sekali, cetak nilai yang dibaca daripada potensiometer dalam monitor bersiri.Kit Permulaan Asas LAFVIN ESP32 - examppada 3Muat naik kod yang diberikan kepada ESP32 anda. Pastikan anda mempunyai papan yang betul dan port COM yang dipilih dalam menu Alat.
Menguji Example
Selepas memuat naik kod dan menekan butang set semula ESP32, buka Monitor Bersiri pada kadar baud 115200. Putar potensiometer dan lihat nilai berubah.Nilai maksimum yang anda akan dapat ialah 4095 dan nilai minimum ialah 0.Kit Permulaan Asas LAFVIN ESP32 -nilai maksimum

Membungkus

Dalam artikel ini anda telah mempelajari cara membaca input analog menggunakan ESP32 dengan Arduino IDE. Secara ringkasnya:

  • Papan ESP32 DEVKIT V1 DOIT (versi dengan 30 pin) mempunyai 15 pin ADC yang boleh anda gunakan untuk membaca input analog.
  • Pin ini mempunyai resolusi 12 bit, yang bermaksud anda boleh mendapatkan nilai dari 0 hingga 4095.
  • Untuk membaca nilai dalam IDE Arduino, anda hanya menggunakan fungsi analogRead().
  • Pin ESP32 ADC tidak mempunyai kelakuan linear. Anda mungkin tidak akan dapat membezakan antara 0 dan 0.1V, atau antara 3.2 dan 3.3V. Anda perlu mengingatinya apabila menggunakan pin ADC.

Projek 3 ESP32 PWM(Output Analog)

Dalam tutorial ini kami akan menunjukkan kepada anda cara menjana isyarat PWM dengan ESP32 menggunakan Arduino IDE. Sebagai bekasampmari kita membina litar ringkas yang meredupkan LED menggunakan pengawal PWM LED ESP32.Kit Permulaan Asas LAFVIN ESP32 - AnalogOutputPengawal PWM LED ESP32
ESP32 mempunyai pengawal PWM LED dengan 16 saluran bebas yang boleh dikonfigurasikan untuk menjana isyarat PWM dengan sifat yang berbeza.
Berikut ialah langkah yang perlu anda ikuti untuk meredupkan LED dengan PWM menggunakan IDE Arduino:

  1. Pertama, anda perlu memilih saluran PWM. Terdapat 16 saluran dari 0 hingga 15.
  2. Kemudian, anda perlu menetapkan frekuensi isyarat PWM. Untuk LED, frekuensi 5000 Hz adalah baik untuk digunakan.
  3. Anda juga perlu menetapkan resolusi kitaran tugas isyarat: anda mempunyai resolusi dari 1 hingga 16 bit. Kami akan menggunakan resolusi 8-bit, yang bermaksud anda boleh mengawal kecerahan LED menggunakan nilai dari 0 hingga 255.
  4.  Seterusnya, anda perlu menentukan kepada GPIO atau GPIO yang mana isyarat akan muncul. Untuk itu anda akan menggunakan fungsi berikut:
    ledcAttachPin(GPIO, saluran)
    Fungsi ini menerima dua hujah. Yang pertama ialah GPIO yang akan mengeluarkan isyarat, dan yang kedua ialah saluran yang akan menjana isyarat.
  5. Akhir sekali, untuk mengawal kecerahan LED menggunakan PWM, anda menggunakan fungsi berikut:

ledcWrite(saluran, kitar tugas)
Fungsi ini menerima sebagai argumen saluran yang menjana isyarat PWM, dan kitaran tugas.
Bahagian Diperlukan
Untuk mengikuti tutorial ini, anda memerlukan bahagian ini:

  • Papan ESP32 DEVKIT V1
  • LED 5mm
  • Perintang 220 Ohm
  •  Papan roti
  • Wayar pelompat

Skema
Dawaikan LED ke ESP32 anda seperti dalam rajah skema berikut. LED harus disambungkan ke GPIO 4.Kit Permulaan Asas LAFVIN ESP32 - SkemaNota: anda boleh menggunakan sebarang pin yang anda mahu, asalkan ia boleh bertindak sebagai output. Semua pin yang boleh bertindak sebagai output boleh digunakan sebagai pin PWM. Untuk mendapatkan maklumat lanjut tentang GPIO ESP32, baca: Rujukan Pinout ESP32: Pin GPIO manakah yang patut anda gunakan?
Kod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Buka kod Project_3_ESP32_PWM.ino dalam arduino IDEKit Permulaan Asas LAFVIN ESP32 - Kod 3Kit Permulaan Asas LAFVIN ESP32 - Kod 4Anda mulakan dengan menentukan pin yang dipasangkan LED. Dalam kes ini, LED dipasang pada GPIO 4.Kit Permulaan Asas LAFVIN ESP32 - Kod 5Kemudian, anda menetapkan sifat isyarat PWM. Anda menentukan frekuensi 5000 Hz, pilih saluran 0 untuk menjana isyarat, dan tetapkan resolusi 8 bit. Anda boleh memilih sifat lain, berbeza daripada ini, untuk menjana isyarat PWM yang berbeza.Kit Permulaan Asas LAFVIN ESP32 - Kod 6Dalam persediaan(), anda perlu mengkonfigurasi LED PWM dengan sifat yang telah anda tentukan sebelum ini dengan menggunakan fungsi ledcSetup() yang menerima sebagai hujah, ledChannel, kekerapan dan resolusi, seperti berikut:Kit Permulaan Asas LAFVIN ESP32 - Kod 8Seterusnya, anda perlu memilih GPIO yang anda akan mendapat isyarat. Untuk itu gunakan fungsi ledcAttachPin() yang menerima GPIO sebagai argumen tempat anda ingin mendapatkan isyarat dan saluran yang menjana isyarat. Dalam bekas iniampJadi, kita akan mendapat isyarat dalam GPIO ledPin, yang sepadan dengan GPIO 4. Saluran yang menjana isyarat ialah ledChannel, yang sepadan dengan saluran 0.Kit Permulaan Asas LAFVIN ESP32 - Kod 9Dalam gelung, anda akan mengubah kitaran tugas antara 0 dan 255 untuk meningkatkan kecerahan LED.Kit Permulaan Asas LAFVIN ESP32 - kecerahanDan kemudian, antara 255 dan 0 untuk mengurangkan kecerahan.Kit Permulaan Asas LAFVIN ESP32 - kecerahan 1Untuk menetapkan kecerahan LED, anda hanya perlu menggunakan fungsi ledcWrite() yang menerima sebagai argumen saluran yang menjana isyarat dan kitaran tugas.Kit Permulaan Asas LAFVIN ESP32 - kecerahan 2Memandangkan kami menggunakan resolusi 8-bit, kitaran tugas akan dikawal menggunakan nilai dari 0 hingga 255. Ambil perhatian bahawa dalam fungsi ledcWrite() kami menggunakan saluran yang menjana isyarat, dan bukan GPIO.

Menguji Example

Muat naik kod ke ESP32 anda. Pastikan anda memilih papan dan port COM yang betul. Lihat litar anda. Anda sepatutnya mempunyai LED malap yang meningkatkan dan mengurangkan kecerahan.Kit Pemula Asas LAFVIN ESP32 - Menguji Bekasample

Projek 4 ESP32 PIR Motion Sensor

Projek ini menunjukkan cara untuk mengesan gerakan dengan ESP32 menggunakan penderia gerakan PIR. Buzzer akan membunyikan penggera apabila gerakan dikesan dan menghentikan penggera apabila tiada gerakan dikesan untuk masa pratetap (seperti 4 saat)
Cara Penderia Gerakan HC-SR501 Berfungsi
.Kit Permulaan Asas LAFVIN ESP32 - Penderia Pergerakan BerfungsiPrinsip kerja sensor HC-SR501 adalah berdasarkan perubahan sinaran inframerah pada objek bergerak. Untuk dikesan oleh sensor HC-SR501, objek mesti memenuhi dua keperluan:

  • Objek memancarkan cara inframerah.
  • Objek bergerak atau bergegar

Jadi:
Jika objek memancarkan sinar inframerah tetapi Tidak bergerak (cth, seseorang berdiri diam tanpa bergerak), ia tidak dikesan oleh sensor.
Jika objek bergerak tetapi Tidak memancarkan sinar inframerah (cth, robot atau kenderaan), ia TIDAK dikesan oleh sensor.
Memperkenalkan Pemasa
Dalam bekas iniampkami juga akan memperkenalkan pemasa. Kami mahu LED kekal menyala untuk beberapa saat yang telah ditetapkan selepas gerakan dikesan. Daripada menggunakan fungsi delay() yang menyekat kod anda dan tidak membenarkan anda melakukan apa-apa lagi untuk beberapa saat yang ditentukan, kami harus menggunakan pemasa.Kit Permulaan Asas LAFVIN ESP32 - Memperkenalkan PemasaFungsi kelewatan().
Anda sepatutnya biasa dengan fungsi delay() kerana ia digunakan secara meluas. Fungsi ini agak mudah untuk digunakan. Ia menerima nombor int tunggal sebagai hujah.
Nombor ini mewakili masa dalam milisaat program perlu menunggu sehingga beralih ke baris kod seterusnya.Kit Permulaan Asas LAFVIN ESP32 - kodApabila anda melambatkan (1000) program anda berhenti pada baris itu selama 1 saat.
delay() ialah fungsi menyekat. Fungsi menyekat menghalang program daripada melakukan perkara lain sehingga tugas tertentu itu selesai. Jika anda memerlukan berbilang tugas untuk berlaku pada masa yang sama, anda tidak boleh menggunakan delay().
Untuk kebanyakan projek, anda harus mengelak daripada menggunakan kelewatan dan sebaliknya menggunakan pemasa.
Fungsi millis().
Menggunakan fungsi yang dipanggil millis() anda boleh mengembalikan bilangan milisaat yang telah berlalu sejak program mula-mula dimulakan.Kit Permulaan Asas LAFVIN ESP32 - program mula-mula dimulakanMengapa fungsi itu berguna? Kerana dengan menggunakan beberapa matematik, anda boleh dengan mudah mengesahkan berapa lama masa telah berlalu tanpa menyekat kod anda.
Bahagian Diperlukan
Untuk mengikuti tutorial ini anda memerlukan bahagian berikut

  • Papan ESP32 DEVKIT V1
  • Penderia gerakan PIR (HC-SR501)
  • Buzzer Aktif
  • Wayar pelompat
  • Papan roti

SkemaKit Permulaan Asas LAFVIN ESP32 - Skema 1Nota: vol yang bekerjatage HC-SR501 ialah 5V. Gunakan pin Vin untuk menghidupkannya.
Kod
Sebelum meneruskan tutorial ini, anda harus memasang add-on ESP32 dalam IDE Arduino anda. Ikuti salah satu tutorial berikut untuk memasang ESP32 pada Arduino IDE, jika anda belum melakukannya. (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Buka kod Project_4_ESP32_PIR_Motion_Sensor.ino dalam arduino IDE.
Demonstrasi
Muat naik kod ke papan ESP32 anda. Pastikan anda memilih papan yang betul dan port COM. Muat naik langkah rujukan kod.
Buka Monitor Bersiri pada kadar baud 115200.Kit Permulaan Asas LAFVIN ESP32 - Demonstrasi 1Gerakkan tangan anda di hadapan penderia PIR. Buzzer harus dihidupkan, dan mesej dicetak dalam Monitor Bersiri mengatakan "Pergerakan dikesan! Penggera buzzer".
Selepas 4 saat, buzzer harus dimatikan.Kit Permulaan Asas LAFVIN ESP32 - buzzer

Projek 5 ESP32 Suis Web pelayan

Dalam projek ini, anda akan membuat kendiri web pelayan dengan ESP32 yang mengawal output (dua LED) menggunakan persekitaran pengaturcaraan Arduino IDE. The web pelayan adalah responsif mudah alih dan boleh diakses dengan mana-mana peranti sebagai pelayar pada rangkaian tempatan. Kami akan menunjukkan kepada anda cara membuat web pelayan dan cara kod berfungsi langkah demi langkah.
Projek Tamatview
Sebelum pergi terus ke projek, adalah penting untuk menggariskan apa yang kami web pelayan akan lakukan, supaya lebih mudah untuk mengikuti langkah-langkah kemudian.

  • The web pelayan yang anda akan bina mengawal dua LED yang disambungkan ke ESP32 GPIO 26 dan GPIO 27;
  • Anda boleh mengakses ESP32 web pelayan dengan menaip alamat IP ESP32 pada pelayar dalam rangkaian tempatan;
  • Dengan mengklik butang pada anda web pelayan anda boleh menukar keadaan setiap LED dengan serta-merta.

Bahagian Diperlukan
Untuk tutorial ini anda memerlukan bahagian berikut:

  • Papan ESP32 DEVKIT V1
  • LED 2x 5mm
  • 2x 200 Ohm perintang
  • Papan roti
  • Wayar pelompat

Skema
Mulakan dengan membina litar. Sambungkan dua LED ke ESP32 seperti yang ditunjukkan dalam rajah skema berikut - satu LED disambungkan ke GPIO 26, dan satu lagi ke GPIO 27.
Nota: Kami menggunakan papan ESP32 DEVKIT DOIT dengan 36 pin. Sebelum memasang litar, pastikan anda menyemak pinout untuk papan yang anda gunakan.Kit Permulaan Asas LAFVIN ESP32 - SkemaKod
Di sini kami menyediakan kod yang mencipta ESP32 web pelayan. Buka kod Project_5_ESP32_Switch _Web_Server.ino dalam arduino IDE, tetapi jangan muat naiknya lagi. Anda perlu membuat beberapa perubahan untuk menjadikannya berfungsi untuk anda.
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Menetapkan Bukti Kelayakan Rangkaian Anda
Anda perlu mengubah suai baris berikut dengan kelayakan rangkaian anda: SSID dan kata laluan. Kod ini diulas dengan baik di mana anda harus membuat perubahan.Kit Permulaan Asas LAFVIN ESP32 - Bukti Kelayakan RangkaianMemuat naik Kod
Sekarang, anda boleh memuat naik kod dan dan web pelayan akan berfungsi serta merta.
Ikuti langkah seterusnya untuk memuat naik kod ke ESP32:

  1. Palamkan papan ESP32 anda pada komputer anda;
  2. Dalam Arduino IDE pilih papan anda dalam Alat > Papan (dalam kes kami, kami menggunakan papan ESP32 DEVKIT DOIT);Kit Pemula Asas LAFVIN ESP32 - Memuat naik Kod
  3. Pilih port COM dalam Alat > Port.Kit Pemula Asas LAFVIN ESP32 - Port Alat
  4. Tekan butang Muat Naik dalam IDE Arduino dan tunggu beberapa saat sementara kod menyusun dan memuat naik ke papan anda.Kit Permulaan Asas LAFVIN ESP32 - ICON 7
  5. Tunggu mesej "Selesai memuat naik".Kit Permulaan Asas LAFVIN ESP32 - Selesai memuat naik 1

Mencari Alamat IP ESP
Selepas memuat naik kod, buka Monitor Bersiri pada kadar baud 115200.Kit Permulaan Asas LAFVIN ESP32 - Alamat IP ESPTekan butang ESP32 EN (set semula). ESP32 bersambung ke Wi-Fi, dan mengeluarkan alamat IP ESP pada Monitor Bersiri. Salin alamat IP itu, kerana anda memerlukannya untuk mengakses ESP32 web pelayan.Kit Pemula Asas LAFVIN ESP32 - web pelayanMengakses ke Web pelayan
Untuk mengakses web pelayan, buka penyemak imbas anda, tampal alamat IP ESP32, dan anda akan melihat halaman berikut.
Nota: Penyemak imbas dan ESP32 anda harus disambungkan ke LAN yang sama.Kit Pemula Asas LAFVIN ESP32 - Mengakses ke Web pelayanJika anda melihat pada Monitor Bersiri, anda boleh melihat apa yang berlaku pada latar belakang. ESP menerima permintaan HTTP daripada pelanggan baharu (dalam kes ini, penyemak imbas anda).Kit Pemula Asas LAFVIN ESP32 - Permintaan HTTPAnda juga boleh melihat maklumat lain tentang permintaan HTTP.
Demonstrasi
Kini anda boleh menguji sama ada anda web pelayan berfungsi dengan baik. Klik butang untuk mengawal LED.Kit Permulaan Asas LAFVIN ESP32 - latar belakangPada masa yang sama, anda boleh melihat pada Monitor Bersiri untuk melihat apa yang berlaku di latar belakang. Untuk exampkemudian, apabila anda mengklik butang untuk menghidupkan GPIO 26, ESP32 menerima permintaan pada /26/on URL.Kit Pemula Asas LAFVIN ESP32 - URLApabila ESP32 menerima permintaan itu, ia menghidupkan LED yang dipasang pada GPIO 26 HIDUP dan mengemas kini keadaannya pada web muka surat.Kit Pemula Asas LAFVIN ESP32 - web muka suratButang untuk GPIO 27 berfungsi dengan cara yang sama. Uji bahawa ia berfungsi dengan betul.Kit Permulaan Asas LAFVIN ESP32 - berfungsi dengan betul

Bagaimana Kod Berfungsi

Dalam bahagian ini akan melihat lebih dekat pada kod untuk melihat cara ia berfungsi.
Perkara pertama yang perlu anda lakukan ialah memasukkan perpustakaan WiFi.Kit Pemula Asas LAFVIN ESP32 - perpustakaan WiFiSeperti yang dinyatakan sebelum ini, anda perlu memasukkan ssid dan kata laluan anda dalam baris berikut di dalam petikan berganda.Kit Permulaan Asas LAFVIN ESP32 - petikan bergandaKemudian, anda tetapkan anda web pelayan ke port 80.Kit Pemula Asas LAFVIN ESP32 - web pelayanBaris berikut mencipta pembolehubah untuk menyimpan pengepala permintaan HTTP:Kit Pemula Asas LAFVIN ESP32 - HTTPrequestSeterusnya, anda mencipta pembolehubah tambahan untuk menyimpan keadaan semasa output anda. Jika anda ingin menambah lebih banyak output dan menyimpan keadaannya, anda perlu mencipta lebih banyak pembolehubah.Kit Permulaan Asas LAFVIN ESP32 - pembolehubahAnda juga perlu menetapkan GPIO kepada setiap output anda. Di sini kami menggunakan GPIO 26 dan GPIO 27. Anda boleh menggunakan mana-mana GPIO lain yang sesuai.Kit Permulaan Asas LAFVIN ESP32 - lain yang sesuaipersediaan()
Sekarang, mari kita pergi ke persediaan(). Mula-mula, kami memulakan komunikasi bersiri pada kadar baud 115200 untuk tujuan penyahpepijatan.Kit Permulaan Asas LAFVIN ESP32 - tujuanAnda juga mentakrifkan GPIO anda sebagai OUTPUT dan menetapkannya kepada RENDAH.Kit Permulaan Asas LAFVIN ESP32 - GPIO sebagai OUTPUTBaris berikut memulakan sambungan Wi-Fi dengan WiFi.begin(ssid, kata laluan), tunggu sambungan berjaya dan cetak alamat IP ESP dalam Monitor Bersiri.Kit Permulaan Asas LAFVIN ESP32 - BersiriKit Permulaan Asas LAFVIN ESP32 - Bersiri 1gelung()
Dalam gelung() kami memprogramkan perkara yang berlaku apabila pelanggan baharu membuat sambungan dengan web pelayan.
ESP32 sentiasa mendengar pelanggan masuk dengan baris berikut:Kit Permulaan Asas LAFVIN ESP32 - gelungApabila permintaan diterima daripada pelanggan, kami akan menyimpan data yang masuk. Gelung while yang berikut akan berjalan selagi pelanggan kekal berhubung. Kami tidak mengesyorkan menukar bahagian kod berikut melainkan anda tahu dengan tepat apa yang anda lakukan.Kit Permulaan Asas LAFVIN ESP32 - betul-betulKit Permulaan Asas LAFVIN ESP32 - tepat 1Kit Permulaan Asas LAFVIN ESP32 - tepat 2Bahagian seterusnya pernyataan if and else menyemak butang yang ditekan dalam anda web halaman, dan mengawal output dengan sewajarnya. Seperti yang telah kita lihat sebelum ini, kami membuat permintaan pada berbeza URLs bergantung pada butang yang ditekan.Kit Pemula Asas LAFVIN ESP32 - butang ditekanKit Permulaan Asas LAFVIN ESP32 - butang ditekan 1Untuk exampOleh itu, jika anda telah menekan butang GPIO 26 ON, ESP32 menerima permintaan pada /26/ON URL (kita dapat melihat bahawa maklumat itu pada pengepala HTTP pada Monitor Bersiri). Jadi, kita boleh menyemak sama ada pengepala mengandungi ungkapan GET /26/on. Jika ia mengandungi, kami menukar pembolehubah keadaan output26 kepada HIDUP, dan ESP32 menghidupkan LED.
Ini berfungsi sama untuk butang lain. Jadi, jika anda ingin menambah lebih banyak output, anda harus mengubah suai bahagian kod ini untuk memasukkannya.
Memaparkan HTML web muka surat
Perkara seterusnya yang perlu anda lakukan, ialah mencipta web muka surat. ESP32 akan menghantar respons kepada penyemak imbas anda dengan beberapa kod HTML untuk membina web muka surat.
The web halaman dihantar kepada klien menggunakan klien yang menyatakan ini.println(). Anda harus memasukkan perkara yang anda mahu hantar kepada klien sebagai hujah.
Perkara pertama yang perlu kami hantar adalah sentiasa baris berikut, yang menunjukkan bahawa kami menghantar HTML.Kit Permulaan Asas LAFVIN ESP32 - menghantar HTMLKemudian, baris berikut menjadikan web halaman responsif dalam mana-mana web pelayar.Kit Pemula Asas LAFVIN ESP32 - web pelayarDan yang berikut digunakan untuk menghalang permintaan pada favicon. – Anda tidak perlu risau tentang talian ini.Kit Permulaan Asas LAFVIN ESP32 - pelanggan.println

Menggayakan Web Halaman

Seterusnya, kami mempunyai beberapa teks CSS untuk menggayakan butang dan web penampilan halaman.
Kami memilih fon Helvetica, menentukan kandungan untuk dipaparkan sebagai blok dan dijajarkan di tengah.Kit Permulaan Asas LAFVIN ESP32 - Menggayakan Web HalamanKami menggayakan butang kami dengan warna #4CAF50, tanpa jidar, teks dalam warna putih dan dengan padding ini: 16px 40px. Kami juga menetapkan hiasan teks kepada tiada, menentukan saiz fon, jidar dan kursor kepada penuding.Kit Pemula Asas LAFVIN ESP32 - penunjukKami juga menentukan gaya untuk butang kedua, dengan semua sifat butang yang telah kami tentukan sebelum ini, tetapi dengan warna yang berbeza. Ini akan menjadi gaya untuk butang mati.Kit Permulaan Asas LAFVIN ESP32 - pelanggan.println 1

Menetapkan Web Tajuk Halaman Pertama
Dalam baris seterusnya anda boleh menetapkan tajuk pertama anda web muka surat. Di sini kita mempunyai "ESP32 Web Pelayan”, tetapi anda boleh menukar teks ini kepada apa sahaja yang anda suka.Kit Pemula Asas LAFVIN ESP32 - Web Tajuk HalamanMemaparkan Butang dan Keadaan Sepadan
Kemudian, anda menulis perenggan untuk memaparkan keadaan semasa GPIO 26. Seperti yang anda lihat, kami menggunakan pembolehubah output26State, supaya keadaan dikemas kini serta-merta apabila pembolehubah ini berubah.Kit Permulaan Asas LAFVIN ESP32 - perubahan berubahKemudian, kami memaparkan butang hidup atau mati, bergantung pada keadaan semasa GPIO. Jika keadaan semasa GPIO dimatikan, kami menunjukkan butang ON, jika tidak, kami memaparkan butang OFF.Kit Permulaan Asas LAFVIN ESP32 - paparkan butang OFFKami menggunakan prosedur yang sama untuk GPIO 27.
Menutup Sambungan
Akhir sekali, apabila respons tamat, kami mengosongkan pembolehubah pengepala dan menghentikan sambungan dengan klien dengan client.stop().Kit Pemula Asas LAFVIN ESP32 - Menutup Sambungan

Membungkus

Dalam tutorial ini kami telah menunjukkan kepada anda cara membina a web pelayan dengan ESP32. Kami telah menunjukkan kepada anda bekas yang mudahample yang mengawal dua LED, tetapi ideanya adalah untuk menggantikan LED tersebut dengan geganti, atau mana-mana output lain yang anda mahu kawal.

Projek 6 RGB LED Web pelayan

Dalam projek ini, kami akan menunjukkan kepada anda cara mengawal LED RGB dari jauh dengan papan ESP32 menggunakan a web pelayan dengan pemilih warna.
Projek Tamatview
Sebelum bermula, mari lihat cara projek ini berfungsi:Kit Permulaan Asas LAFVIN ESP32 - Projek Selesaiview

  • ESP32 web pelayan memaparkan pemilih warna.
  • Apabila anda memilih warna, penyemak imbas anda membuat permintaan pada a URL yang mengandungi parameter R, G dan B bagi warna yang dipilih.
  • ESP32 anda menerima permintaan dan membahagikan nilai untuk setiap parameter warna.
  • Kemudian, ia menghantar isyarat PWM dengan nilai yang sepadan kepada GPIO yang mengawal LED RGB.

Bagaimanakah LED RGB berfungsi?
Dalam LED RGB katod biasa, ketiga-tiga LED berkongsi sambungan negatif (katod). Semua yang disertakan dalam kit ialah RGB katod biasa.Kit Pemula Asas LAFVIN ESP32 - LED RGB berfungsiBagaimana untuk mencipta warna yang berbeza?
Dengan LED RGB, anda sudah tentu boleh menghasilkan cahaya merah, hijau dan biru, dan dengan mengkonfigurasi keamatan setiap LED, anda boleh menghasilkan warna lain juga.
Untuk exampOleh itu, untuk menghasilkan cahaya biru semata-mata, anda akan menetapkan LED biru kepada keamatan tertinggi dan LED hijau dan merah kepada keamatan terendah. Untuk cahaya putih, anda akan menetapkan ketiga-tiga LED kepada keamatan tertinggi.
Mencampur warna
Untuk menghasilkan warna lain, anda boleh menggabungkan tiga warna dalam keamatan yang berbeza. Untuk melaraskan keamatan setiap LED anda boleh menggunakan isyarat PWM.
Kerana LED sangat dekat antara satu sama lain, mata kita melihat hasil gabungan warna, bukannya tiga warna secara individu.
Untuk mendapatkan idea tentang cara menggabungkan warna, lihat carta berikut.
Ini ialah carta pencampuran warna yang paling mudah, tetapi memberi anda idea cara ia berfungsi dan cara menghasilkan warna yang berbeza.Kit Permulaan Asas LAFVIN ESP32 - warna berbezaBahagian Diperlukan
Untuk projek ini anda memerlukan bahagian berikut:

  • Papan ESP32 DEVKIT V1
  • LED RGB
  • 3x 220 ohm perintang
  • Wayar pelompat
  • Papan roti

SkemaKit Permulaan Asas LAFVIN ESP32 - SkemaKod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)

  • Memasang Alat Tambahan ESP32 dalam Arduino IDE

Selepas memasang litar, Buka kod
Projek_6_RGB_LED_Web_Server.ino dalam arduino IDE.
Sebelum memuat naik kod, jangan lupa untuk memasukkan bukti kelayakan rangkaian anda supaya ESP boleh menyambung ke rangkaian tempatan anda.Kit Pemula Asas LAFVIN ESP32 - rangkaian tempatanBagaimana kod berfungsi
Lakaran ESP32 menggunakan perpustakaan WiFi.h.Kit Pemula Asas LAFVIN ESP32 - perpustakaan WiFi.hBaris berikut mentakrifkan pembolehubah rentetan untuk memegang parameter R, G dan B daripada permintaan.Kit Pemula Asas LAFVIN ESP32 - String redStringEmpat pembolehubah seterusnya digunakan untuk menyahkod permintaan HTTP di kemudian hari.Kit Pemula Asas LAFVIN ESP32 - Permintaan HTTPBuat tiga pembolehubah untuk GPIO yang akan mengawal parameter jalur R, G dan B. Dalam kes ini, kami menggunakan GPIO 13, GPIO 12 dan GPIO 14.Kit Permulaan Asas LAFVIN ESP32 - GPIO perlukanGPIO ini perlu mengeluarkan isyarat PWM, jadi kita perlu mengkonfigurasi sifat PWM terlebih dahulu. Tetapkan frekuensi isyarat PWM kepada 5000 Hz. Kemudian, kaitkan saluran PWM untuk setiap warnaKit Permulaan Asas LAFVIN ESP32 - setiap warnaDan akhirnya, tetapkan resolusi saluran PWM kepada 8-bitKit Pemula Asas LAFVIN ESP32 - saluran PWMDalam persediaan(), tetapkan sifat PWM kepada saluran PWMKit Pemula Asas LAFVIN ESP32 - saluran PWMLampirkan saluran PWM pada GPIO yang sepadanKit Pemula Asas LAFVIN ESP32 - GPIO yang sepadanBahagian kod berikut memaparkan pemilih warna dalam anda web halaman dan membuat permintaan berdasarkan warna yang anda pilih.Kit Permulaan Asas LAFVIN ESP32 - dipilihKit Permulaan Asas LAFVIN ESP32 - pelanggan.printlnKit Permulaan Asas LAFVIN ESP32 - pelanggan.println 1Apabila anda memilih warna, anda menerima permintaan dengan format berikut.Kit Permulaan Asas LAFVIN ESP32 - format berikut

Jadi, kita perlu memisahkan rentetan ini untuk mendapatkan parameter R, G dan B. Parameter disimpan dalam pembolehubah redString, greenString dan blueString dan boleh mempunyai nilai antara 0 dan 255.Kit Permulaan Asas LAFVIN ESP32 - pengepalaKit Permulaan Asas LAFVIN ESP32 - pengepala 1Untuk mengawal jalur dengan ESP32, gunakan fungsi ledcWrite() untuk menjana isyarat PWM dengan nilai yang dinyahkod daripada HTTP permintaan.Kit Pemula Asas LAFVIN ESP32 - Permintaan HTTP 1Nota: ketahui lebih lanjut tentang PWM dengan ESP32: Projek 3 ESP32 PWM(Output Analog)
Untuk mengawal jalur dengan ESP8266, kita hanya perlu menggunakan
fungsi analogWrite() untuk menjana isyarat PWM dengan nilai yang dinyahkod daripada permintaan HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Kerana kita mendapat nilai dalam pembolehubah rentetan, kita perlu menukarnya kepada integer menggunakan kaedah toInt().
Demonstrasi
Selepas memasukkan bukti kelayakan rangkaian anda, pilih papan kanan dan port COM dan muat naik kod ke ESP32 anda.Muat naik langkah rujukan kod.
Selepas memuat naik, buka Monitor Bersiri pada kadar baud 115200 dan tekan butang Dayakan/Set Semula ESP. Anda harus mendapatkan alamat IP papan.Kit Pemula Asas LAFVIN ESP32 - LAN yang samaBuka penyemak imbas anda dan masukkan alamat IP ESP. Sekarang, gunakan pemilih warna untuk memilih warna untuk LED RGB.
Kemudian, anda perlu menekan butang "Tukar Warna" untuk warna berkuat kuasa.Kit Pemula Asas LAFVIN ESP32 - LED RGBUntuk mematikan LED RGB , pilih warna hitam.
Warna yang paling kuat (di bahagian atas pemilih warna), adalah yang akan menghasilkan hasil yang lebih baik.Kit Permulaan Asas LAFVIN ESP32 - hasil yang lebih baik

Projek 7 ESP32 Relay Web pelayan

Menggunakan geganti dengan ESP32 ialah cara terbaik untuk mengawal perkakas rumah AC dari jauh. Tutorial ini menerangkan cara mengawal modul geganti dengan ESP32.
Kami akan melihat bagaimana modul geganti berfungsi, cara menyambungkan geganti ke ESP32 dan membina web pelayan untuk mengawal geganti dari jauh.
Memperkenalkan Geganti
Relay ialah suis yang dikendalikan secara elektrik dan seperti mana-mana suis lain, ia boleh dihidupkan atau dimatikan, membiarkan arus mengalir atau tidak. Ia boleh dikawal dengan vol rendahtages, seperti 3.3V yang disediakan oleh ESP32 GPIO dan membolehkan kami mengawal voltan tinggitagseperti 12V, 24V atau sesalur voltage (230V di Eropah dan 120V di AS).Kit Permulaan Asas LAFVIN ESP32 - Memperkenalkan GegantiDi sebelah kiri, terdapat dua set tiga soket untuk menyambung vol tinggitages, dan pin di sebelah kanan (vol.rendahtage) sambung ke GPIO ESP32.
Sesalur Voltage SambunganKit Pemula Asas LAFVIN ESP32 - Voltage SambunganModul geganti yang ditunjukkan dalam foto sebelumnya mempunyai dua penyambung, setiap satu dengan tiga soket: biasa (COM), Normally Closed (NC) dan Normally Open (NO).

  • COM: sambungkan arus yang anda mahu kawal (utama voltagdan).
  • NC (Normally Closed): konfigurasi biasanya tertutup digunakan apabila anda mahu geganti ditutup secara lalai. NC ialah pin COM disambungkan, bermakna arus mengalir melainkan anda menghantar isyarat daripada ESP32 ke modul geganti untuk membuka litar dan menghentikan aliran semasa.
  • NO (Biasanya Terbuka): konfigurasi biasanya terbuka berfungsi sebaliknya: tiada sambungan antara pin NO dan COM, jadi litar rosak melainkan anda menghantar isyarat daripada ESP32 untuk menutup litar.

Pin KawalanKit Pemula Asas LAFVIN ESP32 - Pin KawalanVol rendahtagsisi e mempunyai satu set empat pin dan satu set tiga pin. Set pertama terdiri daripada VCC dan GND untuk menghidupkan modul, dan input 1 (IN1) dan input 2 (IN2) untuk mengawal geganti bawah dan atas, masing-masing.
Jika modul geganti anda hanya mempunyai satu saluran, anda hanya akan mempunyai satu pin IN. Jika anda mempunyai empat saluran, anda akan mempunyai empat pin IN dan seterusnya.
Isyarat yang anda hantar ke pin IN, menentukan sama ada geganti aktif atau tidak. Geganti dicetuskan apabila input berada di bawah kira-kira 2V. Ini bermakna anda akan mempunyai senario berikut:

  • Konfigurasi Biasanya Tertutup (NC):
  • Isyarat TINGGI – arus mengalir
  • Isyarat RENDAH – arus tidak mengalir
  • Konfigurasi Biasa Terbuka (NO):
  • Isyarat TINGGI – arus tidak mengalir
  • Isyarat RENDAH – arus dalam mengalir

Anda harus menggunakan konfigurasi yang biasanya tertutup apabila arus sepatutnya mengalir pada kebanyakan masa, dan anda hanya mahu menghentikannya sekali-sekala.
Gunakan konfigurasi yang biasanya terbuka apabila anda mahu arus mengalir sekali-sekala (contohnyaample, hidupkan alamp sekali-sekala).
Pemilihan Bekalan KuasaKit Pemula Asas LAFVIN ESP32 - Pemilihan Bekalan KuasaSet kedua pin terdiri daripada pin GND, VCC, dan JD-VCC.
Pin JD-VCC memberi kuasa kepada elektromagnet geganti. Perhatikan bahawa modul mempunyai penutup pelompat yang menyambungkan pin VCC dan JD-VCC; yang ditunjukkan di sini berwarna kuning, tetapi warna anda mungkin berbeza.
Dengan penutup pelompat dihidupkan, pin VCC dan JD-VCC disambungkan. Ini bermakna elektromagnet geganti dikuasakan secara langsung daripada pin kuasa ESP32, jadi modul geganti dan litar ESP32 tidak diasingkan secara fizikal antara satu sama lain.
Tanpa penutup pelompat, anda perlu menyediakan sumber kuasa bebas untuk menghidupkan elektromagnet geganti melalui pin JD-VCC. Konfigurasi itu secara fizikal mengasingkan geganti daripada ESP32 dengan optocoupler terbina dalam modul, yang menghalang kerosakan pada ESP32 sekiranya berlaku pancang elektrik.
SkemaKit Permulaan Asas LAFVIN ESP32 - SkemaAmaran: Penggunaan vol tinggitage bekalan kuasa boleh menyebabkan kecederaan serius.
Oleh itu, LED 5mm digunakan dan bukannya vol bekalan tinggitage mentol dalam eksperimen. Jika anda tidak biasa dengan sesalur voltage tanya seseorang yang ingin membantu anda. Semasa memprogramkan ESP atau pendawaian litar anda pastikan semuanya diputuskan dari sesalur kuasa voltage.Kit Permulaan Asas LAFVIN ESP32 - sesalur voltageMemasang Perpustakaan untuk ESP32
Untuk membina ini web pelayan, kami menggunakan ESPAsyncWebPustaka pelayan dan Pustaka AsyncTCP.
Memasang ESPAsyncWebPustaka pelayan
Ikuti langkah seterusnya untuk memasang ESPAsyncWebpelayan perpustakaan:

  1. Klik di sini untuk memuat turun ESPAsyncWebPustaka pelayan. Anda sepatutnya mempunyai
    folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda sepatutnya mendapat ESPAsyncWebFolder induk pelayan
  3. Namakan semula folder anda daripada ESPAsyncWebInduk pelayan kepada ESPAsyncWebpelayan
  4. Gerakkan ESPAsyncWebFolder pelayan ke folder perpustakaan pemasangan IDE Arduino anda

Sebagai alternatif, dalam IDE Arduino anda, anda boleh pergi ke Sketch > Include
Pustaka > Tambah pustaka .ZIP… dan pilih pustaka yang baru anda muat turun.
Memasang Pustaka AsyncTCP untuk ESP32
The ESPAsyncWebpelayan perpustakaan memerlukan AsyncTCP perpustakaan untuk bekerja. Ikut
langkah seterusnya untuk memasang perpustakaan itu:

  1. Klik di sini untuk memuat turun pustaka AsyncTCP. Anda sepatutnya mempunyai folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda harus mendapatkan folder AsyncTCP-master
    1. Namakan semula folder anda daripada AsyncTCP-master kepada AsyncTCP
    3. Alihkan folder AsyncTCP ke folder perpustakaan pemasangan IDE Arduino anda
    4. Akhir sekali, buka semula Arduino IDE anda

Sebagai alternatif, dalam IDE Arduino anda, anda boleh pergi ke Sketch > Include
Pustaka > Tambah pustaka .ZIP… dan pilih pustaka yang baru anda muat turun.
Kod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Selepas memasang perpustakaan yang diperlukan, Buka kod Project_7_ESP32_Relay_Web_Server.ino dalam arduino IDE.
Sebelum memuat naik kod, jangan lupa untuk memasukkan bukti kelayakan rangkaian anda supaya ESP boleh menyambung ke rangkaian tempatan anda.Kit Permulaan Asas LAFVIN ESP32 - rangkaian ocalDemonstrasi
Selepas membuat perubahan yang diperlukan, muat naik kod ke ESP32 anda.Muat naik langkah rujukan kod.
Buka Monitor Bersiri pada kadar baud 115200 dan tekan butang ESP32 EN untuk mendapatkan alamat IPnya. Kemudian, buka pelayar dalam rangkaian tempatan anda dan taip alamat IP ESP32 untuk mendapatkan akses kepada web pelayan.
Buka Monitor Bersiri pada kadar baud 115200 dan tekan butang ESP32 EN untuk mendapatkan alamat IPnya. Kemudian, buka pelayar dalam rangkaian tempatan anda dan taip alamat IP ESP32 untuk mendapatkan akses kepada web pelayan.Kit Pemula Asas LAFVIN ESP32 - web pelayanNota: Penyemak imbas dan ESP32 anda harus disambungkan ke LAN yang sama.
Anda harus mendapatkan sesuatu seperti berikut dengan sebagai dua butang sebagai bilangan geganti yang telah anda tentukan dalam kod anda.Kit Permulaan Asas LAFVIN ESP32 - telefon pintarKini, anda boleh menggunakan butang untuk mengawal geganti anda menggunakan telefon pintar anda.Kit Permulaan Asas LAFVIN ESP32 - telefon pintar 1

Project_8_Output_State_Synchronization_ Web_Pelayan

Projek ini menunjukkan cara mengawal output ESP32 atau ESP8266 menggunakan a web pelayan dan butang fizikal secara serentak. Keadaan keluaran dikemas kini pada web halaman sama ada ia ditukar melalui butang fizikal atau web pelayan.
Projek Tamatview
Mari kita lihat dengan pantas cara projek itu berfungsi.Kit Permulaan Asas LAFVIN ESP32 - Projek SelesaiviewESP32 atau ESP8266 menjadi hos a web pelayan yang membolehkan anda mengawal keadaan output;

  • Keadaan keluaran semasa dipaparkan pada web pelayan;
  • ESP juga disambungkan kepada butang tekan fizikal yang mengawal output yang sama;
  • Jika anda menukar keadaan output menggunakan butang puhs fizikal, keadaan semasanya juga dikemas kini pada web pelayan.

Secara ringkasnya, projek ini membolehkan anda mengawal output yang sama menggunakan a web pelayan dan butang tekan serentak. Apabila keadaan output berubah, web pelayan dikemas kini.
Bahagian Diperlukan
Berikut ialah senarai bahagian yang anda perlukan untuk membina litar:

  • Papan ESP32 DEVKIT V1
  • LED 5 mm
  • Perintang 220Ohm
  • Tekan butang
  • Perintang 10k Ohm
  • Papan roti
  • Wayar pelompat

SkemaKit Permulaan Asas LAFVIN ESP32 - Skema 1Memasang Perpustakaan untuk ESP32
Untuk membina ini web pelayan, kami menggunakan ESPAsyncWebPustaka pelayan dan Pustaka AsyncTCP. (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang ESPAsyncWebPustaka pelayan
Ikuti langkah seterusnya untuk memasang ESPAsyncWebPustaka pelayan:

  1. Klik di sini untuk memuat turun ESPAsyncWebPustaka pelayan. Anda sepatutnya mempunyai
    folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda sepatutnya mendapat ESPAsyncWebFolder induk pelayan
  3. Namakan semula folder anda daripada ESPAsyncWebInduk pelayan kepada ESPAsyncWebpelayan
  4. Gerakkan ESPAsyncWebFolder pelayan ke folder perpustakaan pemasangan IDE Arduino anda
    Sebagai alternatif, dalam IDE Arduino anda, anda boleh pergi ke Sketch > Include
    Pustaka > Tambah pustaka .ZIP… dan pilih pustaka yang baru anda muat turun.

Memasang Pustaka AsyncTCP untuk ESP32
ESPAsyncWebPustaka pelayan memerlukan perpustakaan AsyncTCP untuk berfungsi. Ikuti langkah seterusnya untuk memasang pustaka itu:

  1. Klik di sini untuk memuat turun pustaka AsyncTCP. Anda sepatutnya mempunyai folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda harus mendapatkan folder AsyncTCP-master
  3. Namakan semula folder anda daripada AsyncTCP-master kepada AsyncTCP
  4. Alihkan folder AsyncTCP ke folder perpustakaan pemasangan IDE Arduino anda
  5. Akhir sekali, buka semula Arduino IDE anda
    Sebagai alternatif, dalam IDE Arduino anda, anda boleh pergi ke Sketch > Include
    Pustaka > Tambah pustaka .ZIP… dan pilih pustaka yang baru anda muat turun.

Kod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Selepas memasang perpustakaan yang diperlukan, Buka kod
Project_8_Output_State_Synchronization_Web_Server.ino dalam arduino IDE.
Sebelum memuat naik kod, jangan lupa untuk memasukkan bukti kelayakan rangkaian anda supaya ESP boleh menyambung ke rangkaian tempatan anda.Kit Permulaan Asas LAFVIN ESP32 - Kod

Bagaimana Kod Berfungsi

Keadaan Butang dan Keadaan Keluaran
Pembolehubah ledState memegang keadaan output LED. Untuk lalai, apabila web pelayan bermula, ia adalah RENDAH.Kit Permulaan Asas LAFVIN ESP32 - Kod Berfungsi

ButangState dan lastButtonState digunakan untuk mengesan sama ada butang tekan ditekan atau tidak.Kit Pemula Asas LAFVIN ESP32 - ditekanButang (web pelayan)
Kami tidak memasukkan HTML untuk membuat butang pada pembolehubah index_html.
Itu kerana kami mahu dapat mengubahnya bergantung pada keadaan LED semasa yang juga boleh ditukar dengan butang tekan.
Jadi, kami telah mencipta ruang letak untuk butang %BUTTONPLACEHOLDER% yang akan digantikan dengan teks HTML untuk mencipta butang kemudian pada kod (ini dilakukan dalam fungsi pemproses()).Kit Pemula Asas LAFVIN ESP32 - ditekan 1pemproses()
Fungsi pemproses() menggantikan mana-mana ruang letak pada teks HTML dengan nilai sebenar. Pertama, ia menyemak sama ada teks HTML mengandungi sebarang
pemegang tempat %BUTTONPLACEHOLDER%.Kit Pemula Asas LAFVIN ESP32 - pemprosesKemudian, panggil fungsi theoutputState() yang mengembalikan keadaan output semasa. Kami menyimpannya dalam pembolehubah outputStateValue.Kit Pemula Asas LAFVIN ESP32 - outputStateSelepas itu, gunakan nilai itu untuk mencipta teks HTML untuk memaparkan butang dengan keadaan yang betul:Kit Permulaan Asas LAFVIN ESP32 - kod 4Permintaan HTTP GET untuk Mengubah Keadaan Output (JavaScript)
Apabila anda menekan butang, fungsi toggleCheckbox() dipanggil. Fungsi ini akan membuat permintaan pada berbeza URLs untuk menghidupkan atau mematikan LED.Kit Pemula Asas LAFVIN ESP32 - JavaScriptUntuk menghidupkan LED, ia membuat permintaan pada /update?state=1 URL:Kit Permulaan Asas LAFVIN ESP32 - elemen.disemakJika tidak, ia membuat permintaan pada /update?state=0 URL.
Permintaan HTTP GET untuk Kemas Kini Keadaan (JavaScript)
Untuk memastikan keadaan output dikemas kini pada web pelayan, kami memanggil fungsi berikut yang membuat permintaan baharu pada /state URL setiap saat.Kit Permulaan Asas LAFVIN ESP32 - Keadaan Kemas KiniKit Permulaan Asas LAFVIN ESP32 - Kemas Kini Keadaan 1Mengendalikan Permintaan
Kemudian, kita perlu mengendalikan perkara yang berlaku apabila ESP32 atau ESP8266 menerima permintaan pada URLs.
Apabila permintaan diterima pada akar /URL, kami menghantar halaman HTML serta pemproses.Kit Permulaan Asas LAFVIN ESP32 - Kendalikan PermintaanKit Permulaan Asas LAFVIN ESP32 - Kendalikan Permintaan 1Baris berikut menyemak sama ada anda menerima permintaan pada /update?state=1 atau /update?state=0 URL dan menukar ledState dengan sewajarnya.Kit Permulaan Asas LAFVIN ESP32 - ledStateKit Permulaan Asas LAFVIN ESP32 - inputParamApabila permintaan diterima di /state URL, kami menghantar keadaan output semasa:Kit Pemula Asas LAFVIN ESP32 - keadaan outputgelung()
Dalam gelung(), kami menyahlantunkan butang tekan dan menghidupkan atau mematikan LED bergantung pada nilai ledState pembolehubah.Kit Pemula Asas LAFVIN ESP32 - gelung 1Demonstrasi
Muat naik kod ke papan ESP32 anda. Muat naik langkah rujukan kod.
Kemudian, buka Monitor Bersiri pada kadar baud 115200. Tekan butang EN/RST on-board untuk mendapatkan alamat IP.Kit Permulaan Asas LAFVIN ESP32 - DemonstrasiBuka penyemak imbas pada rangkaian tempatan anda, dan taip alamat IP ESP. Anda sepatutnya mempunyai akses kepada web pelayan seperti yang ditunjukkan di bawah.
Nota: Penyemak imbas dan ESP32 anda harus disambungkan ke LAN yang sama.Kit Permulaan Asas LAFVIN ESP32 - pelayarAnda boleh menogol butang pada web pelayan untuk menghidupkan LED.Kit Pemula Asas LAFVIN ESP32 - web server 1Anda juga boleh mengawal LED yang sama dengan butang tekan fizikal. Keadaannya akan sentiasa dikemas kini secara automatik pada web pelayan.

Projek 9 ESP32 DHT11 Web pelayan

Dalam projek ini, anda akan belajar cara membina ESP32 tak segerak web pelayan dengan DHT11 yang memaparkan suhu dan kelembapan menggunakan Arduino IDE.
Prasyarat
The web pelayan kami akan membina kemas kini bacaan secara automatik tanpa perlu menyegarkan semula web muka surat.
Dengan projek ini anda akan belajar:

  • Cara membaca suhu dan kelembapan daripada penderia DHT;
  • Bina tak segerak web pelayan menggunakan ESPAsyncWebPustaka pelayan;
  • Kemas kini bacaan sensor secara automatik tanpa perlu memuat semula web muka surat.

Tak segerak Web pelayan
Untuk membina web pelayan yang akan kami gunakan ESPAsyncWebPustaka pelayan yang menyediakan cara mudah untuk membina tak segerak web pelayan. Membina tak segerak web pelayan mempunyai beberapa advantages seperti yang disebutkan dalam halaman GitHub perpustakaan, seperti:

  • "Kendalikan lebih daripada satu sambungan pada masa yang sama";
  • "Apabila anda menghantar respons, anda segera bersedia untuk mengendalikan sambungan lain semasa pelayan menguruskan menghantar respons di latar belakang";
  • "Enjin pemprosesan templat mudah untuk mengendalikan templat";

Bahagian Diperlukan
Untuk melengkapkan tutorial ini, anda memerlukan bahagian berikut:

  • papan pembangunan ESP32
  • Modul DHT11
  • Papan roti
  • Wayar pelompat

SkemaKit Permulaan Asas LAFVIN ESP32 - Skema 2Memasang Perpustakaan
Anda perlu memasang beberapa perpustakaan untuk projek ini:

Memasang Perpustakaan Sensor DHT
Untuk membaca dari sensor DHT menggunakan Arduino IDE, anda perlu memasang Perpustakaan sensor DHT. Ikuti langkah seterusnya untuk memasang perpustakaan.

  1. Klik di sini untuk memuat turun perpustakaan DHT Sensor. Anda sepatutnya mempunyai folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda akan mendapat folder DHT-sensor-library-master
  3. Namakan semula folder anda daripada DHT-sensor-library-master kepada DHT_sensor
  4. Alihkan folder DHT_sensor ke folder perpustakaan pemasangan IDE Arduino anda
  5. Akhir sekali, buka semula Arduino IDE anda

Memasang Pemacu Sensor Bersatu Adafruit
Anda juga perlu memasang Pustaka Pemacu Sensor Bersatu Adafruit untuk bekerja dengan sensor DHT. Ikuti langkah seterusnya untuk memasang perpustakaan.

  1. Klik di sini untuk memuat turun perpustakaan Adafruit Unified Sensor. Anda sepatutnya mempunyai folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda akan mendapat folder Adafruit_sensor-master
  3. Namakan semula folder anda daripada Adafruit_sensor-master kepada Adafruit_sensor
  4. Alihkan folder Adafruit_sensor ke folder perpustakaan pemasangan IDE Arduino anda
  5. Akhir sekali, buka semula Arduino IDE anda

Memasang ESPAsyncWebPustaka pelayan

Ikuti langkah seterusnya untuk memasang ESPAsyncWebpelayan perpustakaan:

  1. Klik di sini untuk memuat turun ESPAsyncWebPustaka pelayan. Anda sepatutnya mempunyai
    folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda sepatutnya
    dapatkan ESPAsyncWebFolder induk pelayan
  3. Namakan semula folder anda daripada ESPAsyncWebInduk pelayan kepada ESPAsyncWebpelayan
  4. Gerakkan ESPAsyncWebFolder pelayan ke folder perpustakaan pemasangan IDE Arduino anda

Memasang Pustaka TCP Async untuk ESP32
The ESPAsyncWebpelayan perpustakaan memerlukan AsyncTCP perpustakaan untuk bekerja. Ikuti langkah seterusnya untuk memasang pustaka itu:

  1. Klik di sini untuk memuat turun pustaka AsyncTCP. Anda sepatutnya mempunyai folder .zip dalam folder Muat Turun anda
  2. Nyahzip folder .zip dan anda harus mendapatkan folder AsyncTCP-master
  3. Namakan semula folder anda daripada AsyncTCP-master kepada AsyncTCP
  4. Alihkan folder AsyncTCP ke folder perpustakaan pemasangan IDE Arduino anda
  5. Akhir sekali, buka semula Arduino IDE anda

Kod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDE
Selepas memasang perpustakaan yang diperlukan, Buka kod
Project_9_ESP32_DHT11_Web_Server.ino dalam arduino IDE.
Sebelum memuat naik kod, jangan lupa untuk memasukkan bukti kelayakan rangkaian anda supaya ESP boleh menyambung ke rangkaian tempatan anda.Kit Permulaan Asas LAFVIN ESP32 - KodBagaimana Kod Berfungsi
Dalam perenggan berikut kami akan menerangkan cara kod berfungsi. Teruskan membaca jika anda ingin mengetahui lebih lanjut atau melompat ke bahagian Demonstrasi untuk melihat keputusan akhir.
Mengimport perpustakaan
Pertama, import perpustakaan yang diperlukan. WiFi, ESPAsyncWebPelayan dan ESPAsyncTCP diperlukan untuk membina web pelayan. Adafruit_Sensor dan perpustakaan DHT diperlukan untuk membaca daripada sensor DHT11 atau DHT22.Kit Permulaan Asas LAFVIN ESP32 - Mengimport perpustakaanKit Permulaan Asas LAFVIN ESP32 - Cara Kod BerfungsiDefinisi pembolehubah
Tentukan GPIO yang disambungkan kepada pin data DHT. Dalam kes ini, ia disambungkan kepada GPIO 4.Kit Pemula Asas LAFVIN ESP32 - Definisi pembolehubahKemudian, pilih jenis penderia DHT yang anda gunakan. Dalam bekas kitaample, kami menggunakan DHT22. Jika anda menggunakan jenis lain, anda hanya perlu menyahkomen penderia anda dan mengulas semua yang lain.Kit Pemula Asas LAFVIN ESP32 - Definisi pembolehubah 1

Buat seketika objek DHT dengan jenis dan pin yang telah kami tetapkan sebelum ini.Kit Pemula Asas LAFVIN ESP32 - Definisi pembolehubah 2Buat AsyncWebObjek pelayan pada port 80.Kit Pemula Asas LAFVIN ESP32 - Definisi pembolehubah 3Baca Fungsi Suhu dan Kelembapan
Kami telah mencipta dua fungsi: satu untuk membaca suhu Kami telah mencipta dua fungsi: satu untuk membaca suhu (readDHTTemperature()) dan satu lagi untuk membaca kelembapan (readDHTHumidity()).Kit Permulaan Asas LAFVIN ESP32 - bacaDHTHhumidityKit Pemula Asas LAFVIN ESP32 - bacaan sensorMendapatkan bacaan sensor semudah menggunakan Mendapatkan bacaan sensor semudah menggunakan kaedah readTemperature() dan readHumidity() pada objek dht.Kit Permulaan Asas LAFVIN ESP32 - objekKami juga mempunyai syarat yang mengembalikan dua sengkang (–) sekiranya sensor gagal mendapatkan bacaan.Kit Permulaan Asas LAFVIN ESP32 - bacaanBacaan dikembalikan sebagai jenis rentetan. Untuk menukar apungan kepada rentetan, gunakan fungsi String().Kit Permulaan Asas LAFVIN ESP32 - StringSecara lalai, kami membaca suhu dalam darjah Celsius. Untuk mendapatkan suhu dalam darjah Fahrenheit, ulas suhu dalam Celsius dan nyahtandakan suhu dalam Fahrenheit, supaya anda mempunyai perkara berikut:Kit Permulaan Asas LAFVIN ESP32 - FahrenheitKit Permulaan Asas LAFVIN ESP32 - Fahrenheit 1Muat naik Kod
Sekarang, muat naik kod ke ESP32 anda. Pastikan anda memilih papan yang betul dan port COM. Muat naik langkah rujukan kod.
Selepas memuat naik, buka Monitor Bersiri pada kadar baud 115200. Tekan butang set semula ESP32. Alamat IP ESP32 hendaklah dicetak dalam siri pantau.Kit Permulaan Asas LAFVIN ESP32 - Muat Naik KodDemonstrasi
Buka penyemak imbas dan taip alamat IP ESP32. awak web pelayan harus memaparkan bacaan sensor terkini.
Nota: Penyemak imbas dan ESP32 anda harus disambungkan ke LAN yang sama.
Perhatikan bahawa bacaan suhu dan kelembapan dikemas kini secara automatik tanpa perlu menyegarkan semula web muka surat.Kit Permulaan Asas LAFVIN ESP32 - Demonstrasi 1

Project_10_ESP32_OLED_Display

Projek ini menunjukkan cara menggunakan paparan SSD0.96 OLED 1306 inci dengan ESP32 menggunakan Arduino IDE.
Memperkenalkan Paparan OLED 0.96 inci
The Paparan OLED yang akan kami gunakan dalam tutorial ini ialah model SSD1306: monowarna, paparan 0.96 inci dengan 128×64 piksel seperti yang ditunjukkan dalam rajah berikut.Kit Permulaan Asas LAFVIN ESP32 - Paparan OLEDPaparan OLED tidak memerlukan lampu latar, yang menghasilkan kontras yang sangat bagus dalam persekitaran gelap. Selain itu, pikselnya menggunakan tenaga hanya apabila ia dihidupkan, jadi paparan OLED menggunakan lebih sedikit kuasa jika dibandingkan dengan paparan lain.
Oleh kerana paparan OLED menggunakan protokol komunikasi I2C, pendawaian adalah sangat mudah. Anda boleh menggunakan jadual berikut sebagai rujukan.

Pin OLED ESP32
Vin 3.3V
GND GND
SCL GPIO 22
SDA GPIO 21

SkemaKit Permulaan Asas LAFVIN ESP32 - SkemaMemasang Perpustakaan OLED SSD1306 – ESP32
Terdapat beberapa perpustakaan yang tersedia untuk mengawal paparan OLED dengan ESP32.
Dalam tutorial ini kami akan menggunakan dua perpustakaan Adafruit: Pustaka Adafruit_SSD1306 dan Pustaka Adafruit_GFX.
Ikuti langkah seterusnya untuk memasang perpustakaan tersebut.

  1. Buka Arduino IDE anda dan pergi ke Sketch > Include Library > Manage Libraries. Pengurus Perpustakaan hendaklah membuka.
  2. Taip "SSD1306" dalam kotak carian dan pasang pustaka SSD1306 daripada Adafruit.Kit Pemula Asas LAFVIN ESP32 - OLEDLibrary–
  3. Selepas memasang pustaka SSD1306 daripada Adafruit, taip "GFX" dalam kotak carian dan pasang pustaka.Kit Permulaan Asas LAFVIN ESP32 - perpustakaan
  4. Selepas memasang perpustakaan, mulakan semula IDE Arduino anda.

Kod
Selepas memasang perpustakaan yang diperlukan, Buka Project_10_ESP32_OLED_Display.ino dalam arduino IDE. kod
Kami akan memprogramkan ESP32 menggunakan Arduino IDE, jadi pastikan anda memasang alat tambah ESP32 sebelum meneruskan: (Jika anda telah melakukan langkah ini, anda boleh melangkau ke langkah seterusnya.)
Memasang Alat Tambahan ESP32 dalam Arduino IDEKit Permulaan Asas LAFVIN ESP32 - Kod 1Kit Permulaan Asas LAFVIN ESP32 - Kod 2Kit Permulaan Asas LAFVIN ESP32 - Kod 3Bagaimana Kod Berfungsi
Mengimport perpustakaan
Pertama, anda perlu mengimport perpustakaan yang diperlukan. Pustaka Wire untuk menggunakan I2C dan pustaka Adafruit untuk menulis pada paparan: Adafruit_GFX dan Adafruit_SSD1306.Kit Permulaan Asas LAFVIN ESP32 - Kod Berfungsi 1Kit Permulaan Asas LAFVIN ESP32 - Kod Berfungsi 2Mulakan paparan OLED
Kemudian, anda tentukan lebar dan tinggi OLED anda. Dalam bekas iniampOleh itu, kami menggunakan paparan OLED 128×64. Jika anda menggunakan saiz lain, anda boleh menukarnya dalam pembolehubah SCREEN_WIDTH dan SCREEN_HEIGHT.Kit Pemula Asas LAFVIN ESP32 - paparan OLEDKemudian, mulakan objek paparan dengan lebar dan ketinggian yang ditakrifkan sebelum ini dengan protokol komunikasi I2C (&Wire).Kit Pemula Asas LAFVIN ESP32 - protokol komunikasiParameter (-1) bermakna paparan OLED anda tidak mempunyai pin RESET. Jika paparan OLED anda mempunyai pin RESET, ia harus disambungkan kepada GPIO. Dalam kes itu, anda harus lulus nombor GPIO sebagai parameter.
Dalam persediaan(), mulakan Monitor Bersiri pada baud raute 115200 untuk tujuan penyahpepijatan.Kit Permulaan Asas LAFVIN ESP32 - tujuanMulakan paparan OLED dengan kaedah begin() seperti berikut:Kit Permulaan Asas LAFVIN ESP32 - paparan.mulakanKit Permulaan Asas LAFVIN ESP32 - Serial.printlnCoretan ini juga mencetak mesej pada Monitor Bersiri, sekiranya kami tidak dapat menyambung ke paparan.

Kit Permulaan Asas LAFVIN ESP32 - Serial.println 1Sekiranya anda menggunakan paparan OLED yang berbeza, anda mungkin perlu menukar alamat OLED. Dalam kes kami, alamatnya ialah 0x3C.Kit Permulaan Asas LAFVIN ESP32 - alamatSelepas memulakan paparan, tambahkan kelewatan dua saat, supaya OLED mempunyai masa yang mencukupi untuk memulakan sebelum menulis teks:Kit Permulaan Asas LAFVIN ESP32 - kelewatanPaparan yang jelas, tetapkan saiz fon, warna dan tulis teks
Selepas memulakan paparan, kosongkan penimbal paparan dengan kaedah clearDisplay():Kit Pemula Asas LAFVIN ESP32 - paparan

Sebelum menulis teks, anda perlu menetapkan saiz teks, warna dan tempat teks akan dipaparkan dalam OLED.
Tetapkan saiz fon menggunakan kaedah setTextSize():Kit Pemula Asas LAFVIN ESP32 - paparan 1Tetapkan warna fon dengan kaedah setTextColor() :
WHITE menetapkan fon putih dan latar belakang hitam.
Tentukan kedudukan di mana teks bermula menggunakan kaedah setCursor(x,y). Dalam kes ini, kami menetapkan teks untuk bermula pada koordinat (0,0) – di penjuru kiri sebelah atas.Kit Permulaan Asas LAFVIN ESP32 - setTextColor 1Akhir sekali, anda boleh menghantar teks ke paparan menggunakan kaedah println(), seperti berikutKit Permulaan Asas LAFVIN ESP32 - kod 5Kemudian, anda perlu memanggil kaedah paparan() untuk benar-benar memaparkan teks pada skrin.Kit Pemula Asas LAFVIN ESP32 - paparan

Pustaka OLED Adafruit menyediakan kaedah yang berguna untuk menatal teks dengan mudah.

  • startscrollright(0x00, 0x0F): tatal teks dari kiri ke kanan
  • startscrollleft(0x00, 0x0F): tatal teks dari kanan ke kiri
  • startscrolldiagright(0x00, 0x07): tatal teks dari sudut kiri bawah ke sudut atas kanan startscrolldiagleft(0x00, 0x07): tatal teks dari sudut kanan bawah ke sudut atas kiri

Muat naik Kod
Sekarang, muat naik kod ke ESP32 anda.Muat naik langkah rujukan kod.
Selepas memuat naik kod, OLED akan memaparkan teks menatal.Kit Permulaan Asas LAFVIN ESP32 - teks menatalLogo LAFVIN

Dokumen / Sumber

Kit Permulaan Asas LAFVIN ESP32 [pdf] Manual Arahan
Kit Permulaan Asas ESP32, ESP32, Kit Permulaan Asas, Kit Permulaan

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *