OLED模块显示自己想要的字和图片 |
您所在的位置:网站首页 › 怎么样定位小孩的手机 › OLED模块显示自己想要的字和图片 |
文章目录
前言一、汉字取模二、使用步骤1.新建文档2.写入程序
三、显示图片照片格式转换BMP图片转换为代码代码
总结写在最后
前言
这篇文章不记录有关OLED的初始化以及工作原理等概念,仅以实用性出发,如何在OLED上显示自己想要的字 一、汉字取模我们需要先有一个取模软件,我这里演示的是PCtoLCD2002,实际为白嫖软件。 链接:PCtoLCD2002百度网盘 提取码:qc22 二、使用步骤 1.新建文档
之后会弹出这个窗口,输入你想要的尺寸。这里我采取12*12的格式。 之后在模式中选择字符模式 字宽字高调节为12*12 具体尺寸看最开始新建的尺寸 截图时我并没有修改 之后点击选项,弹出这个
找到程序的字符库数组 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取模软件。
在代码中我们先定义一个数组保存我们的这个字模数据,之后调用库里的绘图函数。 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 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |