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

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

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

【外設(shè)移植】0.96寸IIC單色屏+Ai-M61開(kāi)發(fā)板

AIoT行業(yè)洞察 ? 來(lái)源:AIoT行業(yè)洞察 ? 作者:AIoT行業(yè)洞察 ? 2024-02-26 09:54 ? 次閱讀

本作品由安信可社區(qū)用戶

沈夜制作

01外設(shè)介紹

先來(lái)介紹下0.96寸OLED顯示屏(驅(qū)動(dòng)芯片:SSD1306 / SSD1315)

[color=rgba(0, 0, 0, 0.87)],0.96寸OLED顯示屏是一種小尺寸的有機(jī)發(fā)光二極管(OLED)顯示屏,具有許多優(yōu)點(diǎn)和特點(diǎn)。以下是對(duì)0.96寸OLED顯示屏的介紹:

  • 尺寸:0.96寸指的是顯示屏的對(duì)角線尺寸,通常為0.96英寸(約24.4毫米),適合小型設(shè)備和緊湊空間。
  • 分辨率:通常具有128x64像素的分辨率,可以顯示清晰的圖像和文本。
  • 技術(shù):采用OLED技術(shù),每個(gè)像素都是自發(fā)光的,不需要背光,因此具有更高的對(duì)比度和更廣的視角。
  • 高亮度:OLED顯示屏具有較高的亮度,即使在室外或明亮的環(huán)境下也能清晰可見(jiàn)。
  • 低功耗:相比傳統(tǒng)的液晶顯示屏,OLED顯示屏具有較低的功耗,可以延長(zhǎng)電池壽命。
  • 快速響應(yīng):OLED顯示屏具有快速的響應(yīng)時(shí)間,可以實(shí)現(xiàn)流暢的圖像和動(dòng)畫(huà)效果。
  • 色彩鮮艷:OLED顯示屏可以呈現(xiàn)鮮艷、飽滿的顏色,使圖像更加生動(dòng)逼真。
  • 視角廣:OLED顯示屏具有廣闊的視角,即使從不同的角度觀看,圖像仍然清晰可見(jiàn)。
  • 薄型輕便:OLED顯示屏采用薄型設(shè)計(jì),重量輕,適合應(yīng)用于便攜式設(shè)備和可穿戴設(shè)備。
  • 靈活性:某些OLED顯示屏采用柔性基板制造,具有彎曲和彎折的能力,適用于柔性顯示應(yīng)用。
  • 高對(duì)比度:OLED顯示屏具有高對(duì)比度,黑色顯示非常深黑,白色顯示非常亮白,使圖像更加清晰。
  • 高刷新率:OLED顯示屏具有高刷新率,可以實(shí)現(xiàn)流暢的視頻播放和動(dòng)態(tài)圖像效果。
wKgaomXb7zqAE-T5AABAlZiGhrQ50.jpeg

02外設(shè)規(guī)格參數(shù)

工作電壓:3.3V

工作電流:9MA

模塊尺寸:27.3 x 27.8 MM

像素大小:128(H) x 64(V)RGB

驅(qū)動(dòng)芯片:SSD1306

通信協(xié)議:IIC

管腳數(shù)量:4 Pin(2.54mm間距排針

03移植過(guò)程

分為資料介紹、移植至工程、引腳選擇介紹:(點(diǎn)擊文首原貼地址進(jìn)行下載

0.96寸OLED產(chǎn)品規(guī)格書(shū).pdf

0.96寸OLED模塊原理圖-4針腳I2C接口.pdf

驅(qū)動(dòng)芯片SSD1306數(shù)據(jù)手冊(cè).pdf

keil stm32 項(xiàng)目移植

wKgZomXb7zqAWsCzAAD4-hoHIcM84.jpeg

man.c 事例代碼移植

wKgaomXb7zuAHTwDAARLoZ2nyyw606.png

刪除 不用的代碼。

#include "stm32f10x.h" // Device header

#include "Delay.h"

確少一個(gè) 延時(shí),功能一樣直接調(diào)用博流的庫(kù),可以 手動(dòng)替換成bflb_mtimer_delay_ms ,但是可以根據(jù)c語(yǔ)法,[color=rgba(0, 0, 0, 0.87)]在代碼中添加以下宏定義:

#define Delay_ms(ms) bflb_mtimer_delay_ms(ms)

則無(wú)需修改任何代碼。

oled.c i2c 移植

OLED引腳初始化>>OLED_GPIO_Init,

I2C發(fā)送一個(gè)字節(jié)>>OLED_I2C_SendByte

iOLED寫(xiě)命令>>OLED_WriteCommand

OLED寫(xiě)數(shù)據(jù)>>OLED_WriteData

修改方法:直接復(fù)制 sdk里面的i2c代碼即可

wKgZomXb7zuADFvpAAC3EHbGqg8894.png

經(jīng)過(guò)分析。原先工程用的是軟件模擬i2c,本次使用的硬件庫(kù)的。

I2C發(fā)送一個(gè)字節(jié)>>OLED_I2C_SendByte 這個(gè)不用移植,直接刪掉。

iOLED寫(xiě)命令>>OLED_WriteCommand

OLED寫(xiě)數(shù)據(jù)>>OLED_WriteData

wKgaomXb7zyAUB8lAABhN9QXS6c493.png

這里分析得出就是發(fā)送從機(jī)地址和命令。里面的函數(shù)都用不到,可以直接刪除:

OLED_I2C_Start(); I2C起始

OLED_I2C_SendByte(0x78);

OLED_I2C_Stop(); //I2C終止

wKgZomXb7z2AbsGDAACioj0xJC0770.png

04移植驗(yàn)證

這里介紹功能齊全 - 支持字符、數(shù)字、漢字、圖像及各種繪圖圖形顯示。

PS:代碼非原創(chuàng),只是移植到了Ai-M61,經(jīng)驗(yàn)證代碼無(wú)任何報(bào)錯(cuò)。

wKgaomXb7z2Acck2AAFfqY0fft874.jpeg

快速使用:

解壓 修改 Makefile 文件

BL_SDK_BASE ?= D:testboliubouffalo_sdk/

為自己的sdk路徑即可

#include "OLED.h"

/*OLED初始化*/

OLED_Init();

/*在(0, 0)位置顯示字符'A',字體大小為8*16點(diǎn)陣*/

OLED_ShowChar(0, 0, 'A', OLED_8X16);

/*調(diào)用OLED_Update函數(shù),將OLED顯存數(shù)組的內(nèi)容更新到OLED硬件進(jìn)行顯示*/

OLED_Update();

wKgZomXb7z6AbNx8AAFuaBMGMIs51.jpeg

只需要引用一個(gè),就能方便調(diào)用了。

高級(jí)設(shè)置:

OLED.c

OLED_GPIO_Init 函 數(shù):OLED引腳初始化

只需要替換GPIO_PIN_0、GPIO_PIN_1,就可以修改自定義引腳

wKgaomXb7z6ASGv2AADMQJ0EE7g39.jpeg

OLED_Data.c

wKgZomXb7z-AcsZnAAGVkpZKuuI13.jpeg

注意:添加沒(méi)有的中文字庫(kù),添加圖像都在此,demo里面有詳細(xì)的調(diào)用過(guò)程。

取模教程

一:配置軟件,點(diǎn)設(shè)置然后按照如下設(shè)置。

wKgaomXb7z-AHB3MAAHpOSB23-U95.jpeg

二:生成字模。

wKgZomXb70CAUA5tAAEizRC-_XI00.jpeg

三:安裝格式。主要是刪掉多余的,復(fù)制沒(méi)有的即可。

wKgaomXb70CAErhAAAErP0l0HLk22.jpegwKgZomXb70GAb7bbAAE4QNUQx8c42.jpeg

效果如下:

wKgaomXb70KACUF6AAAvgfY9_YA43.jpeg

PCtoLCD2002.zip (886.22 KB)

0.96oled.zip (17.69 KB)

備注:進(jìn)入原貼下載

05常見(jiàn)問(wèn)題匯總

移植純c代碼需要改的地方并不多,甚至原封不動(dòng)的復(fù)制過(guò)來(lái)的man文件,僅僅是添加了文件頭。一些常見(jiàn)問(wèn)題匯總給大家作參考:

5.1文件找不到

打開(kāi)CMakeLists.txt

添加文件包含,格式空格 一個(gè)文件名

target_sources(app PRIVATE oled.c OLED_Data.c)

5.2 編譯器找不到路徑

修改 Makefile 文件

BL_SDK_BASE ?= D:testboliubouffalo_sdk/

也可以 直接修改為sdk的絕對(duì)路徑,這樣你項(xiàng)目的目錄 可以隨便放在任何地方。

5.3 數(shù)據(jù)類型找不到

引入c語(yǔ)言庫(kù)能解決90%

#include

#include

#include

#include

審核編輯 黃宇

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

    關(guān)注

    28

    文章

    4421

    瀏覽量

    73948
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    293

    瀏覽量

    38206
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4834

    瀏覽量

    96834
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    外設(shè)移植 安信可Ai-WB2-32S開(kāi)發(fā)板+TM1637 NTP時(shí)鐘

    使用的是AI-WB2-32S開(kāi)發(fā)板,自己畫(huà)了一個(gè)板子整合TM1637和舵機(jī)、BLE(舵機(jī)、BLE的將會(huì)在另外2篇帖子介紹),對(duì)應(yīng)的接線方式如下: 移植過(guò)程: 根據(jù)參考帖子以及TM1637的規(guī)格書(shū)進(jìn)行更改,時(shí)序
    的頭像 發(fā)表于 09-24 14:29 ?168次閱讀
    <b class='flag-5'>外設(shè)</b><b class='flag-5'>移植</b> 安信可<b class='flag-5'>Ai</b>-WB2-32S<b class='flag-5'>開(kāi)發(fā)板</b>+TM1637 NTP時(shí)鐘

    智能家居之旅(7):HomeAssistant開(kāi)發(fā)板的RGB顏色

    怎么上HomeAssistant,然后控制Ai-M61開(kāi)發(fā)板的 RGB 燈的顏色,感覺(jué)這個(gè)項(xiàng)目用來(lái)控制家里的燈條就挺不錯(cuò)的。 彩燈實(shí)體創(chuàng)建 1.彩燈實(shí)體資源啟用 彩燈實(shí)體在 HomeAssistant
    的頭像 發(fā)表于 07-03 16:39 ?385次閱讀
    智能家居之旅(7):HomeAssistant<b class='flag-5'>開(kāi)發(fā)板</b>的RGB顏色

    智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實(shí)現(xiàn)點(diǎn)燈

    上一篇我們介紹了MQTT設(shè)備如何接入HomeAssistant(打卡智能家居之旅(2):設(shè)備接入HomeAssistant的方法),這一篇就給大家講一下Ai-M61/M62 開(kāi)發(fā)板或者模組怎么通過(guò)
    的頭像 發(fā)表于 06-07 10:07 ?426次閱讀
    智能家居之旅(3):<b class='flag-5'>Ai-M61</b>/<b class='flag-5'>M</b>62 接入HomeAssistant 實(shí)現(xiàn)點(diǎn)燈

    基于Ai-M61模組打造一個(gè)智能魚(yú)缸水質(zhì)監(jiān)測(cè)系統(tǒng)

    要保證合理的光照,水氧才能讓小魚(yú)順利成長(zhǎng),這些對(duì)新手來(lái)說(shuō)太難了??! 正好小安發(fā)現(xiàn)手頭上的Ai-M61模組,可以打造一個(gè)智能魚(yú)缸水質(zhì)檢測(cè)系統(tǒng)。來(lái)看看怎么做? ? 小安先查詢了下產(chǎn)品的介紹: Ai-M61 系列模組是安信可科技開(kāi)發(fā)
    的頭像 發(fā)表于 03-29 11:04 ?373次閱讀

    0.96 OLED 顯示使用手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《0.96 OLED 顯示使用手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 03-19 11:02 ?28次下載

    stm32f407vet6驅(qū)動(dòng)0.96oled,顯示無(wú)法顯示怎么解決?

    stm32f407vet6驅(qū)動(dòng)0.96oled——iic協(xié)議代碼無(wú)報(bào)錯(cuò)時(shí)鐘正確顯示無(wú)法顯示
    發(fā)表于 03-14 06:49

    “WiFi 6+BLE5.3+Thread”,安信可Ai-M61系列模組選型

    Ai-M61系列是“WiFi 6+BLE5.3+Thread”高性能的嵌入式無(wú)線通信模組,該模組搭載BL618 芯片作為核心處理器,BL618 芯片系統(tǒng)包含帶 FPU 和 DSP 的 32 位
    的頭像 發(fā)表于 03-12 16:22 ?503次閱讀
    “WiFi 6+BLE5.3+Thread”,安信可<b class='flag-5'>Ai-M61</b>系列模組選型

    外設(shè)移植】雙軸按鍵搖桿模塊Ai-M61開(kāi)發(fā)板

    雙軸按鍵搖桿模塊采用金屬按鍵搖桿電位器,模塊包含兩路模擬輸出和一路數(shù)字輸出接口。
    的頭像 發(fā)表于 03-12 15:24 ?858次閱讀
    【<b class='flag-5'>外設(shè)</b><b class='flag-5'>移植</b>】雙軸按鍵搖桿模塊<b class='flag-5'>Ai-M61</b><b class='flag-5'>開(kāi)發(fā)板</b>

    外設(shè)移植Ai-M61-32s 開(kāi)發(fā)板+3.5SPI彩屏

    M61-32S3.5SPIVCCVCCGNDGNDIO12CSIO26RSIO27D/CIO19SDIIO13SCLIO28BLIO18SDO 02、庫(kù)文件介紹 該移植庫(kù)共包含
    的頭像 發(fā)表于 03-07 10:02 ?427次閱讀
    【<b class='flag-5'>外設(shè)</b><b class='flag-5'>移植</b>】<b class='flag-5'>Ai-M61</b>-32s <b class='flag-5'>開(kāi)發(fā)板</b>+3.5<b class='flag-5'>寸</b>SPI彩屏

    外設(shè)移植】USB鍵盤(pán)+M61開(kāi)發(fā)板

    這篇開(kāi)始使用 M62 板子來(lái)實(shí)現(xiàn) USB 的設(shè)備開(kāi)發(fā),首先從最簡(jiǎn)單的 USB HID 鍵盤(pán)開(kāi)始。固件的 SDK 使用的是 CherryUSB 開(kāi)源 USB 固件。CherryUSB 是一個(gè)小而美的、可移植性高的、用于嵌入式系統(tǒng)的
    的頭像 發(fā)表于 02-26 11:31 ?1631次閱讀
    【<b class='flag-5'>外設(shè)</b><b class='flag-5'>移植</b>】USB鍵盤(pán)+<b class='flag-5'>M61</b><b class='flag-5'>開(kāi)發(fā)板</b>

    安信可Ai-M61/Ai-M62系列連接AWS亞馬遜云

    本文介紹Ai-M61/Ai-M62系列模組/開(kāi)發(fā)板連接亞馬遜云方法。 Ai-M61 系列模組(下稱模組)是由深圳市安信可科技有限公司開(kāi)發(fā)
    的頭像 發(fā)表于 02-04 15:51 ?733次閱讀
    安信可<b class='flag-5'>Ai-M61</b>/<b class='flag-5'>Ai-M</b>62系列連接AWS亞馬遜云

    基于RA6M5開(kāi)發(fā)板的低功耗電子時(shí)鐘設(shè)計(jì)

    本項(xiàng)目是基于啟明RA6M5開(kāi)發(fā)板搭載2.4液晶的電子時(shí)鐘,該電子時(shí)鐘有兩個(gè)模式——正常模式和低功耗模式,可以通過(guò)開(kāi)發(fā)板的按鍵改變時(shí)鐘模式
    的頭像 發(fā)表于 12-25 12:26 ?810次閱讀
    基于RA6<b class='flag-5'>M</b>5<b class='flag-5'>開(kāi)發(fā)板</b>的低功耗電子時(shí)鐘設(shè)計(jì)

    方法|如何為開(kāi)發(fā)板調(diào)試新的觸摸

    方法|如何為開(kāi)發(fā)板調(diào)試新的觸摸
    的頭像 發(fā)表于 11-30 11:30 ?821次閱讀
    方法|如何為<b class='flag-5'>開(kāi)發(fā)板</b>調(diào)試新的觸摸<b class='flag-5'>屏</b>

    安信可Ai-M61-32S開(kāi)發(fā)板能玩出多少拓展板?

    控制家里的一些設(shè)備~ 實(shí)物展示 這次使用M61開(kāi)發(fā)板只引出了串口,把usb引出到底板上了,順便簡(jiǎn)單的寫(xiě)了一些代碼,可以在讀取ds1302的時(shí)間顯示在屏幕上,讀取溫濕度,光敏電阻讀取光照,還有燈珠~ DS1302時(shí)鐘 板載了一個(gè)ds1302時(shí)鐘ic,以及一個(gè)cr2032備用
    的頭像 發(fā)表于 11-13 14:54 ?521次閱讀
    安信可<b class='flag-5'>Ai-M61</b>-32S<b class='flag-5'>開(kāi)發(fā)板</b>能玩出多少拓展板?

    Ai-M61-32S開(kāi)發(fā)環(huán)境搭建

    Ai-M61-32S開(kāi)發(fā)環(huán)境搭建
    的頭像 發(fā)表于 11-10 12:30 ?867次閱讀
    <b class='flag-5'>Ai-M61</b>-32S<b class='flag-5'>開(kāi)發(fā)</b>環(huán)境搭建