数码营电子:基于微型控制器的编程、电路设计与电子产品制做。邮箱:shumaying@hotmail.com

LCD12864上显示动画

From 数码营电子实验室
Jump to navigation Jump to search

LCD12864上显示动画

实验要点:

  • 在LCD12864上显示动画。用到:SPI、U8glib、PROGMEM。
原理图
接线图
实物图

注意事项:

  1. SPI连接只用连接三根信号线。
  2. 液晶屏的背光需要连接电源正负极,电源来自UNO板。对比度用一个20K的电位器调整,10K也行,但大于或者小于这个范围,可能会有问题。
  3. 在Library的选用方面,经测试,U8g2不行,因为U8g2的实例化大约需要占用6成以上,也就是1.3k的SRAM,导致要显示的图片文件放不下。
  4. 由于动画的静态帧要定义成const字符型阵列,存在闪存里,否则会超出SRAM 2K的范围,导致编译通不过。
  5. 静态帧图片存在闪存(Flash)里,需要用到Arduino提供的PROGMEM宏。
  6. UNO的闪存是32K,这里显示的示例用了8张图片,占了大约三分之一的容积。
  7. 马的动画来自网上找到的一个gif图片,经网站https://ezgif.com/转化,可以缩放,可以分离为独立的帧图片。分离出来的独立图片要变成16进制文件,网上有多种免费工具,例如:tomeko.net网站,但这里转化出来的16进制文件太大,大到word文档要存100余页的程度,那显然不行。后来找到开源免费的制图软件GIMP,才解决了这个问题。

Qrcode for gh a3b9e9962ce8 1280.jpg