Saya Menggambar Sirkuit di Papan ESP32 $40 Ini dan AI Menjelaskannya
Gambarlah rangkaian dengan jarimu dan biarkan AI menjelaskannya
Gambar atau tulis di layar sentuh dengan jarimu, ketuk ASK, dan AI memberi tahu apa yang kamu gambar - di layar dan dengan suara. Tiga mode: sebutkan bentuknya, baca tulisan tangan, atau jelaskan rangkaian yang digambar tangan.
Yang terakhir itu yang menarik. Gambarlah baterai, resistor, dan LED, dan papan akan menyebutkan komponennya dan memberi tahu apa fungsi rangkaian itu.
Robojax_Makerfab saat checkout di halaman produk MaTouch AI ESP32-S3. Tidak ada biaya apa pun untuk menggunakannya, dan ini membantu mendukung kode dan tutorial gratis di sini.Masalah yang harus dipecahkan proyek ini
Kamu tidak dapat membaca piksel kembali dari layar ini melalui SPI, dan pustaka grafis biasanya menggambar langsung ke panel tanpa salinan di memori - jadi tidak ada tangkapan layar untuk dikirim ke mana pun. Solusinya adalah jangan pernah menggambar langsung ke panel. Sketsa ini menggambar ke dalam Arduino_Canvas, yang menyimpan framebuffer penuh di PSRAM. Buffer itu adalah gambarnya, jadi fmt2jpg() mengubahnya langsung menjadi JPEG.
Mengapa tintanya hitam di atas putih
Model visi membaca tanda gelap di latar terang jauh lebih andal daripada sebaliknya, dan itu terlihat seperti kertas di kamera. Tombol-tombol digambar di panel, bukan di kanvas, sehingga tidak pernah menjadi bagian dari gambar yang dilihat AI - AI hanya mendapatkan gambarmu di bidang putih bersih.
Membuat goresan terlihat seperti goresan
Dua hal harus benar sebelum menggambar terasa seperti pena, bukan matriks titik:
- Kanvas tidak disiram ke layar pada setiap sampel sentuhan - itu mendorong 115 KB melalui SPI setiap kali dan memperlambat semuanya. Setiap goresan digambar ke kanvas dan dicat di panel secara terpisah, yang hampir tidak memakan biaya apa pun.
- Sebuah goresan hanya berakhir setelah panel diam selama sekitar 70 milidetik. Pengontrol sentuh tidak mengembalikan titik pada setiap polling, dan memperlakukan setiap polling kosong sebagai jari yang terangkat memecah garis menjadi titik-titik yang terputus.
Tiga mode, satu gambar
Gambarmu tetap ada di bawah jawaban, jadi kamu dapat mengetuk BACK TO DRAW, mengubah mode, dan mengajukan pertanyaan berbeda tentang sketsa yang sama. Sebagai gambar, itu adalah garis dan bentuk; ditanya sebagai insinyur, itu menjadi rangkaian.
Tips untuk hasil yang baik
- Stylus kapasitif murah bekerja jauh lebih baik daripada ujung jari.
- Gambar besar - kanvasnya 240×240, jadi beberapa elemen besar, bukan detail halus.
- Tidak ada penolakan telapak tangan. Jauhkan tanganmu dari kaca.
Tentang papan MaTouch AI ESP32-S3 2.8"
Setiap proyek di halaman ini berjalan di MaTouch AI ESP32-S3 2.8" TFT ST7789V dari Makerfabs. Ini adalah papan all-in-one: layar sentuh berwarna, kamera 3 megapiksel, dua mikrofon, dan amplifier speaker sungguhan, semuanya digerakkan oleh ESP32-S3 dengan 8 MB PSRAM. Kombinasi itulah yang membuat proyek AI ini mungkin dilakukan di satu papan tanpa tambahan apa pun.
8 MB PSRAM lebih penting daripada angka lainnya di sini. Itulah yang memungkinkan papan menyimpan bingkai kamera, beberapa detik audio yang direkam, atau foto berenkode base64 di memori secara bersamaan - tidak ada yang muat di RAM normal ESP32.
Dokumentasi pabrikan: halaman wiki Makerfabs.
Spesifikasi utama
- Prosesor: ESP32-S3, dual core 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
- Memori: 16 MB flash, 8 MB PSRAM (diperlukan oleh hampir setiap proyek di sini)
- Layar: 2.8" IPS, 320×240, driver ST7789V, SPI
- Sentuh: GT911 kapasitif, melacak 5 jari sekaligus
- Kamera: OV3660, 3 megapiksel, hingga 2048×1536
- Mikrofon: dua mikrofon digital I2S INMP441 (pasangan stereo asli)
- Speaker: amplifier kelas-D MAX98357A, 3.2 W ke 4 Ω
- Penyimpanan: slot kartu microSD (mode SPI)
- Daya: USB-C, konektor baterai JST, pengisi daya TP4056, sakelar daya
- Juga di papan: LED RGB WS2812B, jam waktu nyata bertenaga baterai PCF8563T, dan pengukur bahan bakar baterai MAX17048 yang tidak tercantum dalam spesifikasi resmi
USB CDC On Boot ke Disabled. Gunakan port yang salah dan audio akan bermasalah atau unggahan akan gagal.Memberi daya dari baterai? Kedua soket USB-C, pengisi daya TP4056, dan sakelar daya dijelaskan sepenuhnya, dengan skema, di artikel uji papan — termasuk soket mana yang mengisi daya dan apakah sakelar harus menyala atau mati.
Pengaturan Arduino IDE
Pengaturan ini penting. Sebagian besar masalah yang dilaporkan orang dengan papan ini adalah salah satu dari ini yang salah, dan mereka kembali ke default saat kamu mengubah versi inti, jadi periksa lagi setelah perubahan apa pun.
| Pengaturan | Nilai |
|---|---|
| Board | ESP32S3 Dev Module |
| Versi inti ESP32 | 2.0.17 |
| PSRAM | OPI PSRAM |
| Ukuran Flash | 16MB (128Mb) |
| Skema Partisi | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| Kecepatan Unggah | 921600 |
| Hapus Semua Flash Sebelum Unggah | Disabled |
| Port | port USB-C CH340K |
Pustaka yang diperlukan
Proyek ini membutuhkan setiap pustaka dalam tabel di bawah - tidak lebih, tidak kurang. Sebagian besar terinstal langsung dari Tools → Manage Libraries di Arduino IDE, tetapi GFX Library for Arduino harus diinstal dari file ZIP. Nomor versi penting, jadi gunakan persis yang tercantum.
| Pustaka | Versi | Penulis | Instal dari |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | File ZIP - lihat di bawah |
| bb_captouch | 1.3.1 | Larry Bank | Library Manager |
| ArduinoJson | 7.x | Benoit Blanchon | Library Manager |
| Adafruit NeoPixel | versi terbaru apa pun | Adafruit | Library Manager |
Menginstal pustaka GFX dari file ZIP
- Unduh ZIP-nya. Itu termasuk dalam unduhan proyek ini, atau kamu bisa mendapatkannya dari repositori Arduino_GFX - klik tombol hijau Code, lalu Download ZIP.
- Simpan di tempat yang bisa kamu temukan lagi. Jangan unzip.
- Di Arduino IDE, klik Sketch → Include Library → Add .ZIP Library.
- Cari file ZIP yang kamu unduh dan klik Open.
- IDE menginstalnya dan mengonfirmasi di bagian bawah jendela. Jika kamu sudah memiliki versi 1.6 yang terinstal, hapus folder itu dari
Documents/Arduino/librariesterlebih dahulu, atau keduanya akan bertentangan.
Menyiapkan secrets.h
Detail WiFi dan kunci API apa pun masuk ke secrets.h, yang termasuk dalam unduhan dengan nilai placeholder. Buka tab itu di Arduino IDE dan ganti dengan milikmu sendiri.
secrets.h.Mendapatkan kunci API-mu
Proyek ini berbicara ke layanan AI cloud, jadi kamu memerlukan kunci sendiri. Jika kamu belum pernah melakukan ini sebelumnya, jangan khawatir - ini sama seperti kata sandi yang mengidentifikasi akunmu ke layanan. Butuh beberapa menit, sekali saja.
OpenAI - matanya
OpenAI menyediakan model visi yang melihat gambar. Hanya proyek yang mengirim gambar yang memerlukan ini.
- Buka platform.openai.com/api-keys dan masuk atau buat akun.
- Klik Create new secret key, beri nama, dan buat.
- Salin segera - hanya ditampilkan sekali.
- Buka Billing dan tambahkan sejumlah kecil kredit. API ini prabayar dan terpisah dari langganan ChatGPT apa pun yang mungkin sudah kamu miliki.
Masukkan kunci ke secrets.h sebagai OPENAI_KEY.
Microsoft Azure Speech - untuk mendengarkan dan berbicara
Azure mengubah ucapanmu menjadi teks dan mengubah jawaban kembali menjadi suara. Tingkat gratisnya cukup murah hati untuk semua yang ada di halaman ini.
- Buka portal.azure.com dan masuk dengan akun Microsoft (akun gratis tidak masalah).
- Jika kamu belum pernah menggunakan Azure sebelumnya, kamu akan melihat layar Welcome to Azure yang menawarkan tiga pilihan. Pilih Start with an Azure free trial - kamu perlu langganan sebelum Azure mengizinkanmu membuat apa pun. (Pelajar harus memilih Azure for Students sebagai gantinya: hasil yang sama, tanpa kartu yang diperlukan.) Abaikan Manage Microsoft Entra ID, yang merupakan hal yang sama sekali berbeda.
- Klik Create a resource, cari Speech, dan pilih Speech service yang diterbitkan oleh Microsoft.
- Isi formulir: grup sumber daya apa pun, nama apa pun, dan pilih Region yang dekat denganmu - tulis region itu persis seperti yang muncul, misalnya
eastus. - Untuk Pricing tier pilih F0 (Free). Itu memungkinkan sekitar lima jam ucapan-ke-teks dan setengah juta karakter teks-ke-ucapan setiap bulan.
- Klik Review + create, lalu Create. Tunggu sekitar satu menit, lalu klik Go to resource.
- Di menu kiri buka Keys and Endpoint. Salin KEY 1 dan Location/Region.
Masukkan itu ke secrets.h sebagai AZURE_SPEECH_KEY dan AZURE_REGION.
Berapa biaya untuk menjalankannya
Sangat sedikit, tetapi tidak gratis, dan kamu harus tahu kira-kira berapa yang kamu belanjakan sebelum meninggalkan proyek berjalan.
| Layanan | Perkiraan biaya |
|---|---|
| OpenAI vision | kira-kira satu atau dua sen per gambar, tergantung modelnya |
| Azure Speech | tingkat gratis mencakup sekitar 5 jam mendengarkan dan 0.5 M karakter berbicara per bulan |
Harga berubah, jadi anggap ini sebagai panduan, bukan kutipan. Setiap layanan ini memiliki halaman penggunaan tempat kamu dapat melihat apa yang telah kamu belanjakan, dan semuanya memungkinkanmu menetapkan batas pengeluaran - yang layak dilakukan di hari pertama.
Pemecahan masalah
| Gejala | Penyebab dan perbaikan |
|---|---|
| Layar tetap hitam | Versi pustaka GFX salah (gunakan 1.5.6) atau pengaturan papan salah. |
PSRAM alloc failed |
Tools → PSRAM tidak diatur ke OPI PSRAM. |
| Tidak ada yang diunggah / tidak ada port COM | Port USB-C salah, atau driver CH340 tidak terinstal. |
Gambar
This code has not been parsed yet. Please return to the admin panel to parse it.
Hal-hal yang mungkin Anda butuhkan
-
LainnyaProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
Sumber daya & referensi
-
DokumentasiMakerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: user's manualwiki.makerfabs.com
-
Dokumentasi
-
DokumentasiProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
-
EksternalMakerfabs websitemakerfabs.com
Berkas📁
Kode Arduino (.ino)
-
makerfabs_ESP32S3_Draw_AI.zip Arduino sketchincludes the pin header and secrete header .h files
makerfabs_ESP32S3_Draw_AI.zip0.02 MB