色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

【晶心科技ADP-Corvette-T1開發(fā)板試用體驗(yàn)】使用GyverOLED庫,驅(qū)動基于I2C的SSD1306顯示屏

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-11 11:29 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2289238_1_1.html

OLED演示(開發(fā)板體驗(yàn)視頻詳見作者原帖子內(nèi)容)

ADP-Corvette-T1開發(fā)板兼容Arduino開發(fā)環(huán)境,完成基礎(chǔ)的測試后,就想著點(diǎn)個(gè)屏幕玩玩。

通過官方的資料了解到,官方有一個(gè)擴(kuò)展板:
image.png

這個(gè)上面,使用的是LCD1602A顯示屏。
去網(wǎng)上查看了一下資料,發(fā)現(xiàn)這是一款老掉牙的使用牛屎封裝的LCD顯示屏:
image.png

另外,詳細(xì)了解了一下官方的資料,看到硬件上也提供了I2C接口,查看官方資料,可以了解接口的詳情:
image.png

我手頭也有SSD1306 OLED,支持I2C和SPI的都有,這次剛好拿I2C版本的進(jìn)行實(shí)測。
未命名13.png

按照官方的資料和SSD1306 OLED的資料,按照如下方式連線:
iShot_2022-06-25_09.30.47.png

實(shí)物連線如下:
image.png

然后,打開Arduino,找OLED的庫,進(jìn)行編程
測試了好幾個(gè)之前用過的OLED庫,都無法支持這塊開發(fā)板。
最終,找到了:GyverOLED,順利使用。
在Arduino,搜索安裝即可:
iShot_2022-06-25_08.44.00.png

我把演示的代碼,做了中文版本的注釋,詳細(xì)如下:

#include h>

// 顯示屏類型:
// SSD1306_128x32
// SSD1306_128x64

// 緩沖區(qū):
// OLED_NO_BUFFER (無緩沖區(qū))
// OLED_BUFFER (有緩沖區(qū)) - 默認(rèn)

// 接口類型:
// OLED_I2C - 默認(rèn)
// OLED_SPI (需指定 CS, DC, RST/RES)

// 初始化:
//GyverOLED oled;,>
//GyverOLED oled;,>
GyverOLED oled;
//GyverOLED oled;,>
//GyverOLED oled;,>

// 對于 I2C 地址,可以發(fā)送: GyverOLED oled(0x3C);

// bitmap數(shù)據(jù)使用 https://github.com/AlexGyver/imageProcessor 創(chuàng)建
const uint8_t bitmap_32x32[] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xF0, 0x70, 0x70, 0x30, 0x30, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, 0x30, 0x30, 0x20, 0x00, 0x00,
  0x00, 0x30, 0x78, 0xFC, 0x7F, 0x3F, 0x0F, 0x0F, 0x1F, 0x3C, 0x78, 0xF0, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0x40, 0xE0, 0xF0, 0xF8, 0xFC, 0xFF, 0x7F, 0x33, 0x13, 0x1E, 0x1C, 0x1C, 0x0E, 0x07, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF9, 0xF7, 0xEF, 0x5F, 0x3F, 0x7F, 0xFE, 0xFD, 0xFB, 0xF1, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1E, 0x33, 0x33, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x1F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00,
};

void setup() {
  // 串口初始化 
  Serial.begin(9600);
  randomSeed(analogRead(A0));

  // 顯示屏初始化
  oled.init();

  // --------------------------
  // I2C速度設(shè)置
  //Wire.setClock(800000L);

  // 清除緩沖區(qū)
  oled.clear();

  // 更新顯示:適用于OLED_BUFFER
  oled.update();

  // 圓點(diǎn)顯示
  oled.home();            // 原點(diǎn)坐標(biāo):0,0
  oled.print("Hello!");   // 累充串口輸出那樣,可以輸出任何內(nèi)容:數(shù)字,字符串,浮點(diǎn)數(shù)等
  oled.update();
  delay(2000);

  // 指定位置顯示
  oled.setCursor(5, 1);   // 指定坐標(biāo):x,y
  oled.setScale(2);
  oled.print("Hello!");
  oled.update();
  delay(2000);

  // 指定位置顯示
  oled.setCursorXY(15, 30); // 指定坐標(biāo):x,y
  oled.setScale(3);
  oled.invertText(true);    // 翻轉(zhuǎn)文本
  oled.print("Hello!");
  oled.update();
  delay(2000);

  // --------------------------
  oled.clear();
  oled.home();
  oled.setScale(1);
  oled.invertText(false);
  oled.autoPrintln(true);   // 自動換行
  oled.print(F("Happy Rain on a Spring Night. (Du Fu) Good rain knows its time right; It will fall when comes spring. With wind it steals in night; Mute, it moistens each thing."));
  oled.update();
  delay(2000);

  // --------------------------
  oled.home();
  oled.textMode(BUF_ADD);
  // BUF_ADD - 覆蓋文本
  // BUF_SUBTRACT - 刪除文本
  // BUF_REPLACE - 替換文本
  oled.home();
  oled.setScale(3);
  oled.print("OK!");
  oled.update();
  delay(2000);

  // --------------------------
  // СЕРВИС
  //oled.setContrast(10);   // 設(shè)置對比度 0..255
  //oled.setPower(true);    // true/false - 開/關(guān) 顯示
  //oled.flipH(true);       // true/false - 水平翻轉(zhuǎn)
  //oled.flipV(true);       // true/false - 垂直翻轉(zhuǎn)
  //oled.isEnd();           // 如果顯示結(jié)束,則返回 true - 用于逐字母輸出

  // --------------------------
  oled.clear();
  oled.dot(0, 0);     // 畫點(diǎn) x,y
  oled.dot(0, 1, 1);  // 第3個(gè)參數(shù)表示是否顯示:0-不顯示,1-顯示(默認(rèn))
  oled.line(5, 5, 10, 10);        // 劃線 x0,y0 - x1,y1
  //oled.line(5, 5, 10, 10, 0);   // 第5個(gè)參數(shù):0-擦除,1-繪制(默認(rèn))
  oled.fastLineH(0, 5, 10);       // 畫水平線 (y, x1, x2)
  //oled.fastLineH(0, 5, 10, 0);  //  第4個(gè)參數(shù):0-擦除,1-繪制(默認(rèn))
  oled.fastLineV(0, 5, 10);       // 畫垂直線 (x, y1, y2)
  oled.rect(20, 20, 30, 25);      // 畫矩形 (x0,y0,x1,y1)
  oled.rect(5, 35, 35, 60, OLED_STROKE);      // 畫矩形操作 (x0,y0,x1,y1)
  // 形狀參數(shù):
  // OLED_CLEAR - 清除
  // OLED_FILL - 填充
  // OLED_STROKE - 畫框
  oled.roundRect(50, 5, 80, 25, OLED_STROKE);  // 畫圓角矩形
  oled.circle(60, 45, 15, OLED_STROKE);        // 以 (x,y) 為圓心,以с為半徑畫圓
  oled.circle(60, 45, 5, OLED_FILL);           // 第4個(gè)參數(shù):填充

  // 位圖
  oled.drawBitmap(90, 16, bitmap_32x32, 32, 32, BITMAP_NORMAL, BUF_ADD);
  //oled.drawBitmap(90, 16, bitmap_32x32, 32, 32);  // 默認(rèn). BITMAP_NORMAL 和 BUF_ADD
  // x, y, name, width, height, BITMAP_NORMAL(0)/BITMAP_INVERT(1), BUF_ADD/BUF_SUBTRACT/BUF_REPLACE
  
  oled.update();

  delay(3000);
}

void loop() {
  // 隨機(jī)位置顯示位圖
  int x = random(0,128-32);
  int y = random(0,64-32);
  
  oled.clear();
  // 位圖
  oled.drawBitmap(x, y, bitmap_32x32, 32, 32, BITMAP_NORMAL, BUF_ADD);
  //oled.drawBitmap(90, 16, bitmap_32x32, 32, 32);  // 默認(rèn). BITMAP_NORMAL 和 BUF_ADD
  // x, y, name, width, height, BITMAP_NORMAL(0)/BITMAP_INVERT(1), BUF_ADD/BUF_SUBTRACT/BUF_REPLACE
  
  oled.update();

  delay(1000);
}
,>

上述代碼中的注釋,非常詳細(xì),所以我也就不用再單獨(dú)解釋了。

實(shí)際跑起來,效果非常的不錯(cuò),而且使用硬件I2C,刷新速度也有保障。


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

    關(guān)注

    0

    文章

    103

    瀏覽量

    18214
  • 開發(fā)板試用
    +關(guān)注

    關(guān)注

    3

    文章

    301

    瀏覽量

    2124
收藏 人收藏

    評論

    相關(guān)推薦

    【RA-Eco-RA4E2-64PIN開發(fā)板試用I2CI3C通信協(xié)議的應(yīng)用

    【RA-Eco-RA4E2-64PIN開發(fā)板試用I2CI3C通信協(xié)議的應(yīng)用。 瑞薩RA4E2
    發(fā)表于 01-21 10:40

    【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】SPI點(diǎn)亮16級灰階OLED顯示屏

    前一篇使用 I2C 接口點(diǎn)亮了 SSD1306 驅(qū)動的 OLED ,https://bbs.elecfans.com/jishu_2469592_
    發(fā)表于 01-19 03:28

    RA-Eco-RA4E2-64PIN開發(fā)板試用+I2cI3C通信協(xié)議的應(yīng)用。

    【RA-Eco-RA4E2-64PIN開發(fā)板試用I2CI3C通信協(xié)議的應(yīng)用。 瑞薩RA4E2
    發(fā)表于 01-11 15:06

    【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】開箱+Keil環(huán)境搭建+點(diǎn)燈+點(diǎn)亮OLED

    開發(fā)板上有 I2C OLED 接口,可以接入 OLED 使用,如下: 這里使用 IO 模擬 I2C 通信,P100、P101 設(shè)置為
    發(fā)表于 12-19 23:52

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

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

    恩智浦FRDM-MCXA153 RT-Thread開發(fā)實(shí)戰(zhàn)(六):I2C總線開發(fā)與應(yīng)用

    rt-threadsp xpmcxmcxafrdm-mcxa153 目錄下打開scons環(huán)境,配置IIC驅(qū)動SSD1306 OLED。? I2C配置? 恩智浦FRDM-MCXA153開發(fā)板
    的頭像 發(fā)表于 11-21 09:26 ?1102次閱讀
    恩智浦FRDM-MCXA153 RT-Thread<b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn)(六):<b class='flag-5'>I2C</b>總線<b class='flag-5'>開發(fā)</b>與應(yīng)用

    【BearPi-Pico H3863星閃開發(fā)板體驗(yàn)連載】GPIO 控制與 IIC OLED 顯示

    _master_init(CONFIG_I2C_MASTER_BUS_ID, baudrate, hscode); ? ssd1306_Init(); ssd1306_Fill(Black); ? while (
    發(fā)表于 10-03 12:47

    【核桃派ZeroW開發(fā)板體驗(yàn)連載】小小氣象站 04 oled測試

    : sudo pip3 install adafruit-circuitpython-ssd1306 測試 按上一篇接線的SCL、SDA接在I2C1上面,這樣體現(xiàn)了I2C的一個(gè)特點(diǎn),就是一個(gè)接口可以接
    發(fā)表于 08-11 13:33

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

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

    【CH32V208開發(fā)板】圖形u8g2的oled顯示

    *64,I2C接口。u8g2是單色顯示的第二個(gè)版本,其是開源的。u8g2支持lcd和oled,支持眾多
    發(fā)表于 07-29 23:11

    在OpenHarmony 3.1版本中,潤和hispark hi3861智能家居套件I2C驅(qū)動OLED屏幕的驅(qū)動如何改寫?

    決? 我做了以下操作: 1、首先打開I2C功能的配置文件地址已經(jīng)改為: device\\soc\\hisilicon\\hi3861v100\\sdk_liteos\\build\\config
    發(fā)表于 07-11 16:45

    【GD32F303紅楓派開發(fā)板使用手冊】第二十二講 IIC-IIC OLED顯示實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?OLED驅(qū)動原理 ?IIC驅(qū)動OLED顯示操作 22.2 實(shí)驗(yàn)原理 OLED模塊的驅(qū)動芯片為SSD1306
    的頭像 發(fā)表于 06-22 09:59 ?737次閱讀
    【GD32F303紅楓派<b class='flag-5'>開發(fā)板</b>使用手冊】第二十二講  IIC-IIC OLED<b class='flag-5'>顯示</b>實(shí)驗(yàn)

    ESP32-C3 ESP-IDF4.3.2 I2C驅(qū)動異常的原因?

    ESP32-C3,ESP-IDF版本4.3.2 使用I2C驅(qū)動OLED(驅(qū)動芯片SSD1306),開機(jī)正常
    發(fā)表于 06-19 07:06

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

    本作品由安信可社區(qū)用戶 沈夜 制作 ? 01外設(shè)介紹 先來介紹下0.96寸OLED顯示屏驅(qū)動芯片:SSD1306 / SSD1315) [color=rgba(0, 0, 0, 0.
    的頭像 發(fā)表于 02-26 09:54 ?2711次閱讀
    【外設(shè)移植】0.96寸IIC單色<b class='flag-5'>屏</b>+Ai-M61<b class='flag-5'>開發(fā)板</b>

    飛凌嵌入式T113-i開發(fā)板的調(diào)方法

    對于飛凌嵌入式T113-i開發(fā)板的調(diào)問題,需要按照以下步驟進(jìn)行操作
    的頭像 發(fā)表于 01-29 16:25 ?1089次閱讀
    主站蜘蛛池模板: 狠狠狠色丁香婷婷综合久久| 国产精品久久自在自2021| 新影音先锋男人色资源网| 欧美人与动牲交XXXXBBBB免费| 精品日产1区2卡三卡麻豆| 亚洲精品乱码电影在线观看| 色在线视频亚洲欧美| 欧美成ee人免费视频| 美女的避毛| 囯产精品一品二区三区| G国产精品无马| beeg日本老师按摩| JLZZJLZZJLZ老师好多的水| 亚洲色婷婷久久精品AV蜜桃| 迅雷成人下载| 无码国产欧美日韩精品| 我要色导航| 小夫妻天天恶战| 亚洲不卡高清免v无码屋| 小色哥影院| 亚洲精品久久久一区| 亚洲熟妇色自偷自拍另类| 影音先锋av天堂| 97色伦图片97色伦图影院久久| 亚洲精品乱码久久久久久直播| 新金梅瓶玉蒲团性奴3| 亚洲AV无码专区国产精品麻豆 | 色综合久久88色综合天天提莫| 日韩 国产 欧美视频二区| 两个奶头被吃得又翘又痛| 国精一区二区AV在线观看网站| 成人在线视频免费观看| 征服艳妇后宫春色| 最近的2019中文字幕国语完整版| 中文字幕在线久热精品| 99九九精品视频| 超碰视频在线| 国产精品无需播放器| 俄罗斯老妇女BBXX| 国产成人精品午夜福麻豆报告| 98久久人妻少妇激情啪啪|