全部学习汇总: https://github.com/GreyZhang/arduino_uno
手里也有一个LCD的模块,最早的时候应该是跟着Arduino一起买的。但是,一直以来也没有用过。其实,有好几次想把这个模块开发出来,这样可以让我的很多测试信息可以方便的显示出来,后来全都放弃了。
最近打算从最底层的层面看看Arduino的整个开发基础框架,全部的例子以及驱动的开发全都摸一遍。还是看到了这里,找出来做了简单的测试。
几个Demo测试还是很顺利,全都正常运行起来了。就是简单的显示,可以分析总结的东西不是很多。接下来,从最基础的层面看看这个模块的几个最基本的应用。
管脚的配置暂且不说了,例程开始的注释介绍的清楚。这个begin的方法,主要是提供对LCD显示阵列的一个初始化。上面的参数,分别为列和行。
setCursor用来设置即将输出的位置,而70行的设计是为了能够上输出在上下两行之间切换。2行全都输出完的时候,清空整个屏幕。适当增加延时,可以让显示更加清晰。
在测试的过程中,遇到了显示异常的情况。主要是范围超出边界时候的出来,比如,我一直print而不设置位置,在屏幕范围之内的时候会正常在后面追加。而后面的行为,似乎又是一个不可直接看出规律的行为。这个后期我研究驱动实现的时候或许能够弄明白,目前暂且没有什么很好的头绪。
这个LCD的例程,其实还是只是给我一点提示性信息。如果后期我需要自己定制一个硬件设备的时候,可以通过这种模式来实现。不过,通过这一堆部件来做一个什么很实用的东西的话感觉上可行性不大。因为部件太零碎,一大堆的东西总让人觉得凌乱或者不可靠。或许,这也就是设计与学习之间的一个差异。