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