钻石会员
主题
回帖0
积分18733
阅读权限50
注册时间2012-12-12
最后登录1970-1-1
在线时间 小时
|
本帖最后由 apachectl 于 2014-10-13 09:42 编辑
串口触摸屏:
自从串口屏推出以来,价格低,使用容易,迅速在爱好者及厂家中得到很好的相应,很多大学中的实验
课程以及各种单片机参赛作品中广泛使用了串口屏,一些制作设备仪器的厂家也广泛使用;在与一家做智能家控
的企业聊天之后,得出,家居智能控制等领域急需低成本串口触摸屏,且可以通过软件将业主家的户型图直接编
辑入内,点哪个屋,哪个屋的灯亮,适合产品及家装工程,于是产生了制作串口触摸屏的想法;
本来想换IO口更多的单片机,想着这个20脚的STM32带液晶屏和SPI存储器已经够费劲的了,基本不可能带更
复杂的触摸屏IC,经过思考和策划,发现STM32潜力无限,居然可以通过公用IO的方式将这些设备全部带动,
可以算上是超高IO利用率了;
原理图:
可以看到,IO管脚的复用度非常高;既要保证速度,又要保证IO的特性,这对编程提出了更高的难度;
串口屏开发,前面已经有专贴,说明了,这里不再说明,请参见本人在此论坛的其他帖子;
而触摸屏在编程上麻烦事不少,比如要设计触摸校准界面,要存储校准数据,还得根据返回点击的XY值判断
是哪个热区被点中,总之代码非常的多,这方面,我费了大量的代码,让这个系统好用,便于开发:
比如:TPST(400,240); 一条指令就可以完成触摸屏的校准,校准后,系统自动向下执行传入的GPU语句;
校准界面:
在设计热区中,可以使用下列语句:- CLS(13);
- BTN(1,10,10,90,90,1);
- DS16(20,50,'1号按钮',1);
- BTN(2,110,10,190,90,2);
- DS16(120,50,'2号按钮',1);
- BTN(3,210,10,290,90,3);
- DS16(220,50,'3号按钮',1);
- BTN(4,310,10,390,90,4);
- DS16(320,50,'4号按钮',1);
- BTN(5,10,110,90,190,1);
- DS16(20,150,'5号按钮',1);
- BTN(6,110,110,190,190,2);
- DS16(120,150,'6号按钮',1);
- BTN(7,210,110,290,190,3);
- DS16(220,150,'7号按钮',1);
- BTN(8,310,110,390,190,4);
- DS16(320,150,'8号按钮',1);
- DS24(0,210,'触摸屏演示:',0);
- DS16(150,218,'触摸按钮,观察串口传出的数据',0);
- TPN(2);
复制代码 系统自动出现:
请注意系统点击和不点击时,按钮的式样;
点击按钮后,系统会通过串口传出:
[BN:4]
表示4号按钮被按下;
每屏支持32个热区按钮;
另外,触摸屏的好用与否,与程序写的是否合理有很大关系:完全在于触摸屏识别的流畅性
这幅图是我们在调试期间将获取触摸的点直接输出做的,可以看到,触摸屏每秒识别达数十次之多,这样
在以正常数度书写时才不至于断线;其实这是触摸屏编程的关键难点,很多单片机带的触摸屏在连续书写时,
呈现断点状态,试想,当您点击屏幕遇见的却是断点的那一瞬间,于是点击无效,这样就会出现让用户感觉
触摸屏不灵敏,时好时坏,直接影响用户感受,这样的产品不会得到用户的好评,自然赢得不了市场;而是
用我们的触摸屏,这种问题绝不会出现;
触摸屏的另一个难点就是,按钮的抖动问题,一般来说,我们的事件相应在按钮按下被释放的那个时间,
如果抖晃处理不好,就会遇见按钮被按下2次或多次,也直接影响用户感受,如果这些都处理的好,用户
感受就好,我们讲究的是:快速连点屏幕上的5个按钮,观察串口传出,必须是5个BN传出,而且顺序一致;
其他图片:
=======================================================================
3.5吋大屏:
不少人反映,希望板子上的定位孔可以自行设计,在设计3.5吋大屏的时候,基于这个需求,加上3.5吋的面积只放GPU的电路显得有些浪费,
于是有了搞核心板的想法,通过不断的变换布线的方法,最后,将所有的器件都布到了2X2CM的双层板上,密度之大,估计都到极限了,废话
不多说了,上图:
3.5吋屏,分辨率480X272,效果非常好
===========================================================================================
后面陆续会有一些开源的基于USart-GPU的项目在论坛公布,比如1~6S 的锂电池电压显示仪,代码已经到尾声了,估计很快就能出来了;也许大家可以一块搞一个基于触摸屏的数控电源之类,似乎很方便啊;
http://item.taobao.com/item.htm? ... &id=41397487432
http://item.taobao.com/item.htm? ... &id=41438137446
|
|