BPI-Centi-S3是我們新推出的一款板載1.9英寸彩屏的小尺寸ESP32-S3開發(fā)板!
BPI-Centi-S3 physical photo front 1920x1080 white background1920×1080 136 KB
BPI-Centi-S3 physical photo back 3 1920x1080 white background1920×1080 233 KB
關(guān)鍵特性
- ESP32-S3,Xtensa? 32 bit LX7
- 2M PSRAM , 8M FLASH
- 2.4G WIFI ,Bluetooth 5 ,Bluetooth mesh
- GPIO , PWM , I2C , SPI , RMT , I2S , UART ,USB , JTAG
- 1 * ST7789 屏幕,1.9英寸,170*320分辨率,8bit 8080并口
- 1 * 旋轉(zhuǎn)編碼器
- 1 * 蜂鳴器
- 1 * 全彩色LED
- 1 * JST SH 1mm 4-Pin I2C連接座
- 2 * JST SH 1mm 6-Pin
- 1 * USB Type-C
- 1 * MX 1.25mm 2-Pin 電池連接座,支持充電
- 2 * M3螺絲孔
BPI-Centi-S3-V0.2-IO-1920-white1920×1394 208 KB
屏幕
BPI-Centi-S3 正面有一塊1.9英寸TFT LCD彩屏,分辨率是170*320,驅(qū)動芯片為ST7789V3, 采用8bit 并行接口與ESP32S3芯片連接。
出廠固件中已集成ST7789 C模塊 驅(qū)動,來自于:
russhughes/st7789s3_esp_lcd , The MIT License
感謝 russhughes 的開源,在他的GitHub README中可以查閱編譯方法和所有API接口。
前置準備
顯示jpg圖片
sst7789驅(qū)動庫內(nèi)有一個顯示jpg格式圖片的方法,這對于初次上手學(xué)習(xí)的我們非常友好。
jpg 方法
jpg(jpg_filename, x, y)
在給定的 x 和 y 坐標處繪制一個 JPG 文件,坐標為圖片的左上角。
此方法需要額外的 3100 字節(jié)內(nèi)存用于其工作緩沖區(qū)。
準備合適大小的jpg文件
任選自己喜歡的圖片,裁切為長320像素,寬170像素,或小于此尺寸的圖片。
圖片編輯工具在各種智能終端設(shè)備中和各種操作系統(tǒng)中都有大量可選的,可任意使用自己喜歡的工具來編輯。
這里隨意推薦一個能免費使用的 Web 在線圖片編輯工具,Pixlr X 。
將裁切好的圖片放入我們本地的MicroPython工作文件夾中,重命名為 pic_1.jpg
,上傳圖片到MicroPython設(shè)備中的方法參考 在終端中使用mpbridge 。
這里已準備一張已裁切好尺寸的圖片。
jpg 方法用例
在 main.py 腳本中使用 jpg 方法。
""" BPI-Centi-S3 170x320 ST7789 display """ import st7789 import tft_config import gc def main(): try: tft = tft_config.config(rotation=1) tft.init() tft.jpg("pic_1.jpg", 0, 0) tft.show() gc.collect() except BaseException as err: err_type = err.__class__.__name__ print('Err type:', err_type) from sys import print_exception print_exception(err) finally: tft.deinit() print("tft deinit") main()
上傳 main.py 后,將設(shè)備復(fù)位,即可在屏幕上看到圖片。
我們再多準備幾個合適大小的jpg文件,即可設(shè)計一個循環(huán),像播放幻燈片一樣在BPI-Centi-S3的屏幕上輪播圖片了。
""" BPI-Centi-S3 170x320 ST7789 display """ import st7789 import tft_config import gc import time pic_list = ["pic_1.jpg", "pic_2.jpg", "pic_3.jpg", "pic_4.jpg", "pic_5.jpg"] def main(): try: tft = tft_config.config(rotation=1) tft.init() while True: for pic in pic_list: tft.jpg(pic, 0, 0) tft.show() gc.collect() time.sleep(1) except BaseException as err: err_type = err.__class__.__name__ print('Err type:', err_type) from sys import print_exception print_exception(err) finally: tft.deinit() print("tft deinit") main()
審核編輯黃宇
-
lcd
+關(guān)注
關(guān)注
34文章
4407瀏覽量
166950 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4910瀏覽量
97080 -
banana pi
+關(guān)注
關(guān)注
1文章
107瀏覽量
2955 -
Micropython
+關(guān)注
關(guān)注
0文章
68瀏覽量
4705
發(fā)布評論請先 登錄
相關(guān)推薦
評論