生活随笔
收集整理的這篇文章主要介紹了
又拿下一块屏幕,中景园2.08寸OLED SH1122 带字库芯片 GT30L32S4W
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
沒圖沒真相,一直知道有字庫芯片這么個(gè)東西,終于找時(shí)間下手試了試,還算比較好用,就是開始賣家資料給錯(cuò)了白浪費(fèi)倆小時(shí)。。。
sh1122 剛好mpy論壇有程序,直接白嫖
字庫芯片 參照我徒弟的庫,簡單重新寫了下
難點(diǎn)在于frambuf的轉(zhuǎn)換,如何從單色轉(zhuǎn)成4位灰度啊,我沒找到,于是不得不重新自己寫了個(gè)函數(shù),我水平卻是不大行,能用但是感覺效率比較低下,有點(diǎn)慢。
上個(gè)測試代碼:
from machine
import Pin
, SoftSPI
from sh1122
import SH1122_SPI
import framebuf
import time
from GT30L
import GT30L32S4W
import fonttransspi
=SoftSPI
(baudrate
=5000000, sck
=Pin
(23), mosi
=Pin
(22),miso
=Pin
(18))
oled
= SH1122_SPI
(256, 64, spi
, dc
=Pin
(26, Pin
.OUT
), res
=Pin
(25, Pin
.OUT
), cs
=Pin
(27, Pin
.OUT
))
fontlib
=GT30L32S4W
(spi
,cs
=Pin
(5, Pin
.OUT
))chstr
=b'\xce\xd2\xbf\xcf\xb6\xa8\xd4\xda\xbc\xb8\xb0\xd9\xc4\xea\xc7\xb0\xbe\xcd\xcb\xb5\xb9\xfd\xb0\xae\xc4\xe3'
chstr2
=b'\xd6\xbb\xca\xc7\xc4\xe3\xcd\xfc\xc1\xcb\xce\xd2\xd2\xb2\xc3\xbb\xbc\xc7\xc6\xf0'
chstr3
=b'\xd7\xdf\xb9\xfd\xc2\xb7\xb9\xfd\xc3\xbb\xd3\xf6\xb9\xfd'
chstr4
=b'\xbb\xd8\xcd\xb7\xd7\xaa\xcd\xb7\xbb\xb9\xca\xc7\xb4\xed'def showch(x
,y
,s
,scale
):length
=len(s
)fball
=framebuf
.FrameBuffer
(bytearray(16*length
*8), 16*length
, 16, framebuf
.GS4_HMSB
)chlist
=[]for i
in range(0,length
,2):m
=s
[i
]l
=s
[i
+1]chlist
.append
(m
*256+l
)xreal
=x
for s
in chlist
:xreal
+=16fb
=fonttrans
.show_16x16
(fontlib
.gb2312_16x16
(s
),scale
)fball
.blit
(fb
,xreal
,y
)oled
.blit
(fball
,x
,y
)oled
.show
()def showlyrics(y
,s
,scale
):length
=len(s
)fball
=framebuf
.FrameBuffer
(bytearray(16*length
*8), 16*length
, 16, framebuf
.GS4_HMSB
)chlist
=[]for i
in range(0,length
,2):m
=s
[i
]l
=s
[i
+1]chlist
.append
(m
*256+l
)x
=int((256-16*length
/2-16)/2)xreal
=0for s
in chlist
:xreal
+=16fb
=fonttrans
.show_16x16
(fontlib
.gb2312_16x16
(s
),scale
)fball
.blit
(fb
,xreal
,0)oled
.blit
(fball
,x
,y
)oled
.show
()showlyrics
(0,chstr
,15)
showlyrics
(16,chstr2
,15)
showlyrics
(32,chstr3
,15)
showlyrics
(48,chstr4
,15)
還有個(gè)難點(diǎn)就是mpy沒法轉(zhuǎn)中文的gbk啊。。。頭大,我想想辦法再。。。
總結(jié)
以上是生活随笔為你收集整理的又拿下一块屏幕,中景园2.08寸OLED SH1122 带字库芯片 GT30L32S4W的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。