亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MicroPython怎么控制OLED顯示中文

發布時間:2022-01-13 11:11:42 來源:億速云 閱讀:244 作者:iii 欄目:互聯網科技

這篇文章主要講解了“MicroPython怎么控制OLED顯示中文”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MicroPython怎么控制OLED顯示中文”吧!

    0x01 實驗器材

    TPYBoard v102 開發板 1塊(某寶上可以買到,價格不貴)
    0.96 寸OLED顯示屏(ssd1306) 1塊
    杜邦線 若干

    0x02 前期準備

    1、在font.py和ssd1306.py基礎上做的開發。

    2、在font.py中增加中文字模。

    font.py中已有英文、數字和符號的字符,我們需要做中文的字模添加到font.py中。

    2.1首先下載字模提取工具。

    解壓,雙擊運行PCtoLCD2002.exe。

MicroPython怎么控制OLED顯示中文
    2.2 頂端菜單欄,點擊[選項]按下方圖片設置,設置完畢后點擊[確定]保存設置。

MicroPython怎么控制OLED顯示中文
    2.2回到主界面,在輸入框中輸入“我”點擊[生成字模]。

MicroPython怎么控制OLED顯示中文
    取得的字模數據如下:

MicroPython怎么控制OLED顯示中文
    2.2將取到的字模數據添加到font.py中。

MicroPython怎么控制OLED顯示中文
    綠色框中是“我”的16進制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#將中文轉成16進制編碼
        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.學習OLED顯示中文]。


    0x03 硬件連接


    本次實驗使用OLED的SPI通訊方式,TPYBoard v102帶有2個SPI接口,我用的SPI1。

MicroPython怎么控制OLED顯示中文
    具體接線方法如下:

    0x04 效果展示

    硬件接線OK后,將源碼全部拷貝到TPYBaord v102加載的磁盤中,按下RST按鍵復位或者使用Putty軟件Ctrl+D軟復位,重新運行效果如下:

MicroPython怎么控制OLED顯示中文

感謝各位的閱讀,以上就是“MicroPython怎么控制OLED顯示中文”的內容了,經過本文的學習后,相信大家對MicroPython怎么控制OLED顯示中文這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新余市| 梓潼县| 双城市| 襄垣县| 邓州市| 西畴县| 蚌埠市| 抚远县| 宜黄县| 崇明县| 临汾市| 贡嘎县| 桐柏县| 乡宁县| 新安县| 鸡东县| 上林县| 化隆| 金乡县| 云和县| 芦山县| 康保县| 临海市| 襄樊市| 宾川县| 宜都市| 浏阳市| 昌邑市| 定陶县| 鄢陵县| 锦州市| 麦盖提县| 延川县| 芦山县| 洞头县| 朝阳区| 温宿县| 增城市| 峨山| 汉川市| 青铜峡市|