我喺呢塊$40 ESP32板上面畫咗個電路,而AI就解釋咗佢
用手指畫個電路,AI幫你解釋佢係咩
用手指喺觸控屏上面畫或者寫嘢,㩒ASK掣,AI就會話畀你知你畫咗啲乜——喺螢幕上面顯示,仲會出聲講出嚟。有三種模式:認形狀、讀手寫字、或者解釋手畫嘅電路。
最後嗰種最有趣。畫個電池、一個電阻同一個LED,塊板就會講出啲零件係咩,仲會話畀你知個電路做啲乜。
Robojax_Makerfab。你用佢唔使額外畀錢,而且可以支持呢度嘅免費代碼同教學。呢個項目要解決嘅問題
你冇辦法透過SPI由呢個顯示屏讀返像素出嚟,而圖形庫通常直接畫落面板度,冇任何記憶體副本——所以冇截圖可以送去任何地方。解決方法係永遠唔好直接畫落面板度。呢個草圖畫入一個Arduino_Canvas,佢會喺PSRAM度保留一個完整嘅幀緩衝區。嗰個緩衝區就係個圖像,所以fmt2jpg()可以直接將佢轉做JPEG。
點解墨水係黑底白字
視覺模型讀淺色背景上嘅深色標記,可靠程度遠高過相反情況,而且喺鏡頭睇落似紙。按鈕係畫喺面板度而唔係畫入畫布度,所以佢哋永遠唔會係AI見到嘅圖像一部分——佢只會見到你喺乾淨白色背景上嘅畫。
令筆觸睇落似筆觸
要令畫畫感覺似用筆而唔係點陣,有兩樣嘢一定要做啱:
- 畫布唔會每次觸摸取樣都刷新去屏幕——咁樣每次會推115 KB過SPI,搞到所有嘢變慢。每一筆都係畫入畫布,然後分別畫上面板,呢個成本幾乎係零。
- 一筆只會喺面板靜止大約70毫秒之後先至結束。觸摸控制器唔係每次輪詢都會返回一個點,如果將每次空輪詢當成手指抬起,就會將條線斷開做唔相連嘅點。
三個模式,一個圖畫
你嘅圖畫會喺答案下面保留住,所以你可以㩒返回畫畫,轉模式,然後對同一幅草圖問另一個問題。作為一幅圖,佢係線條同形狀;以工程師身份問,佢就變成一個電路。
攞好結果嘅貼士
- 平價電容觸控筆比手指好用好多。
- 畫大啲——畫布係240×240,所以要幾個大元素,唔好要精細細節。
- 冇手掌誤觸抑制。手唔好掂到玻璃。
關於MaTouch AI ESP32-S3 2.8"板
呢頁嘅每個項目都係喺Makerfabs嘅MaTouch AI ESP32-S3 2.8" TFT ST7789V上面運行。佢係一塊全合一板:彩色觸控屏、3百萬像素相機、兩個咪高峰同一個真正嘅喇叭放大器,全部由一個有8 MB PSRAM嘅ESP32-S3驅動。呢個組合就係令呢啲AI項目可以喺一塊板度實現,唔使加任何其他嘢。
8 MB嘅PSRAM比呢度任何其他數字都重要。佢令塊板可以同時喺記憶體度保存一個相機幀、幾秒錄音或者一個base64編碼嘅相——呢啲嘢冇一樣可以放入ESP32嘅正常RAM度。
製造商文件:Makerfabs wiki頁面。
主要規格
- 處理器: ESP32-S3,雙核240 MHz,WiFi 2.4 GHz + 藍牙5.0
- 記憶體: 16 MB快閃,8 MB PSRAM(呢度幾乎每個項目都需要)
- 顯示屏: 2.8" IPS,320×240,ST7789V驅動器,SPI
- 觸控: GT911電容式,同時追蹤5隻手指
- 相機: OV3660,3百萬像素,最高2048×1536
- 咪高峰: 兩個INMP441 I2S數碼咪(真正嘅立體聲對)
- 喇叭: MAX98357A D類放大器,4 Ω輸出3.2 W
- 儲存: microSD卡槽(SPI模式)
- 電源: USB-C、JST電池連接器、TP4056充電器、電源開關
- 板上仲有: WS2812B RGB LED、PCF8563T電池備用實時時鐘,同一個冇喺官方規格列出嘅MAX17048電池電量計
USB CDC On Boot設做Disabled。用錯埠嘅話音訊會出問題或者上傳會失敗。想用電池供電? 兩個USB-C插座、TP4056充電器同電源開關喺板測試文章度有完整解釋,連埋電路圖——包括邊個插座負責充電,同埋開關應該開定關。
Arduino IDE設定
呢啲設定好重要。大部分人報告呢塊板嘅問題都係其中一樣設錯,而且佢哋喺你轉核心版本時會重置,所以任何改動之後要再檢查一次。
| 設定 | 數值 |
|---|---|
| 板 | ESP32S3 Dev Module |
| ESP32核心版本 | 2.0.17 |
| PSRAM | OPI PSRAM |
| 快閃大小 | 16MB (128Mb) |
| 分區方案 | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| 上傳速度 | 921600 |
| 上傳前清除所有快閃 | Disabled |
| 埠 | CH340K USB-C埠 |
所需函式庫
呢個項目需要下表嘅每個函式庫——唔多唔少。大部分可以直接由Arduino IDE嘅Tools → Manage Libraries安裝,但GFX Library for Arduino一定要由ZIP檔案安裝。版本號好重要,請用列表入面嘅確切版本。
| 函式庫 | 版本 | 作者 | 安裝來源 |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | ZIP檔案 - 見下面 |
| bb_captouch | 1.3.1 | Larry Bank | Library Manager |
| ArduinoJson | 7.x | Benoit Blanchon | Library Manager |
| Adafruit NeoPixel | 任何近期版本 | Adafruit | Library Manager |
由ZIP檔案安裝GFX函式庫
- 下載ZIP。佢包含喺呢個項目嘅下載入面,或者你可以由Arduino_GFX儲存庫攞——㩒綠色Code按鈕,然後㩒Download ZIP。
- 將佢保存喺一個你搵得返嘅地方。唔好解壓佢。
- 喺Arduino IDE度,㩒Sketch → Include Library → Add .ZIP Library。
- 瀏覽到你下載嘅ZIP檔案,然後㩒Open。
- IDE會安裝佢並喺視窗底部確認。如果你已經裝咗1.6版本,先刪除
Documents/Arduino/libraries入面嗰個資料夾,否則兩個會衝突。
設定secrets.h
你嘅WiFi資料同任何API金鑰要放入secrets.h,佢包含喺下載入面,有預設值。喺Arduino IDE打開嗰個分頁,將佢哋換成你自己嘅。
secrets.h用嗰個。攞你嘅API金鑰
呢個項目會同雲端AI服務通訊,所以你需要自己嘅金鑰。如果你從來未做過,唔使擔心——佢同密碼一樣,用嚟向服務識別你嘅帳戶。做一次,幾分鐘就搞掂。
OpenAI - 對眼
OpenAI提供睇相嘅視覺模型。只有會傳送圖像嘅項目先需要呢個。
- 去platform.openai.com/api-keys登入或者開帳戶。
- 㩒Create new secret key,畀佢一個名,然後建立。
- 即刻複製佢——佢只會顯示一次。
- 打開Billing,加少量信用額。API係預付嘅,同你可能有嘅任何ChatGPT訂閱分開。
將金鑰放入secrets.h做OPENAI_KEY。
Microsoft Azure Speech - 用嚟聽同講
Azure將你嘅語音轉做文字,再將答案轉返做聲音。免費層夠晒呢頁所有嘢用。
- 去portal.azure.com用Microsoft帳戶登入(免費帳戶都得)。
- 如果你從來未用過Azure,你會見到一個Welcome to Azure畫面,有三個選項。揀Start with an Azure free trial——你需要一個訂閱,Azure先至畀你建立任何嘢。(學生應該改為揀Azure for Students:結果一樣,唔使信用卡。)忽略Manage Microsoft Entra ID,嗰個係完全另一樣嘢。
- 㩒Create a resource,搜尋Speech,然後揀Microsoft發佈嘅Speech service。
- 填表格:任何資源群組、任何名,然後揀一個近你嘅Region——將嗰個區域照樣寫低,例如
eastus。 - 對於Pricing tier,揀F0 (Free)。咁每個月大約允許五個鐘語音轉文字同五十萬字符文字轉語音。
- 㩒Review + create,然後㩒Create。等大約一分鐘,然後㩒Go to resource。
- 喺左邊選單打開Keys and Endpoint。複製KEY 1同Location/Region。
將嗰啲放入secrets.h做AZURE_SPEECH_KEY同AZURE_REGION。
運行成本
好少,但唔係免費,你應該喺放一個項目運行之前大概知道你會使幾多錢。
| 服務 | 大約成本 |
|---|---|
| OpenAI視覺 | 每張相大約一兩仙,視乎模型而定 |
| Azure Speech | 免費層每個月覆蓋大約5個鐘聆聽同0.5 M字符講嘢 |
價格會變,所以將呢啲當做參考而唔係報價。呢啲服務每個都有使用頁面,你可以睇住自己使咗幾多,而且全部都可以設定使費上限——呢個值得喺第一日就做。
疑難排解
| 症狀 | 原因同解決方法 |
|---|---|
| 屏幕保持黑色 | GFX函式庫版本錯(用1.5.6)或者板設定錯。 |
PSRAM alloc failed |
Tools → PSRAM冇設做OPI PSRAM。 |
| 上傳唔到 / 冇COM埠 | 用錯USB-C埠,或者CH340驅動程式未安裝。 |
圖片
This code has not been parsed yet. Please return to the admin panel to parse it.
你可能需要嘅嘢
-
其他Product page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
資源與參考資料
-
文件记录Makerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: user's manualwiki.makerfabs.com
-
文件记录
-
文件记录Product page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
-
外部Makerfabs websitemakerfabs.com
文件📁
Arduino 代碼 (.ino)
-
makerfabs_ESP32S3_Draw_AI.zip Arduino sketchincludes the pin header and secrete header .h files
makerfabs_ESP32S3_Draw_AI.zip0.02 MB