微信关注 “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液晶显示相关推荐

  1. 局域网抢答器_基于童芯派的抢答器V1.0

    [童心制物Makeblock]的新产品"童芯派"发布已两月有余,刚一发布就第一时间入手三个含扩展板的套装,Makeblock的产品我还是很认可的,从mbot,ranger到程小奔, ...

  2. 【arduino】玩CyberPi童芯派之真点灯,点亮板载RGB灯,GPIO扩展芯片AW9523B驱动

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 上周开了个头,简单介绍了一下CyberPi童芯派,今天开始搞驱动,本来是想搞彩屏的,还 ...

  3. 【arduino】不做不死系列,用arduino玩CyberPi童芯派之helloworld点灯

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 童芯派CyberPi发售有2个月了,我在6月底拿到了一块,简单玩了一下,感觉还是非常N ...

  4. 【arduino】继续用arduino玩CyberPi童芯派之DA音频信号播放

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. hi老铁们,我回来了,今天继续玩CyberPi童芯派. 经过大量的试验,终于把DA播放 ...

  5. 【arduino】继续arduino玩CyberPi童芯派之官方arduino库

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 昨天文章提到了,github上有个CyberPi童芯派的库,开始以为是哪个大神搞的,感 ...

  6. 可能是目前最给力的开源硬件——ESPlay Micro V2,童芯派劲敌他来了

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 文章目录 前言&概述 主角 价格 对比 MCU 屏幕 有电池 其他 公司 最后 ...

  7. 开源硬件童芯派了解一下?一个真创客聊聊开源硬件

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 前言&概述 值此童芯派获开源硬件认证之际(有点像软文啊,我风格你们懂的,绝对不 ...

  8. 图片字体提取 c语言,图片文字取模工具

    图片文字取模工具是一款相当快捷方便的图片取模工具:通过该软件,可以轻松的即可完成各种任意大小字体的设置,也支持进行文字方面的取模,包括了对任意大小的格式进行设置:软件也支持用户自定义的输入您需要的各种 ...

  9. LCD / OLED显示汉字,取模软件PCtoLCD2002完美版

    一.LCD显示汉字结果展示: 二.取模软件的使用(PCtoLCD2002完美版) 1. 打开软件,模式为(字符模式) 点击菜单栏[选项],打开字模选项 勾选[阴码点阵].逐列式取模.顺向(高位在前,低 ...

最新文章

  1. activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
  2. DDD 领域驱动设计-如何 DDD?
  3. 构造函数未定义_构造函数(constructor)和观察者模式,谁略胜一筹呢?
  4. Dreamweaver操作常见的问题
  5. 连贯的学习黑树(插入节点)
  6. 海量特征按照缺失值null/NAN数量异同进行分组归类
  7. Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析
  8. 职场上,比尽力更重要的,是要学会“借力”
  9. 挖掘频繁模式、关联和相关性:基本概念和方法
  10. 安卓启动相关以及架构设计相关
  11. 商业智能BI系统对企业有什么好处
  12. AndroidTV开发7实现仿小米电视和各种盒子TV焦点放大缩小效果
  13. 管理信息系统案例分析_BIM案例分析—地下空间工程(二)
  14. 使用PPT编写一个序号抽奖
  15. 网页怎么看不到css,怎么查看网页的CSS代码?如何阅读?
  16. VSCode 使用 StandardJS 自动格式化代码
  17. radio单选框操作
  18. Spring——事物操作
  19. 工业设计公司:从外观设计到软硬件设计
  20. Zbush建模笔记_036_Zsketch 创建初始模型(与Z球建模配合使用)

热门文章

  1. 今天来个爪哇去边框的小代码
  2. JVM原理和性能调优
  3. SPC.NET,为5年的开发做个结尾
  4. 关于谷歌自动换行的奇异效果
  5. jQuery源码学习
  6. UA MATH574 概率论 一个均匀分布的例题2018May/4
  7. C# main函数的返回值 - 译
  8. 图解net use 命令使用示例
  9. 图解VC++开发ActiveX控件C#调用
  10. 图解.Net Telerik 控件教程