在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arduino篇—OLED顯示進階

冬至子 ? 來源:X的創客課堂 ? 作者:MRXY ? 2023-11-02 09:19 ? 次閱讀

課程目標

  • 取模軟件的使用
  • OLED中文字符的顯示

相關知識

**字模顯示原理:**我們使用的OLED屏是由方形的發光點陣列組成的,分辨率為128x64。英文和數字最小可用8x8像素,漢字最小顯示像素為16x16,通常為了顯示效果,英文和數字通常使用8x16像素表示,稱為1608字體。

在OLED顯示屏上顯示字符,和在點陣上顯示圖像是一樣的都是通過區域內的像素點的亮暗來呈現圖案。

圖片

**1608字體:**1608代表著字符顯示的區域大小,即高度16位*寬度8位

圖片

**PCtoLCD取模軟件:**我們可以通過取模軟件來自動生成想要顯示的文字編碼。這里重點講一下PCtoLCD軟件的應用。

取模軟件的使用:

1、啟動軟件,點擊「模式」,選擇「字符模式」。

圖片

2、點擊「選項」進行字模配置。通常字模配置要根據程序驅動方式來選擇,我們選擇陰碼、逐行式、順向,其他選項如下圖所示。

圖片

3、輸入漢字。點擊生成字模或者保存字模,就會得到對應的點陣數據。

圖片

電路搭建

所需材料

ArduinoUNO * 1
OLED顯示屏 * 1
杜邦線若干

電路連接

OLED屏的VCC和GND分別連接開發板的5V和GND,OLED屏的SDA和SCL分別連接開發板A4和A5。

圖片

程序編寫

練習一:OLED顯示中文字符

通過取模軟件,將需要顯示的中文進行轉換。然后編寫程序,讓OLED能夠顯示出來。圖形化方式這里不做贅述,主要通過代碼的方式來實現。

代碼方式:

/* 項目名稱:OLED顯示中文
   項目時間:2022.03.17
   項目作者:MRX
*/
#include < Wire.h >
#include < Adafruit_GFX.h >
#include < Adafruit_SSD1306.h >


#define OLED_RESET     4
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);


//取16X16漢字字模 逐行式 順向高位在前
static const unsigned char PROGMEM str1[] =
{
  0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x24,0x20,0x24,0x20,0x24,0x20,
  0x25,0xFC,0x49,0x04,0x29,0x04,0x11,0x04,0x29,0x04,0x45,0x04,0x85,0xFC,0x01,0x04

};/*"姑",0*/


static const unsigned char PROGMEM str2[] =
{
  0x08,0x20,0x08,0x20,0xFF,0xFE,0x08,0x20,0x0A,0x20,0x02,0x00,0x7F,0xF0,0x02,0x10,
  0x02,0x14,0x22,0x12,0x22,0x12,0x24,0x12,0x44,0x10,0x08,0x10,0x10,0xA0,0x20,0x40


};/*"蘇",1*/
static const unsigned char PROGMEM str3[] =
{
  0x20,0x28,0x20,0x24,0x20,0x20,0x27,0xFE,0x24,0x20,0xFC,0x20,0x24,0x24,0x27,0xA4,
  0x24,0xA4,0x24,0xA8,0x24,0xA8,0x3C,0x90,0xE6,0x92,0x49,0x2A,0x08,0x46,0x10,0x82


};/*"城",2*/


static const unsigned char PROGMEM str4[] =
{
  0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x3E,0x40,0x22,0x60,0x42,0x50,0x42,0x48,
  0xA4,0x44,0x14,0x44,0x08,0x40,0x08,0x40,0x10,0x40,0x20,0x40,0x40,0x40,0x80,0x40


};/*"外",3*/


static const unsigned char PROGMEM str5[] =
{
  0x02,0x00,0x01,0x00,0x7F,0xFE,0x44,0x42,0x9F,0xF4,0x04,0x40,0x3F,0xF8,0x04,0x40,
  0xFF,0xFE,0x08,0x20,0x13,0x10,0x20,0x88,0xC0,0x46,0x06,0x00,0x01,0x80,0x00,0x40


};/*"寒",4*/


static const unsigned char PROGMEM str6[] =
{
  0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,
  0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x00,0x08,0x00,0x00


};/*"山",5*/


static const unsigned char PROGMEM str7[] =
{
  0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x20,
  0x00,0x20,0x7F,0xFC,0x08,0x20,0x04,0x20,0x04,0x20,0x00,0x20,0x00,0xA0,0x00,0x40


};/*"寺",6*/


void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.setTextColor(WHITE);//開像素點發光
  display.clearDisplay();//清屏


  display.setTextSize(1); //設置字體大小
  display.setCursor(35, 5);//設置顯示位置
  display.println("-MRXCLASS-");//輸出字符


  display.drawBitmap(10, 32, str1, 16, 16, 1); //畫出字符對應點陣數據
  display.drawBitmap(26, 32, str2, 16, 16, 1); //畫出字符對應點陣數據
  display.drawBitmap(42, 32, str3, 16, 16, 1); //畫出字符對應點陣數據
  display.drawBitmap(58, 32, str4, 16, 16, 1); //畫出字符對應點陣數據
  display.drawBitmap(74, 32, str5, 16, 16, 1); //畫出字符對應點陣數據
  display.drawBitmap(90, 32, str6, 16, 16, 1); //畫出字符對應點陣數據
  display.drawBitmap(106, 32, str7, 16, 16, 1); //畫出字符對應點陣數據
  display.display();//開顯示                


}


void loop() {


}

演示圖片:

圖片

代碼分析:

程序中我們使用了圖像庫「Adafruit_GFX」中的drawBitmap()函數進行位圖繪制,函數參數分別輸入了要顯示的坐標,字符數據源,字符的寬高,最后參數由于我們的OLED是單色的,默認為1**。**

void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, int16_t w, int16_t h, uint16_t color);

這會在一部分顯示區域中發出連續的位信息。這里1代表是像素被設置成規定的顏色,0就是不設置像素的顏色。x,y是位圖左上角,w和h是寬度和高度。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • OLED屏
    +關注

    關注

    0

    文章

    162

    瀏覽量

    20848
  • SDA
    SDA
    +關注

    關注

    0

    文章

    124

    瀏覽量

    28134
  • SCL
    SCL
    +關注

    關注

    1

    文章

    239

    瀏覽量

    17081
  • GND
    GND
    +關注

    關注

    2

    文章

    539

    瀏覽量

    38713
  • OLED顯示
    +關注

    關注

    1

    文章

    55

    瀏覽量

    17001
收藏 人收藏

    評論

    相關推薦

    《HELLO+FPGA》-項目進階篇

    《HELLO+FPGA》-項目進階篇
    發表于 09-27 10:13

    學習arduino進階教學

    學習arduino進階教學。arduino進階準備工作首先需要一塊面包板(又稱萬用線路板、集成電路實驗板),一些小電阻,一些杜邦線,兩個LED燈。面包板面包板是由于板子上有很多小插孔
    發表于 02-24 07:48

    Arduino UNO機械開關和OLED屏幕護罩的資料分享

    描述Arduino UNO機械開關和OLED屏幕護罩材料:4 個 10 歐姆電阻。4 個機械鍵盤開關。1x Arduino UNO20x 通用引腳。1x OLED
    發表于 08-30 06:54

    USB HID設備應用(進階篇

    Freescale的USB HID設備應用(進階篇
    發表于 12-07 18:19 ?0次下載

    0.96_OLED顯示屏_arduino_IIC_例程

    0.96OLED顯示屏_arduino_IIC_例程.rar
    發表于 07-11 18:43 ?96次下載

    0.96_OLED顯示屏_arduino_SPI_例程

    0.96OLED顯示屏_arduino_SPI_例程.rar
    發表于 07-12 10:36 ?117次下載

    OLED的波形曲線、進度條、圖片顯示(STM32 HAL庫 模擬SPI通信 5線OLED屏幕)詳細

    OLED的波形曲線、進度條、圖片顯示(STM32 HAL庫 模擬SPI通信 5線OLED屏幕)詳細
    發表于 12-01 10:51 ?57次下載
    <b class='flag-5'>OLED</b>的波形曲線、進度條、圖片<b class='flag-5'>顯示</b>(STM32 HAL庫 模擬SPI通信 5線<b class='flag-5'>OLED</b>屏幕)詳細<b class='flag-5'>篇</b>

    Hello Alexa使用OLED顯示模塊和Arduino

    電子發燒友網站提供《Hello Alexa使用OLED顯示模塊和Arduino.zip》資料免費下載
    發表于 11-10 10:37 ?1次下載
    Hello Alexa使用<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>模塊和<b class='flag-5'>Arduino</b>

    基于ArduinoOLED的元胞自動機

    該項目使用I2C 128×64 OLED顯示Arduino Nano供電的微型細胞自動機。
    發表于 12-06 10:22 ?0次下載

    使用ArduinoOLED顯示器的乒乓球游戲

    電子發燒友網站提供《使用ArduinoOLED顯示器的乒乓球游戲.zip》資料免費下載
    發表于 02-01 11:32 ?1次下載
    使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>器的乒乓球游戲

    Arduino上將文本打印到OLED顯示

    電子發燒友網站提供《在Arduino上將文本打印到OLED顯示器.zip》資料免費下載
    發表于 06-09 10:29 ?1次下載
    在<b class='flag-5'>Arduino</b>上將文本打印到<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>器

    帶有選擇選項的Arduino OLED顯示菜單

    電子發燒友網站提供《帶有選擇選項的Arduino OLED顯示菜單.zip》資料免費下載
    發表于 06-28 15:53 ?3次下載
    帶有選擇選項的<b class='flag-5'>Arduino</b> <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>菜單

    ArduinoOLED顯示

    OLED「OrganicLight-Emitting Diode」:** 有機發光二極管,又稱有機發光半導體,是當下非常受歡迎的顯示技術。
    的頭像 發表于 11-02 09:15 ?7270次閱讀
    <b class='flag-5'>Arduino</b><b class='flag-5'>篇</b>—<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>屏

    RK3568驅動指南|驅動基礎進階篇-進階8 內核運行ko文件總結

    RK3568驅動指南|驅動基礎進階篇-進階8 內核運行ko文件總結
    的頭像 發表于 01-31 14:58 ?1160次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階篇</b>-<b class='flag-5'>進階</b>8 內核運行ko文件總結

    OLED 顯示雷達數據

    使用螢火工場CEM5826-M11雷達模塊,Arduino IDE 編譯代碼,OLED顯示雷達數據
    的頭像 發表于 12-10 13:38 ?145次閱讀
    <b class='flag-5'>OLED</b> <b class='flag-5'>顯示</b>雷達數據
    主站蜘蛛池模板: av福利网址网站| 一道精品一区二区三区| 神马午夜98| 欧美黑人粗硬大在线看| 久久国产美女| 成人午夜大片免费视频77777| free chinese 国产精品| 丁香婷婷综合五月六月| 热久久最新视频| 国内一区二区三区精品视频| 亚瑟 国产精品| 午夜女同影院| 亚洲最色网站| 色多多黄| 激情理论| 一级做a免费视频| 美女被免费网站视频在线| 好骚综合在线| 色多多视频在线播放| 一级看片免费视频囗交| 久久久久久久国产免费看| 99热久久精品最新| 狠狠色丁香婷婷综合久久片| 天天看天天做| 中国性猛交xxxxx免费看| 啪啪啦资源站永久| 你懂得视频在线| 亚洲午夜久久久久影院| 8x8x极品国产在线| 婷婷激情六月| 经典三级第一页| 2019天天操| 日韩一区二区三区免费| 爱爱的免费视频| 国产美女影院| 2021国产成人精品国产| 国产亚洲视频在线播放大全 | 97天天摸天天碰天天爽| 四虎国产精品免费入口| 国产三片理论电影在线| 婷婷六月丁香午夜爱爱|