0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

arduino童芯派彩屏显示图片,图片取模后在TFT液晶显示

电子设计 来源:电子设计 作者:电子设计 2020-12-24 15:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

继续玩童芯派,128x128的彩屏应该是童芯派的一大亮点,150元(零售价)的开源硬件带这么大的彩屏还是很少见的(非常有职业操守,就不对比其他板子了)。

别的不BB了,直接进入正题,先说原理。

原理:

无论是12864的液晶还是1602的液晶,还是彩色的TFT的液晶,原理上是差不多的,只不过一般的黑白液晶是用0和1来显示一个点,比如0代表不现实,1代表显示,这样一堆的点就能够组合出图案了。彩屏的原理也一样,只不过因为要表示彩色,所以不能只用“黑”和“白”来表示,需要用更多的数字区分不同的颜色

总结:将每个点的颜色信息发送到屏幕模块上,就能显示图像了

针对童芯派,童芯派上是128×128个点组成的,即128行,128列,一共128×128个点,如果是用01表示黑白,那么这些点理论上需要128×128×1b的存储空间(b是小写的,即bit,位,8b=1B),如果我们要显示16位的图像,那么就需要128x128x16b=128x128x2B的空间来存储这些图像信息(存储空间不用太关注,但现实的原理要了解,回头写程序用)

程序:

正常传统的思路是根据液晶的芯片手册来编写程序,将每个点的信息写入到模块里。这显然太麻烦了,arduino创客玩家不这么玩,另外官方也提供了底层的驱动库,我们直接拿来用。

上图是童芯派库的目录文件结构(PIO里截的图,这样比较好看),其中lcd.c就是底层驱动,cyberpi.cpp是“逻辑层”驱动,可以理解为cyberpi.cpp是在lcd.c的基础上将功能进行了进一步封装。

这次我们需要的函数在cyberpi.cpp中,函数名称及参数

void CyberPi::set_lcd_pixel(uint8_t x,uint8_t y,uint16_t color)

set_lcd_pixel函数需要3个参数,从上边讲述的原理很容易联想到x和y分别对应LCD的要显示点的位置,color就是要显示图像对应点的颜色。然后写个循环将上次用(【工具】TFT彩屏图片点阵取模工具,Img2Lcd图片取模软件,图片生成c语言头文件)工具生成的数组循环发给LCD就行了

for(int y=0;y<128;y++) { for(int x=0;x<128;x++) { picL = gImage_IMG16_XHR[128*x*2+2*y+1];//低位 在后 picH = gImage_IMG16_XHR[128*x*2+2*y];//高位 在前 data16 = picL|picH<<8; cyber.set_lcd_pixel(y,x,data16);//底层是128×第二个变量+第一个变量 } }

其中gImage_IMG16_XHR[]就是用Img2Lcd工具将图片转换成的数组,生成的数组是16位的,所以需要将数组的高位和低位组合给data16(16位数据)。因为童芯派屏的方向是“歪”的,所以x、y交换一下位置就行了。

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示
    +关注

    关注

    1

    文章

    468

    浏览量

    46040
  • 设计测试
    +关注

    关注

    0

    文章

    9

    浏览量

    7704
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智能显示模块导入图片显示乱码是什么原因?显示图片模糊是为什么?

    智能显示模块导入图片显示乱码是什么原因?显示图片模糊是为什么?
    发表于 11-27 18:22

    TFT液晶显示屏为什么会显示残影、如何解决

    ? 残影的本质是液晶分子长时间施加直流电压无法完全恢复到初始状态。对于工业应用,以下几个原因尤为突出: 长期静态显示(最主要原因) 工业场景:工业设备的
    发表于 09-08 09:04

    如何使用 M031 系列微控制器 (MCU) 的 PDMA 将 SPI 闪存中的图片数据移动到 TFT 显示器?

    使用 M031 系列微控制器 (MCU) 的 PDMA 将 SPI 闪存中的图片数据移动到 TFT 显示
    发表于 08-19 08:08

    ocr识别时数据集上传压缩包,上传成功,但不显示图片图片数量仍显示0,为什么?

    ocr识别时数据集上传压缩包,上传成功,但不显示图片图片数量仍显示0
    发表于 07-23 08:11

    浅谈TFT显示屏的供电方式

    作为现代电子设备的核心视觉载体,液晶屏 的显示效果与寿命,极大程度依赖于其供电系统的精准与稳定。尤其对于TFT(薄膜晶体管)类液晶模块,其内部构造精密,包含升压电路、数字逻辑、Gamm
    的头像 发表于 07-16 15:49 1231次阅读

    液晶显示屏出厂要做哪些安全检测

    液晶显示屏(LCD)在出厂时需要进行一系列安全检测,以确保其使用过程中不会对用户造成任何潜在的安全隐患。这些检测主要包括电气安全、机械安全、环境适应性等方面,以下是液晶显示屏出厂需要做的主要安全
    的头像 发表于 06-30 14:59 884次阅读
    <b class='flag-5'>液晶显示</b>屏出厂要做哪些安全检测

    希恩凯电子推出全新3.95寸TFT液晶显示

    智能家居控制面板的优雅流转中,新能源设备精准数据的跃动间,一块清晰、可靠、响应迅捷的显示屏是用户体验的核心支点。希恩凯电子有限公司,深耕显示技术领域的中国
    的头像 发表于 06-06 11:41 1001次阅读

    液晶显示模组短路修复及相关激光液晶面板线路修复方法

    一、引言 液晶显示模组作为显示设备的核心组件,其性能直接影响显示效果。短路故障是液晶显示模组常见问题,严重影响产品质量与可靠性。同时,液晶
    的头像 发表于 05-08 17:12 1008次阅读
    <b class='flag-5'>液晶显示</b>模组短路修复及相关激光<b class='flag-5'>液晶</b>面板线路修复方法

    瑞佑RA8889液晶显示控制器+STM32F103的游戏机案例,分辨率可支持到1366*2048

    液晶显示
    瑞福科技
    发布于 :2025年05月06日 16:44:48

    DLP6500显示图片非常的暗,为什么?

    DLP6500显示图片非常的暗DDP4422连接显示显示非常的暗用DDP4421连接显示板则能正常
    发表于 03-03 07:35

    应用方案 大尺寸液晶显示器配套芯片解决方案

    液晶显示器(Liquid Crystal Display),简称“LCD”,是利用液晶材料电场作用下光学性质发生改变而实现图像显示的平板显示
    的头像 发表于 02-25 17:30 896次阅读
    应用方案 大尺寸<b class='flag-5'>液晶显示</b>器配套芯片解决方案

    DLP3010EVM-LC使用HDMI电脑分屏全屏显示图片的情况下,和直接从烧录的图片投影会不会有什么不同?

    我想知道使用HDMI电脑分屏全屏显示图片的情况下,和直接从烧录的图片投影会不会有什么不同。 因为我在用普通的家用的投影时发现从HDMI分屏显示
    发表于 02-21 06:22

    10.1英寸串口屏 高清智能终端串口显示模块1365*768分辨率 工业工控触摸触控液晶显示

    10.1英寸串口屏 1365*768分辨率高清智能终端串口显示模块 工业工控触摸触控液晶显示
    的头像 发表于 02-18 16:02 841次阅读
    10.1英寸串口屏 高清智能终端串口<b class='flag-5'>显示</b>模块1365*768分辨率 工业工控触摸触控<b class='flag-5'>液晶显示</b>器

    液晶显示技术的未来发展趋势

    液晶显示技术以其轻薄、低功耗、高分辨率等优点,已经成为现代电子设备中不可或缺的显示技术。随着消费者对显示效果要求的提高以及新技术的不断涌现,液晶显示技术正面临着新的挑战和机遇。 1.
    的头像 发表于 12-27 09:16 2319次阅读

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】驱动TFT显示图片

    本篇我们来实验驱动TFT显示图片 如图所示TFT模块,2.0寸SPI协议176*220 核心驱动IO有,与RA开发板的接线方式为: CS——》P201 RST——》P205 RS——
    发表于 12-23 23:01