基于触摸屏的LED彩色台灯控制系统设计
本系统是利用触摸屏控制的可调颜色的照明灯具。灯源为大功率超高亮三基色发光二极管组成。本设计最大的亮点是触摸屏上所指示的颜色与实际灯照出的颜色一致。到通过c 语言程序对单片机的PWM 功能进行控制实现相应的坐标变换使灯具实现调色调亮的效果,为使用者提供一个随心调节室内气氛的良好工具。
一、控制硬件总体设计
系统的总体框图如图1 所示。系统可有输入,输出,控制三部分组成,当触摸屏被按下触摸屏芯片读取触摸屏上X 轴与Y 轴的值,然后通过SPI 协议传送到控制器,控制器负责信号的处理,把处理完毕的信号以PWM 方式输出驱动LED.
![图1 系统总体框图](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_0.jpg)
图1 系统总体框图
二、触摸屏的使用
本系统选择电阻式触摸屏,它将矩形区域中触摸点(X,Y) 的物理位置转换为代表X 坐标和Y 坐标的电压其触摸屏结构如图2 所示。图3 显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF 的总线接ADC 的正参考输入端,并将设置为0V 的总线接ADC 的负参考输入端。
![图2 电阻触摸屏结构。](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_1.jpg)
图2 电阻触摸屏结构。
![图3 电阻触摸屏简化模型](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_2.jpg)
图3 电阻触摸屏简化模型。
三、接口电路设计
1. 控制器与触摸屏连接
本系统采用美国TI 公司生产的ADS7843,该芯片内置12 位AD 转换、低导通电阻模拟开关的SPI 总线接口触摸屏控制。供电电压为2.7 ~ 5.25V,参考电压VREF 为1V~+VCC,转换电压范围为0 ~ VREF,控制器可通过内置的SPI 输出口MOSI、MISO、SCK 与触摸屏芯片进行连接,如图4 所示。
![图4 单片机与触摸屏接口电路图。](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_3.jpg)
图4 单片机与触摸屏接口电路图。
2. LED驱动电路
控制器输出PWM 波形作为驱动电路的驱动信号,三极管Q1 作为斩波器件。当驱动信号为高电平时三极管处于截止状态,LED 不亮;当输入信号为低电平三极管处于导通状态,LED 点亮。红色LED 的驱动电路如图5 所示,绿色与蓝色LED 的驱动电路的结构与红色的相同,单片机的PB7 端为绿色LED 的驱动信号,PD4 为蓝色LED 的驱动信号。
![](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_4.jpg)
图5 红色LED的驱动电路图。
四、系统的程序设计
1.系统总流程图
系统硬件可以分为输入、控制、输出部分,其中控制部分是连接输入、输出。单片机程序决定输入如何影响输出,输出如何响应输入,其具体框图如图6 所示。单片机对ADS7843 进行读取后对数据进行坐标变换,最后把处理的值输出驱动LED.
![图6 系统软件流程图](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_5.jpg)
图6 系统软件流程图。
2.触摸屏坐标读取
所谓的触摸点坐标是指当触摸屏被按下时触摸芯片读出的X 轴与Y 轴的数值。触摸坐标的读取时非常关键的,它是触摸屏使用过程中最重要的环节,若触摸点坐标有误,将导致单片机错误处理。首先使能ADS7843,然后向ADS7843 写入测量X 坐标的控制字,延时若干毫秒后,读取ADS7843 的转换数据。读取的数据即X 的坐标值;再把测量Y 坐标控制字写入ADS7843,延时若干毫秒后,读取ADS7843 的转换数据,就得到了Y 坐标的值,然后禁止ADS7843.这样既完成了一次读取坐标值的过程。其具体流程如图7所示。
![图7 ADS7843读取框图](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_6.jpg)
图7 ADS7843读取框图
3.系统坐标校准处理
由于任意两个触摸屏上的点密度都不可能完全一致,所以要求在使用触摸屏之前,必须进行校准。校准方式有两点校准,三点校准,四点校准等。其中,校准的点数越多,触摸屏数据越精确,校准也越繁琐。本系统使用两点校准的方法对触摸屏进行校准。
(1) 先分别测试触摸屏左下角及右上角的坐标(ads7843_xmin,ads7843_ymin);(ads7843_xmax,ads7843_ymax);
(2) 计算水平方向的比率(ads7843_xts)和垂直方向的比率(ads7843_yts);
(3)假设液晶屏中的当前点是液晶屏坐标(X,Y):
当前点的触摸屏的X 坐标=X× ads7843_xts+ ads7843_xmin ;
当前点的触摸屏的Y 坐标=Y× ads7843_yts+ ads7843_ymin ;
系统执行校准程序后把触摸屏左下角, 右下角的坐标值与水平方向的比率存放如单片机EEPROM 中,每当系统重新启动时调用对应的数值有于对触摸位置的判别。
4.控制器SPI通讯
控制器ATmega48内部集成SPI通讯所需的软硬件功能,主机和从机之间的SPI 连接如图8所示。系统包括两个移位寄存器和一个主机时钟发生器,通过将从机的 SS引脚拉低,主机启动一次通讯过程。主机和从机将需要发送的数据放入相应的移位寄存器。主机在SCK引脚上产生时钟脉冲以交换数据。主机的数据从主机的MOSI移出,从从机的MOSI移入;从机的数据从从机的MISO移出,从主机的MISO移入。主机通过将从机的SS拉高实现与从机的同步。
![图8 控制器SPI通讯框图](http://editerupload.eepw.com.cn/fetch/20130906/167896_1_7.jpg)
![](https://webstorage.eepw.com.cn/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码