OLED模块显示自己想要的字和图片

您所在的位置:网站首页 变化两个字图片 OLED模块显示自己想要的字和图片

OLED模块显示自己想要的字和图片

2023-11-21 13:06| 来源: 网络整理| 查看: 265

文章目录 前言一、汉字取模二、使用步骤1.新建文档2.写入程序 三、显示图片照片格式转换BMP图片转换为代码代码 总结写在最后

前言

这篇文章不记录有关OLED的初始化以及工作原理等概念,仅以实用性出发,如何在OLED上显示自己想要的字

一、汉字取模

我们需要先有一个取模软件,我这里演示的是PCtoLCD2002,实际为白嫖软件。

链接:PCtoLCD2002百度网盘 提取码:qc22

二、使用步骤 1.新建文档

在这里插入图片描述 点击文件→新建

在这里插入图片描述

之后会弹出这个窗口,输入你想要的尺寸。这里我采取12*12的格式。

在这里插入图片描述

之后在模式中选择字符模式 字宽字高调节为12*12 具体尺寸看最开始新建的尺寸 截图时我并没有修改

之后点击选项,弹出这个 在这里插入图片描述 在我画蓝线的位置进行修改,点阵索引根据刚才自己设置的规格设置 这是我设置好后的样子 在这里插入图片描述 之后就可以在中间的框里输入你想要显示的字

在这里插入图片描述 字模就已经取好了。

2.写入程序

找到程序的字符库数组

unsigned char Hzk5[16][12]={ {0x02,0x04,0x80,0x20,0x18,0x87,0x74,0x84,0x04,0x14,0x0C,0x00}, {0x02,0x01,0x08,0x04,0x02,0x01,0x00,0x01,0x02,0x04,0x08,0x00}, {0x48,0x2A,0x98,0x7F,0x28,0x4A,0x10,0xEF,0x08,0xF8,0x08,0x00}, {0x09,0x0B,0x05,0x05,0x0B,0x00,0x08,0x05,0x02,0x05,0x08,0x00}, {0xFE,0x22,0x22,0xFE,0x00,0x08,0x48,0x88,0x08,0xFF,0x08,0x00}, {0x07,0x02,0x02,0x07,0x00,0x00,0x00,0x09,0x08,0x0F,0x00,0x00}, {0x00,0xF9,0x02,0xF8,0x49,0x49,0x49,0x49,0xF9,0x01,0xFF,0x00}, {0x00,0x0F,0x00,0x03,0x02,0x02,0x02,0x02,0x0B,0x08,0x0F,0x00}, {0x20,0x10,0x2C,0x23,0xE0,0x20,0x20,0x23,0xEC,0x10,0x20,0x00}, {0x00,0x08,0x04,0x03,0x00,0x08,0x08,0x08,0x07,0x00,0x00,0x00}, {0x12,0xD2,0xFE,0x91,0x40,0x38,0x00,0xFF,0x00,0x04,0xB8,0x00}, {0x01,0x00,0x0F,0x00,0x08,0x08,0x04,0x04,0x02,0x01,0x00,0x00}, {0x62,0x22,0xBA,0xAA,0xAA,0xAB,0x6A,0x6A,0x3A,0x22,0x62,0x00}, {0x00,0x08,0x0A,0x0A,0x0A,0x07,0x0D,0x0D,0x09,0x08,0x0C,0x00}, {0x62,0x22,0xBA,0xAA,0xAA,0xAB,0x6A,0x6A,0x3A,0x22,0x62,0x00}, {0x00,0x08,0x0A,0x0A,0x0A,0x07,0x0D,0x0D,0x09,0x08,0x0C,0x00}, };

将转换好的字模数组替换到程序源码里的字符库内,一定注意不同尺寸的字符库不是一个数组。并且这里每一个字的数组被分为了两个,所以注意修改数组定义的第一个参数。

之后再在显示函数中使用就可以了,这里一定要注意字对应的x,y坐标,往往两个字之间取2个单位作为间隔。

下面给出我的效果 在这里插入图片描述

三、显示图片 照片格式转换

这里需要将我们想要转换的照片进行格式转化,并且转换成像素为128*64以内的大小。 这里我使用的是Img2lcd(提取码:rw4k) 如图在这里插入图片描述

点击左上角的 “打开”,选择我们想要进行转换的照片,将 **“最大宽度和高度”**设置为128和64来匹配我们的OLED屏幕,上面的扫描模式不需要我们进行设置,因为 **“输出数据类型”**我们设置的是BMP格式,不同的扫描模式没有区别。

我们还可以看到右侧的图片预览图,通过调整下方的亮度与对比度来调整线条。

最后我们点击上方的保存即可。

BMP图片转换为代码

这里我们还是使用PCtoLCD2002取模软件。 在这里插入图片描述 点击那个文件夹图标,选择上我们的BMP照片,之后点击选项,像汉字取模一样进行设置。

在这里插入图片描述 生成字模之后,我们需要注意字宽,字高旁边有个图像大小,这里的大小我们需要记住,后面写函数的时候需要用到。

代码

在代码中我们先定义一个数组保存我们的这个字模数据,之后调用库里的绘图函数。

void OLED_DrawBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char BMP[]) { unsigned int j=0; unsigned char x,y; if(y1%8==0) y = y1/8; else y = y1/8 + 1; for(y=y0;y WriteDat(BMP[j++]); } } }

可以看到这个函数入口参数有五个,第一个和第二个为一对,代表图片左上角坐标,第三个和第二个为一对,代表右下角坐标,这里的y坐标代表的是第几页,所以参数范围为0-8,根据y在哪一页进行写函数,第五个参数为数组指针,将这些参数正确编写之后就可以让oled进行图片的显示。

下面是样例: 在这里插入图片描述 但是因为图片分辨率太小,导致显示效果不佳,但是还是大致能看出效果的。

根据两个图片的延迟、切换,就能够实现gif的显示,还需要大家自己进行尝试了。

总结

OLED显示可以很有趣味显示一些自己想要的东西,这篇文章仅供参考。

写在最后

本人小白一枚,这些仅仅是我个人的经验与认知,也许含有多处错误,希望读者给我指正。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3