這篇文章主要講解了“MicroPython怎么控制OLED顯示中文”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MicroPython怎么控制OLED顯示中文”吧!
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括霍城網(wǎng)站建設(shè)、霍城網(wǎng)站制作、霍城網(wǎng)頁制作以及霍城網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,霍城網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到霍城省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
0x01 實(shí)驗(yàn)器材
TPYBoard v102 開發(fā)板 1塊(某寶上可以買到,價格不貴)
0.96 寸OLED顯示屏(ssd1306) 1塊
杜邦線 若干
0x02 前期準(zhǔn)備
1、在font.py和ssd1306.py基礎(chǔ)上做的開發(fā)。
2、在font.py中增加中文字模。
font.py中已有英文、數(shù)字和符號的字符,我們需要做中文的字模添加到font.py中。
2.1首先下載字模提取工具。
解壓,雙擊運(yùn)行PCtoLCD2002.exe。
2.2 頂端菜單欄,點(diǎn)擊[選項(xiàng)]按下方圖片設(shè)置,設(shè)置完畢后點(diǎn)擊[確定]保存設(shè)置。
2.2回到主界面,在輸入框中輸入“我”點(diǎn)擊[生成字模]。
取得的字模數(shù)據(jù)如下:
2.2將取到的字模數(shù)據(jù)添加到font.py中。
綠色框中是“我”的16進(jìn)制utf-8編碼。
在線工具:http://tool.lu/hexstr/
參照以上方法,我依次添加了“我愛你祖國”這5個漢字的字模。
byte2 = { 0xe68891: [ 0x04,0x0E,0x78,0x08,0x08,0xFF,0x08,0x08,0x0A,0x0C,0x18,0x68,0x08,0x08,0x2B,0x10, 0x40,0x50,0x48,0x48,0x40,0xFE,0x40,0x44,0x44,0x48,0x30,0x22,0x52,0x8A,0x06,0x02, ],#我 0xe788b1: [ 0x00,0x01,0x7E,0x22,0x11,0x7F,0x42,0x82,0x7F,0x04,0x07,0x0A,0x11,0x20,0x43,0x1C, 0x08,0xFC,0x10,0x10,0x20,0xFE,0x02,0x04,0xF8,0x00,0xF0,0x10,0x20,0xC0,0x30,0x0E, ],#愛 0xe4bda0: [ 0x08,0x08,0x08,0x11,0x11,0x32,0x34,0x50,0x91,0x11,0x12,0x12,0x14,0x10,0x10,0x10, 0x80,0x80,0x80,0xFE,0x02,0x04,0x20,0x20,0x28,0x24,0x24,0x22,0x22,0x20,0xA0,0x40, ],#你 0xe7a596: [ 0x20,0x11,0x11,0xF9,0x09,0x11,0x11,0x39,0x55,0x95,0x11,0x11,0x11,0x11,0x17,0x10, 0x00,0xF8,0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x08,0xFE,0x00 ],#祖 0xe59bbd: [ 0x00,0x7F,0x40,0x40,0x5F,0x41,0x41,0x4F,0x41,0x41,0x41,0x5F,0x40,0x40,0x7F,0x40, 0x00,0xFC,0x04,0x04,0xF4,0x04,0x04,0xE4,0x04,0x44,0x24,0xF4,0x04,0x04,0xFC,0x04 ],#國 }
1、在ssd1306.py 文件中增加了draw_chinese顯示中文的方法。
def draw_chinese(self,ch_str,x_axis,y_axis): offset_=0 y_axis=y_axis*8#中文高度一行占8個 x_axis=127-(x_axis*16)#中文寬度占16個 for k in ch_str: code = 0x00#將中文轉(zhuǎn)成16進(jìn)制編碼 data_code = k.encode("utf-8") code |= data_code[0]<<16 code |= data_code[1]<<8 code |= data_code[2] byte_data=font.byte2[code] for y in range(0,16): a_=bin(byte_data[y]).replace('0b','') while len(a_)<8: a_='0'+a_ b_=bin(byte_data[y+16]).replace('0b','') while len(b_)<8: b_='0'+b_ for x in range(0,8): self.set_pixel(x_axis-x-offset_,y+y_axis,int(a_[x]))#文字的上半部分 self.set_pixel(x_axis-x-8-offset_,y+y_axis,int(b_[x]))#文字的下半部分 offset_+=16
github源碼地址:https://github.com/TPYBoard/developmentBoard/tree/master/TPYBoard-v10x-master/
找到[20.學(xué)習(xí)OLED顯示中文]。
0x03 硬件連接
本次實(shí)驗(yàn)使用OLED的SPI通訊方式,TPYBoard v102帶有2個SPI接口,我用的SPI1。
具體接線方法如下:
0x04 效果展示
硬件接線OK后,將源碼全部拷貝到TPYBaord v102加載的磁盤中,按下RST按鍵復(fù)位或者使用Putty軟件Ctrl+D軟復(fù)位,重新運(yùn)行效果如下:
感謝各位的閱讀,以上就是“MicroPython怎么控制OLED顯示中文”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對MicroPython怎么控制OLED顯示中文這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
文章題目:MicroPython怎么控制OLED顯示中文
瀏覽路徑:http://jinyejixie.com/article32/gpgepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、Google、虛擬主機(jī)、動態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)