依照网络上查询到的一些资料,昨天我完成了万博网页版登陆页派驱动GPIO液晶屏的小实验:
这里展示了一个小钟 :3
【材料】
1.派一枚
2.杜邦线若干,迷你面包板一块
3.一块液晶屏,128x64像素点,可以清晰显示4行每列16个字母(8个汉字)。
因为对单片机开发并不了解,所以我找了有成功案例的12864CoG (ST7565芯片的 8口串行模式)
【参考资料】
主要的资料参考了官方论坛的这个贴子:
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=32&t=25029
我几乎copy了整个gpio控制lcd的python代码,
有所不同的是,我的连线并没有完全参考原帖。
【改良】
基于参考资料做完后,只能显示程序中定义的ASCII168的英文数字。
所以,我的后续工作是让液晶屏可以显示汉字。
这里我用到了Python的pygame库以及Image库。
*做字库的工作是在一台windows电脑上完成的,因为在linux中上诉两个库是比较大的。
【生成字库的原理】
用pygame绘制单个汉字16x16像素点的bmp图片,这一步里可以定义汉字字体,
由于16x16像素点时宋体的效果比较好,所以我选择了宋体。
然后用Image库打开这个图片文件,读取每个像素的颜色值。
并且输出成一组16进制数值。
如下图:
我生成了utf4E00--->utf9FFF所有符号的编码,
这个过程大概在我机器上跑了20分钟。
最后输出生成的文件是3MB左右。
原程序中显示的英文字符都是8x16的。
upload字库文件到pi后,
需要对于参考资料内显示ascii168的代码稍加修改,以符合输出汉字的要求。