基于Image2Lcd和PCtoLCD2002软件图片取模的解决方案

2023-11-02 22:40

本文主要是介绍基于Image2Lcd和PCtoLCD2002软件图片取模的解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

联合两款软件进行图片取模,OLED显示

这两天做的一个小项目,是有关于智能家居系统方面,智能家居,肯定侧重于人机交互界面的实现与解决方案,而大家在DIY的时候,用的最多的也就是0.96寸OLED,(我这里用的是I2C通信方式,不是SPI),遇到了OLED显示图片的问题,查阅好多技术文档,也没找到适合于我这个问题的解决方案,在我的博客上贴下我的解决方案,供大家参考。

0.96寸OLED

0.96寸的OLED只能显示单色,像素不大于128*64的图片,但是标准的单色,且适合于自己项目的图片不好找,所以就需要自己来做。因为我这个项目写了一个语音小助手:小宁宁同学。在我每次唤醒它的时候,需要OLED显示特定的图片来告知我指令识别识别是否成功(其实我还外接了一个语音播放模块SYN6288,外置功率5W的扬声器,收到指令可与我交流:我在,主人请吩咐,这里只讲述OLED显示部分)。自己做图片,我在手机上找到的一个表情包图片,觉得还可以,就把它当作我的语音助手“小宁宁同学”。
c在这里插入图片描述在下面加句英文:Here!(加中文显示效果并不好)
在这里插入图片描述你会发现这张图虽只有黑白两种颜色,但图片属性为灰色,且像素大于128X64,启动Image2Lcd,打开照片。
在这里插入图片描述你会看到输入图片像素为300X300,修改最大宽度和高度,到像素为64X64附近(受照片高度影响,像素不可能调到128X64),输出数据类型为**.BMP格式,扫描模式为水平扫描**,输出灰度为单色,点击保存,保存后的图片用PCtoLCD2002打开
在这里插入图片描述选择模式为图形模式,打开刚刚从Image2Lcd导出的照片,并更改设置格式如下:
在这里插入图片描述点击生成字模即可
在这里插入图片描述
将代码放在工程里面即可(我的硬件是STM32F103C8T6)
在这里插入图片描述显示效果如下:
在这里插入图片描述因为我的涉及到开灯,关灯等动作,就需要有相应的图片来显示,所以我就手画了两张(请叫我灵魂画手
开灯:

关灯:
在这里插入图片描述

显示效果如下,开灯:

在这里插入图片描述关灯:

在这里插入图片描述显示效果还可以,希望能对大家有所帮助。PCtoLCD2002Image2Lcd两款软件很常见,在此我就不贴出压缩包了。
大家多多在评论区留言,有问题我会答复。

这篇关于基于Image2Lcd和PCtoLCD2002软件图片取模的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/333776

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.