一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【經(jīng)驗(yàn)分享】Banana PI Leaf S3開發(fā)板之OLED屏顯示驅(qū)動(dòng)實(shí)現(xiàn)

電子發(fā)燒友論壇 ? 來源:未知 ? 2022-11-22 08:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

OLED屏有多種形式,在例程中提供了一種I2C接口的0.96寸單色屏程序。本人則有一款I(lǐng)2C接口的0.96寸雙色屏,在掌握GPIO口使用的基礎(chǔ)上,以模擬I2C的方式實(shí)現(xiàn)了它的驅(qū)動(dòng)顯示。

其引腳的連接關(guān)系如下:

VCC----3.3V

GND---GND

SDA----GPIO15

SCL----GPIO16

2e061516-69fc-11ed-8abf-dac502259ad0.png

圖1引腳連接

將所用引腳設(shè)置為輸出模式的語句為:

sda=Pin(15,Pin.OUT) #15

sck=Pin(16,Pin.OUT) #16

實(shí)現(xiàn)數(shù)據(jù)數(shù)據(jù)發(fā)送的函數(shù)為:

def Write_IIC_Byte(IIC_Byte):
 da=IIC_Byte
 sck.off()
 for i in range(8):
   m=da
   m=m&0x80
   if(m==0x80):
    sda.on()
   else:
    sda.off()
   da=da<<1
   sck.on()
   sck.off()

實(shí)現(xiàn)清屏的函數(shù)為:

def OLED_Clear():
  for i in range(8):
   OLED_WR_Byte (0xb0+i,OLED_CMD)
   OLED_WR_Byte (0x00,OLED_CMD)
   OLED_WR_Byte (0x10,OLED_CMD)
  for j in range(128):
   OLED_WR_Byte(0x00,OLED_DATA)

OLED屏的初始化函數(shù)為:

def OLED_Init():
 OLED_WR_Byte(0xAE,OLED_CMD)
 OLED_WR_Byte(0x02,OLED_CMD)
 OLED_WR_Byte(0x10,OLED_CMD)
 OLED_WR_Byte(0x40,OLED_CMD)
 OLED_WR_Byte(0x81,OLED_CMD)
 OLED_WR_Byte(0xff,OLED_CMD)
 OLED_WR_Byte(0xA1,OLED_CMD)
 OLED_WR_Byte(0xC8,OLED_CMD)
 OLED_WR_Byte(0xA6,OLED_CMD)
 OLED_WR_Byte(0xA8,OLED_CMD)
 OLED_WR_Byte(0x3f,OLED_CMD)
 OLED_WR_Byte(0xD3,OLED_CMD)
 OLED_WR_Byte(0x00,OLED_CMD)
 OLED_WR_Byte(0xd5,OLED_CMD)
 OLED_WR_Byte(0x80,OLED_CMD)
 OLED_WR_Byte(0xD9,OLED_CMD)
 OLED_WR_Byte(0xF1,OLED_CMD)
 OLED_WR_Byte(0xDA,OLED_CMD)
 OLED_WR_Byte(0x12,OLED_CMD)
 OLED_WR_Byte(0xDB,OLED_CMD)
 OLED_WR_Byte(0x40,OLED_CMD)
 OLED_WR_Byte(0x20,OLED_CMD)
 OLED_WR_Byte(0x02,OLED_CMD)
 OLED_WR_Byte(0x8D,OLED_CMD)
 OLED_WR_Byte(0x14,OLED_CMD)
 OLED_WR_Byte(0xA4,OLED_CMD)
 OLED_WR_Byte(0xA6,OLED_CMD)
 OLED_WR_Byte(0xAF,OLED_CMD)
 OLED_WR_Byte(0xAF,OLED_CMD)
 OLED_Clear()
 OLED_Set_Pos(0,0)

為了驗(yàn)證程序的可行性,特將清屏函數(shù)改造為彩條繪制函數(shù),其內(nèi)容為:

def OLED_Clear():
  for i in range(8):
   OLED_WR_Byte (0xb0+i,OLED_CMD)
   OLED_WR_Byte (0x00,OLED_CMD)
   OLED_WR_Byte (0x10,OLED_CMD)
  for j in range(128):
   OLED_WR_Byte(0xf0,OLED_DATA) #OLED_DATA


def OLED_text():
  OLED_Init()
  OLED_Clear()


OLED_text ()

經(jīng)上傳測(cè)試,其顯示效果如圖2所示,說明驅(qū)動(dòng)程序是有效的。

2e1ebb8e-69fc-11ed-8abf-dac502259ad0.png

圖2繪制彩條

為了實(shí)現(xiàn)字符,需按如下形式來定義字庫:

F8X16=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,

0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

** ... **

0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]

所設(shè)計(jì)的字符串顯示函數(shù)為:

def OLED_ShowString(x,y,chr,Char_Size):
   for character in chr:
    OLED_ShowChar(x,y,character,Char_Size)
    x+=8
    if(x>120):
      x=0
      y+=2

實(shí)現(xiàn)字符串輸出測(cè)試的程序如下:

def OLED_text():
  OLED_Init()
  OLED_Clear()
  OLED_ShowString(0,0,'Banana PI ',16)
  OLED_ShowString(0,2,'Leaf S3',16)
  OLED_ShowString(0,4,'OLED TEST',16)
  OLED_ShowString(0,6,'jinglixixi',16)


OLED_text()

經(jīng)上傳測(cè)試,其顯示效果如圖3所示,說明驅(qū)動(dòng)程序是有效的。

2e493bfc-69fc-11ed-8abf-dac502259ad0.png

圖3顯示字符串

通過OLED屏驅(qū)動(dòng)程序的設(shè)計(jì),基本上掌握了Thonny的編程方法、函數(shù)的設(shè)計(jì)及數(shù)組元素的使用等,收獲還是很多的,后面就可以自主地進(jìn)行功能設(shè)計(jì)了。

本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑?/span>微信EEFans0806,或者發(fā)郵箱liuyong@huaqiu.com。

2e7c4d26-69fc-11ed-8abf-dac502259ad0.png


原文標(biāo)題:【經(jīng)驗(yàn)分享】Banana PI Leaf S3開發(fā)板之OLED屏顯示驅(qū)動(dòng)實(shí)現(xiàn)

文章出處:【微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:【經(jīng)驗(yàn)分享】Banana PI Leaf S3開發(fā)板之OLED屏顯示驅(qū)動(dòng)實(shí)現(xiàn)

文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Banana Pi BPI-RV2開發(fā)板試用體驗(yàn)】開箱上電

    開源社區(qū)(Banana Pi )合作設(shè)計(jì)。 開發(fā)板關(guān)鍵特性 矽昌 SF21H8898 四核64位RISC-V 處理器 矽昌自研NPU,可以達(dá)到企業(yè)級(jí)?關(guān)級(jí)別數(shù)據(jù)轉(zhuǎn)發(fā)處理能? 512MB DDR
    發(fā)表于 06-26 19:51

    Banana Pi BPI-RV2開發(fā)板試用體驗(yàn)】開發(fā)環(huán)境搭建

    參考 https://docs.banana-pi.org/zh/BPI-RV2/BananaPi_BPI-RV2 前言 本文分享開發(fā)板基本的ssh登錄,文件傳輸,c開發(fā)環(huán)境搭建。 上電串口登錄 上
    發(fā)表于 06-25 16:07

    Banana Pi BPI-RV2開發(fā)板試用體驗(yàn)】開發(fā)板介紹視頻

    一. 開發(fā)板介紹香蕉派 BPI-RV2 RISC-V 路由器開發(fā)板采用矽昌通信 SF21H8898 芯片方案矽昌 SF21H8898 四核64位RISC-V 處理器, 1.25GHz主頻得益于矽昌自
    發(fā)表于 06-24 23:51

    基于RISC-V處理器,Banana Pi BPI-RV2開發(fā)板試用

    Banana Pi BPI-RV2 開源網(wǎng)關(guān)是?款基于矽昌 SF21H8898 SoC的設(shè)備,1 × 2.5 G WAN?絡(luò)接?、5 ?個(gè)千兆LAN ?絡(luò)接?、板載 512MB DDR3 內(nèi)存
    的頭像 發(fā)表于 06-09 14:59 ?486次閱讀
    基于RISC-V處理器,<b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> BPI-RV2<b class='flag-5'>開發(fā)板</b>試用

    Banana Pi BPI-RV2 RISC-V 路由器開發(fā)板發(fā)售, 全球首款RISC-V路由器

    Banana Pi BPI-RV2 開源路由器是矽昌通信和?蕉派開源社區(qū)(Banana Pi )合作設(shè)計(jì), 聯(lián)合打造全球首款RISC-V架構(gòu)路由器
    發(fā)表于 04-18 14:06

    Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

    。 []() Banana Pi BPI-W3單板機(jī)是由Banana Pi團(tuán)隊(duì)為專業(yè)和企業(yè)用戶設(shè)計(jì)和開發(fā)
    發(fā)表于 02-19 18:27

    Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

    Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器
    的頭像 發(fā)表于 02-19 18:25 ?1825次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b>開源社區(qū)基于瑞芯微RK3588<b class='flag-5'>開發(fā)板</b>,DeepSeek<b class='flag-5'>開發(fā)</b>利器

    迅為RK3576開發(fā)板Android?多顯示

    迅為RK3576開發(fā)板Android?多顯示
    的頭像 發(fā)表于 01-16 16:58 ?1012次閱讀
    迅為RK3576<b class='flag-5'>開發(fā)板</b>Android?多<b class='flag-5'>屏</b><b class='flag-5'>顯示</b>

    【敏矽微ME32G070開發(fā)板免費(fèi)體驗(yàn)】開箱+點(diǎn)燈+點(diǎn)亮OLED

    ME32G070 支持硬件 I2C,這里偷個(gè)懶,不想使用繁瑣的跳線,直接在開發(fā)板上隨意插入 OLED 顯示屏的引腳,如下: 直接插上 OLED
    發(fā)表于 12-19 00:25

    Banana Pi BPI-CanMV-K230D-Zero :AIoT 應(yīng)用的 Kendryte K230D RISC-V

    進(jìn)行了優(yōu)化,具有用于神經(jīng)網(wǎng)絡(luò)處理的專用硬件,并專注于物聯(lián)網(wǎng)和 AI 驅(qū)動(dòng)的應(yīng)用。我們還撰寫了有關(guān)Banana Pi的各種 SBC 和開發(fā)板的文章,包括
    發(fā)表于 12-05 09:19

    Banana Pi BPI-R3路由器開發(fā)板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    近日,Banana PI開發(fā)板宣布與貝銳達(dá)成戰(zhàn)略合作,貝銳OrayOS現(xiàn)已成功適配Banana PI的BPI-R
    的頭像 發(fā)表于 10-23 15:49 ?1319次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> BPI-R<b class='flag-5'>3</b>路由器<b class='flag-5'>開發(fā)板</b>運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    Banana Pi BPI-R3路由器開發(fā)板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    近日,Banana PI開發(fā)板宣布與貝銳達(dá)成戰(zhàn)略合作,貝銳OrayOS現(xiàn)已成功適配Banana PI的BPI-R
    發(fā)表于 10-23 15:26

    ?Banana Pi BPi-M4 Zero 開源硬件開發(fā)板評(píng)測(cè)試

    ?Banana Pi BPi-M4 Zero 開源硬件開發(fā)板評(píng)測(cè)試: 全志科技H618 方案設(shè)計(jì) ,板載4G 內(nèi)存,32G eMMC 編輯搜圖 Banana
    發(fā)表于 10-15 12:06

    ?Banana Pi BPi-M4 Zero 開源硬件開發(fā)板評(píng)測(cè)試: 全志科技H618 方案設(shè)計(jì) ,板載4G 內(nèi)存,32G eMMC

    ?Banana Pi BPi-M4 Zero 開源硬件開發(fā)板評(píng)測(cè)試: 全志科技H618 方案設(shè)計(jì) ,板載4G 內(nèi)存,32G eMMC
    的頭像 發(fā)表于 10-15 12:04 ?1858次閱讀

    【xG24 Matter開發(fā)套件試用體驗(yàn)】物聯(lián)網(wǎng)密碼柜驅(qū)動(dòng)矩陣鍵盤和OLED顯示

    +circuitpython進(jìn)行開發(fā),矩陣鍵盤驅(qū)動(dòng)為自行編寫,Oled驅(qū)動(dòng)基于Adafruit SSD_1306庫。 到本階段為止已實(shí)現(xiàn)的功
    發(fā)表于 08-04 23:04