【arduino】童芯派彩屏显示图片,图片取模后在TFT液晶显示
微信关注 “DLGG创客DIY”
设为“星标”,重磅干货,第一时间送达。
继续玩童芯派,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交换一下位置就行了。
你点的每个在看,我都当成喜欢
【arduino】童芯派彩屏显示图片,图片取模后在TFT液晶显示相关推荐
- 局域网抢答器_基于童芯派的抢答器V1.0
[童心制物Makeblock]的新产品"童芯派"发布已两月有余,刚一发布就第一时间入手三个含扩展板的套装,Makeblock的产品我还是很认可的,从mbot,ranger到程小奔, ...
- 【arduino】玩CyberPi童芯派之真点灯,点亮板载RGB灯,GPIO扩展芯片AW9523B驱动
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 上周开了个头,简单介绍了一下CyberPi童芯派,今天开始搞驱动,本来是想搞彩屏的,还 ...
- 【arduino】不做不死系列,用arduino玩CyberPi童芯派之helloworld点灯
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 童芯派CyberPi发售有2个月了,我在6月底拿到了一块,简单玩了一下,感觉还是非常N ...
- 【arduino】继续用arduino玩CyberPi童芯派之DA音频信号播放
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. hi老铁们,我回来了,今天继续玩CyberPi童芯派. 经过大量的试验,终于把DA播放 ...
- 【arduino】继续arduino玩CyberPi童芯派之官方arduino库
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 昨天文章提到了,github上有个CyberPi童芯派的库,开始以为是哪个大神搞的,感 ...
- 可能是目前最给力的开源硬件——ESPlay Micro V2,童芯派劲敌他来了
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 文章目录 前言&概述 主角 价格 对比 MCU 屏幕 有电池 其他 公司 最后 ...
- 开源硬件童芯派了解一下?一个真创客聊聊开源硬件
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 前言&概述 值此童芯派获开源硬件认证之际(有点像软文啊,我风格你们懂的,绝对不 ...
- 图片字体提取 c语言,图片文字取模工具
图片文字取模工具是一款相当快捷方便的图片取模工具:通过该软件,可以轻松的即可完成各种任意大小字体的设置,也支持进行文字方面的取模,包括了对任意大小的格式进行设置:软件也支持用户自定义的输入您需要的各种 ...
- LCD / OLED显示汉字,取模软件PCtoLCD2002完美版
一.LCD显示汉字结果展示: 二.取模软件的使用(PCtoLCD2002完美版) 1. 打开软件,模式为(字符模式) 点击菜单栏[选项],打开字模选项 勾选[阴码点阵].逐列式取模.顺向(高位在前,低 ...
最新文章
- activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
- DDD 领域驱动设计-如何 DDD?
- 构造函数未定义_构造函数(constructor)和观察者模式,谁略胜一筹呢?
- Dreamweaver操作常见的问题
- 连贯的学习黑树(插入节点)
- 海量特征按照缺失值null/NAN数量异同进行分组归类
- Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析
- 职场上,比尽力更重要的,是要学会“借力”
- 挖掘频繁模式、关联和相关性:基本概念和方法
- 安卓启动相关以及架构设计相关
- 商业智能BI系统对企业有什么好处
- AndroidTV开发7实现仿小米电视和各种盒子TV焦点放大缩小效果
- 管理信息系统案例分析_BIM案例分析—地下空间工程(二)
- 使用PPT编写一个序号抽奖
- 网页怎么看不到css,怎么查看网页的CSS代码?如何阅读?
- VSCode 使用 StandardJS 自动格式化代码
- radio单选框操作
- Spring——事物操作
- 工业设计公司:从外观设计到软硬件设计
- Zbush建模笔记_036_Zsketch 创建初始模型(与Z球建模配合使用)