Bu 40 Dolarlık ESP32 Kartına Bir Devre Çizdim ve Yapay Zeka Açıkladı
Parmağınla bir devre çiz ve bir yapay zekâ sana onu açıklasın
Parmağınla dokunmatik ekrana çiz veya yaz, ASK’a dokun; bir yapay zekâ ne çizdiğini söyler - ekranda ve sesli olarak. Üç mod: şekli adlandır, el yazısını oku veya elle çizilmiş devreyi açıkla.
Sonuncusu en ilginç olanı. Bir pil, bir direnç ve bir LED çiz; kart bileşenleri adlandırır ve devrenin ne yaptığını söyler.
Robojax_Makerfab yazın. Kullanmanız size hiçbir şeye mal olmaz ve buradaki ücretsiz kod ve eğitimleri desteklemeye yardımcı olur.Bu projenin çözmesi gereken sorun
Bu ekrandan SPI üzerinden piksel geri okuyamazsınız ve grafik kütüphanesi normalde bellekte kopya olmadan doğrudan panele çizer - bu yüzden gönderilecek bir ekran görüntüsü yoktur. Çözüm, panele asla doğrudan çizmemektir. Bu taslak, PSRAM'da tam bir kare arabelleği tutan bir Arduino_Canvas içine çizer. Bu arabellek görüntünün kendisidir, bu yüzden fmt2jpg() onu doğrudan JPEG'e dönüştürür.
Mürekkep neden beyaz üzerine siyah
Görüş modelleri, açık bir arka plan üzerindeki koyu işaretleri tersinden çok daha güvenilir okur ve kamerada kağıt gibi görünür. Düğmeler panele değil, tuvalin dışına çizilir, bu yüzden AI'nın gördüğü görüntünün asla bir parçası olmazlar - temiz beyaz bir alan üzerinde yalnızca sizin çiziminizi alır.
Vuruşları vuruş gibi gösterme
Çizim bir nokta matrisi gibi değil de bir kalem gibi hissettirmeden önce iki şeyin doğru olması gerekiyordu:
- Tuval, her dokunma örneğinde ekrana boşaltılmaz - bu, her seferinde SPI üzerinden 115 KB iter ve her şeyi kısıtlar. Her vuruş tuvalin içine çizilir ve panele ayrı ayrı boyanır, bu neredeyse hiçbir maliyete sahip değildir.
- Bir vuruş yalnızca panel yaklaşık 70 milisaniye sessiz kaldıktan sonra biter. Dokunma denetleyicisi her yoklamada bir nokta döndürmez ve her boş yoklamayı kaldırılmış bir parmak olarak ele almak çizgiyi bağlantısız noktalara böler.
Üç mod, tek çizim
Çiziminiz cevabın altında kalır, böylece ÇİZİME DÖNe dokunabilir, modu değiştirebilir ve aynı taslak hakkında farklı bir soru sorabilirsiniz. Bir resim olarak çizgiler ve şekillerdir; bir mühendise sorulduğunda bir devre haline gelir.
İyi sonuçlar için ipuçları
- Ucuz bir kapasitif kalem, bir parmak ucundan çok daha iyi çalışır.
- Büyük çizin - tuval 240×240'tır, bu yüzden ince ayrıntı değil, birkaç büyük öğe kullanın.
- Avuç içi reddi yoktur. Elinizi camdan uzak tutun.
MaTouch AI ESP32-S3 2.8" kartı hakkında
Bu sayfadaki her proje, Makerfabs'ın MaTouch AI ESP32-S3 2.8" TFT ST7789V üzerinde çalışır. Hepsi bir arada bir karttır: renkli dokunmatik ekran, 3 megapiksel kamera, iki mikrofon ve gerçek bir hoparlör amplifikatörü, hepsi 8 MB PSRAM'lı bir ESP32-S3 tarafından sürülür. Bu kombinasyon, bu AI projelerini başka hiçbir şey takılı olmadan tek bir kartta mümkün kılan şeydir.
8 MB PSRAM, buradaki diğer tüm sayılardan daha önemlidir. Kartın aynı anda bellekte bir kamera karesi, birkaç saniyelik kaydedilmiş ses veya base64 kodlu bir fotoğraf tutmasını sağlar - bunların hiçbiri ESP32'nin normal RAM'ine sığmaz.
Üretici dokümantasyonu: Makerfabs wiki sayfası.
Anahtar özellikler
- İşlemci: ESP32-S3, çift çekirdek 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
- Bellek: 16 MB flash, 8 MB PSRAM (buradaki neredeyse her proje için gereklidir)
- Ekran: 2.8" IPS, 320×240, ST7789V sürücü, SPI
- Dokunmatik: GT911 kapasitif, aynı anda 5 parmağı izler
- Kamera: OV3660, 3 megapiksel, 2048×1536'ya kadar
- Mikrofonlar: iki INMP441 I2S dijital mikrofon (gerçek bir stereo çift)
- Hoparlör: MAX98357A sınıf-D amplifikatör, 4 Ω'da 3.2 W
- Depolama: microSD kart yuvası (SPI modu)
- Güç: USB-C, JST pil konektörü, TP4056 şarj cihazı, güç anahtarı
- Ayrıca kartta: WS2812B RGB LED, PCF8563T pil yedekli gerçek zamanlı saat ve resmi özelliklerde listelenmeyen bir MAX17048 pil yakıt göstergesi
USB CDC On Boot değerini Disabled olarak ayarlayın. Yanlış bağlantı noktasını kullanırsanız ses düzgün çalışmaz veya yüklemeler başarısız olur.Pilden mi güç veriyorsunuz? İki USB-C soketi, TP4056 şarj cihazı ve güç anahtarı, şemayla birlikte kart test makalesinde tam olarak açıklanmıştır - hangi soketin şarj ettiği ve anahtarın açık mı kapalı mı olması gerektiği dahil.
Arduino IDE ayarları
Bu ayarlar önemlidir. İnsanların bu kartla bildirdiği sorunların çoğu bunlardan birinin yanlış olmasıdır ve çekirdek sürümünü değiştirdiğinizde sıfırlanırlar, bu yüzden her değişiklikten sonra tekrar kontrol edin.
| Ayar | Değer |
|---|---|
| Kart | ESP32S3 Dev Module |
| ESP32 çekirdek sürümü | 2.0.17 |
| PSRAM | OPI PSRAM |
| Flash Boyutu | 16MB (128Mb) |
| Bölüm Şeması | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| Yükleme Hızı | 921600 |
| Yüklemeden Önce Tüm Flash'ı Sil | Disabled |
| Bağlantı Noktası | CH340K USB-C bağlantı noktası |
Gerekli kütüphaneler
Bu proje aşağıdaki tablodaki her kütüphaneye ihtiyaç duyar - ne fazla ne eksik. Çoğu doğrudan Arduino IDE'deki Tools → Manage Libraries üzerinden kurulur, ancak Arduino için GFX Library bir ZIP dosyasından kurulmalıdır. Sürüm numaraları önemlidir, bu yüzden lütfen tam olarak listelenenleri kullanın.
| Kütüphane | Sürüm | Yazar | Kurulum kaynağı |
|---|---|---|---|
| Arduino için GFX Library | 1.5.6 | moononournation | ZIP dosyası - aşağıya bakın |
| bb_captouch | 1.3.1 | Larry Bank | Library Manager |
| ArduinoJson | 7.x | Benoit Blanchon | Library Manager |
| Adafruit NeoPixel | herhangi bir güncel | Adafruit | Library Manager |
GFX kütüphanesini bir ZIP dosyasından kurma
- ZIP dosyasını indirin. Bu projenin indirmesine dahildir veya Arduino_GFX deposundan alabilirsiniz - yeşil Code düğmesine, ardından Download ZIP'e tıklayın.
- Tekrar bulabileceğiniz bir yere kaydedin. ZIP'ini açmayın.
- Arduino IDE'de Sketch → Include Library → Add .ZIP Library seçeneğine tıklayın.
- İndirdiğiniz ZIP dosyasına göz atın ve Open'a tıklayın.
- IDE onu kurar ve pencerenin altında onaylar. Zaten bir 1.6 sürümü kuruluysa, önce
Documents/Arduino/librariesklasöründen o klasörü silin, aksi takdirde ikisi çakışır.
secrets.h kurulumu
WiFi bilgileriniz ve API anahtarlarınız secrets.h dosyasına gider ve bu dosya yer tutucu değerlerle indirmeye dahildir. Arduino IDE'de bu sekmeyi açın ve kendi bilgilerinizle değiştirin.
secrets.h içinde bunu kullanın.API anahtarlarınızı alma
Bu proje bir bulut AI hizmetiyle konuşur, bu yüzden kendi anahtarınıza ihtiyacınız vardır. Bunu daha önce hiç yapmadıysanız endişelenmeyin - hizmete hesabınızı tanımlayan bir şifreyle aynı fikirdir. Bir kez, birkaç dakika sürer.
OpenAI - gözler
OpenAI, resimlere bakan görüş modelini sağlar. Yalnızca görüntü gönderen projelerin buna ihtiyacı vardır.
- platform.openai.com/api-keys adresine gidin ve oturum açın veya bir hesap oluşturun.
- Create new secret key seçeneğine tıklayın, bir ad verin ve oluşturun.
- Hemen kopyalayın - yalnızca bir kez gösterilir.
- Billing bölümünü açın ve küçük bir miktar kredi ekleyin. API ön ödemelidir ve zaten sahip olabileceğiniz herhangi bir ChatGPT aboneliğinden ayrıdır.
Anahtarı secrets.h içine OPENAI_KEY olarak koyun.
Microsoft Azure Speech - dinleme ve konuşma için
Azure, konuşmanızı metne dönüştürür ve cevabı tekrar bir sese dönüştürür. Ücretsiz katman, bu sayfadaki her şey için yeterince cömerttir.
- portal.azure.com adresine gidin ve bir Microsoft hesabıyla oturum açın (ücretsiz bir hesap yeterlidir).
- Azure'u daha önce hiç kullanmadıysanız, üç seçenek sunan bir Welcome to Azure ekranı görürsünüz. Start with an Azure free trial seçeneğini seçin - Azure'un bir şey oluşturmanıza izin vermeden önce bir aboneliğe ihtiyacınız vardır. (Öğrenciler bunun yerine Azure for Students seçmelidir: aynı sonuç, kart gerekmez.) Tamamen başka bir şey olan Manage Microsoft Entra ID seçeneğini yok sayın.
- Create a resource seçeneğine tıklayın, Speech arayın ve Microsoft tarafından yayınlanan Speech service seçeneğini seçin.
- Formu doldurun: herhangi bir kaynak grubu, herhangi bir ad ve size yakın bir Region seçin - bu bölgeyi göründüğü gibi yazın, örneğin
eastus. - Pricing tier için F0 (Free) seçeneğini seçin. Bu, her ay yaklaşık beş saat konuşma-metin ve yarım milyon karakter metin-konuşma sağlar.
- Review + create seçeneğine, ardından Create seçeneğine tıklayın. Yaklaşık bir dakika bekleyin, ardından Go to resource seçeneğine tıklayın.
- Soldaki menüde Keys and Endpoint bölümünü açın. KEY 1 ve Location/Region bilgilerini kopyalayın.
Bunları secrets.h içine AZURE_SPEECH_KEY ve AZURE_REGION olarak koyun.
Çalıştırmanın maliyeti
Çok az, ancak ücretsiz değil ve bir projeyi çalışır durumda bırakmadan önce kabaca ne harcadığınızı bilmelisiniz.
| Hizmet | Yaklaşık maliyet |
|---|---|
| OpenAI görüş | modele bağlı olarak resim başına kabaca bir veya iki sent |
| Azure Speech | ücretsiz katman ayda yaklaşık 5 saat dinleme ve 0.5 M karakter konuşma kapsar |
Fiyatlar değişir, bu yüzden bunları bir teklif olarak değil bir rehber olarak ele alın. Bu hizmetlerin her birinde ne harcadığınızı izleyebileceğiniz bir kullanım sayfası vardır ve hepsi bir harcama limiti belirlemenize izin verir - bu ilk gün yapmaya değer.
Sorun giderme
| Belirti | Neden ve çözüm |
|---|---|
| Ekran siyah kalıyor | Yanlış GFX kütüphane sürümü (1.5.6 kullanın) veya yanlış kart ayarları. |
PSRAM alloc failed |
Tools → PSRAM OPI PSRAM olarak ayarlanmamış. |
| Hiçbir şey yüklenmiyor / COM bağlantı noktası yok | Yanlış USB-C bağlantı noktası veya CH340 sürücüsü kurulu değil. |
Görseller
This code has not been parsed yet. Please return to the admin panel to parse it.
İhtiyacın olabileceğini düşünüyor
-
DiğerProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
Kaynaklar ve referanslar
-
BelgelendirmeMakerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: user's manualwiki.makerfabs.com
-
Belgelendirme
-
BelgelendirmeProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
-
DışMakerfabs websitemakerfabs.com
Dosyalar📁
Arduino Kodu (.ino)
-
makerfabs_ESP32S3_Draw_AI.zip Arduino sketchincludes the pin header and secrete header .h files
makerfabs_ESP32S3_Draw_AI.zip0.02 MB