Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Hari ini saya akan memperkenalkan ESP32 Wrover Kit yang modelnya berbeda dari ESP32 yang biasa saya gunakan (Wroom). Wrover adalah papan pengembangan yang memiliki banyak fitur dan cukup periferal. Saya akan menunjukkan contoh program dengan ESP32 Wrover Kit yang melibatkan penulisan pada layar dan Kartu SD, serta gambar.
Langkah 1: Pendahuluan
ESP32-Wrover-Kit memiliki banyak fitur di luar modul ESP32. Dalam kit ini, kami memiliki layar LCD 3,2 built-in, antarmuka kartu Micro-SD berkecepatan tinggi, dan antarmuka kamera VGA. Pin I / O telah dilepas dari modul ESP32 untuk perpanjangan yang mudah.
Papan ini juga memiliki jembatan USB multiprotokol canggih (FTDI FT2232HL), yang memungkinkan pengembang menggunakan JTAG secara langsung untuk men-debug ESP32 melalui antarmuka USB.
Langkah 2: Fitur Utama
• CPU Inti Ganda 240 MHz
• 4MB SPI PSRAM (ram palsu statis)
• Debugger USB-JTAG bawaan
• Layar LCD SPI 3.2”
• Antarmuka kartu Micro-SD
• Antarmuka kamera VGA
• Perluasan I / Os
www.espressif.com/en/products/hardware/esp-wrover-kit/overview
Di sini, em gambar kedua, saya menguraikan fitur dari modul ini.
Langkah 3: Demonstrasi
Langkah 4: ESP32 Wrover
Langkah 5: Perpustakaan
Unduh WROVER_KIT_LCD
perpustakaan untuk mengakses layar LCD.
Pengunduhan dapat dilakukan melalui tautan:
github.com/espressif/WROVER_KIT_LCD/archive/master.zip
Buka zip di dalam folder../Documents/Arduino/libraries/
Langkah 6: Unggah
Untuk mengupload program ke board, kita harus memilih board Adafruit ESP32 Feather.
Langkah 7: Program
Anda dapat menggunakan contoh dari perpustakaan WROVER_KIT_LCD untuk menguji papan. Untuk tujuan pengajaran, kami akan mengumpulkan tiga contoh. Ini akan melibatkan menulis / menggambar di layar dan kartu SD.
Pustaka dan Variabel
Kami kemudian akan menyertakan perpustakaan. Dua: esp_wp1.h dan esp_wp2.h, yang merupakan vektor, dan saya meninggalkan tautan unduhan di sini dan di akhir artikel ini. Kami membuat instance objek yang bertanggung jawab atas kontrol tampilan dan melakukan fungsi kontrol layar.
#include "SPI.h"#include "Adafruit_GFX.h" #include "WROVER_KIT_LCD.h" //lib de controle do display #include //lib de controle do micro-SD #include "esp_wp1.h" //imagem em HEX #termasuk "esp_wp2.h" //imagem em HEX WROVER_KIT_LCD tft; //objeto responsável pelo controle lakukan tampilan int screen = 0; //kontrol telepon
Mempersiapkan
Inisialisasi tampilan dan cat seluruh layar dengan warna yang diinginkan.
void setup() { Serial.begin(115200); tft.mulai(); //inicializa o display } //pinta toda a com a cor desejada void clearScreen(int color) { tft.fillScreen(color); //pinta toda a tela }
Lingkaran
Kami memutar kanvas ke lanskap, yang akan berubah sesuai dengan variabel kontrol. Jadi jika saya memilih switch case 0, teks akan tertulis di layar. Dalam contoh kasus sakelar 1, kami mencetak file dari gambar SD dan gambar HEX dari file (#include).
void loop(void) { tft.setRotation(1); //rotaciona para landscape //muda a tela de acordo com a variável de controle (screen) switch(screen) { case 0: writeText(); //escreve textos de diferentes na tela break; kasus 1: writeImages(); //printa arquivos de imagens do SD e imagens HEX dos arquivos (#include) break; default: layar = -1; merusak; //volta pra tela inisial } layar++; }
tulisTeks()
Merinci bagian kode ini, kita berurusan dengan lukisan layar dan posisi kursor di asal dan ukuran sumber.
//escreve textos de diferentes dan telavoid writeText() { clearScreen(WROVER_BLACK); //pinta toda a tft.setCursor(0, 0); //posisi kursor di asal tft.setTextColor(WROVER_WHITE); tft.setTextSize(1); //tamanho da fonte - 1 tft.println("Testando ESP32-WROVER-KIT"); tft.println(); tft.setTextColor(WROVER_YELLOW); tft.setTextSize(2); //tamanho da fonte - 2 tft.println("Youtube | Instagram |"); tft.println("Telegram | Facebook |"); tft.println("Forum"); tft.println(); tft.setTextColor(WROVER_RED); tft.setTextSize(3); //tamanho da fonte - 3 tft.println("Akses:"); tft.println(); tft.setTextColor(WROVER_GREENYELLOW); tft.setTextSize(4); //tamanho da fonte - 4 tft.println("FERNANDOK. COM"); penundaan(2000); }
tulisGambar ()
Dalam fungsi ini, kami menginisialisasi kartu SD dan menulis dua file-j.webp
//mencetak arquivos de imagens melakukan SD e imagens HEX dos arquivos (#include)void writeImages() { clearScreen(WROVER_WHITE); //inicializa o cartão kartu SD Serial.print("Inisialisasi kartu SD…"); if (!SD_MMC.begin()) { Serial.println("gagal!"); kembali; } Serial.println("Oke!"); tft.drawJpgFile(SD_MMC, "/fk_logo.jpg", 50, 50); //escreve um arquivo-j.webp
Langkah 8: File
Unduh file:
SAYA TIDAK
esp_wp1.h
esp_wp2.h