BPI-Centi-S3是我們新推出的一款板載1.9英寸彩屏的小尺寸ESP32-S3開發板!
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
關鍵特性
- 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 * 旋轉編碼器
- 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,驅動芯片為ST7789V3, 采用8bit 并行接口與ESP32S3芯片連接。
出廠固件中已集成ST7789 C模塊 驅動,來自于:
russhughes/st7789s3_esp_lcd , The MIT License
感謝 russhughes 的開源,在他的GitHub README中可以查閱編譯方法和所有API接口。
前置準備
顯示jpg圖片
sst7789驅動庫內有一個顯示jpg格式圖片的方法,這對于初次上手學習的我們非常友好。
jpg 方法
jpg(jpg_filename, x, y)
在給定的 x 和 y 坐標處繪制一個 JPG 文件,坐標為圖片的左上角。
此方法需要額外的 3100 字節內存用于其工作緩沖區。
準備合適大小的jpg文件
任選自己喜歡的圖片,裁切為長320像素,寬170像素,或小于此尺寸的圖片。
圖片編輯工具在各種智能終端設備中和各種操作系統中都有大量可選的,可任意使用自己喜歡的工具來編輯。
這里隨意推薦一個能免費使用的 Web 在線圖片編輯工具,Pixlr X 。
將裁切好的圖片放入我們本地的MicroPython工作文件夾中,重命名為 pic_1.jpg
,上傳圖片到MicroPython設備中的方法參考 在終端中使用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 后,將設備復位,即可在屏幕上看到圖片。
我們再多準備幾個合適大小的jpg文件,即可設計一個循環,像播放幻燈片一樣在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
+關注
關注
34文章
4424瀏覽量
167405 -
開發板
+關注
關注
25文章
5032瀏覽量
97375 -
banana pi
+關注
關注
1文章
113瀏覽量
3001 -
Micropython
+關注
關注
0文章
68瀏覽量
4731
發布評論請先 登錄
相關推薦
評論