|
楼主 |
发表于 2012-3-13 19:22:14
|
显示全部楼层
刚才把液晶屏和触摸屏的保护膜都揭掉了,用胶水粘在一起。这样就成了一个新的组件,方便调试。
加了一段代码,void keyPress(int dx,int dy) 用来判读哪个按钮被按下。 - /*
- LCD Arduino
- PIN1 = GND
- PIN2 = 5V
- RS(CS) = 8;
- RW(SID)= 9;
- EN(CLK) = 3;
- PIN15 PSB = GND;
- */
- #define xLow 17
- #define xHigh 15
- #define yLow 16
- #define yHigh 14
- #include "LCD12864RSPI.h"
- void setup()
- {
- Serial.begin(9600);
- LCDA.Initialise(); // initialize
- delay(100);
- LCDA.CLEAR();// clear screen
- }
- void loop()
- {
- pinMode(xLow,OUTPUT);
- pinMode(xHigh,OUTPUT);
- digitalWrite(xLow,LOW);
- digitalWrite(xHigh,HIGH);
- digitalWrite(yLow,LOW);
- digitalWrite(yHigh,LOW);
- pinMode(yLow,INPUT);
- pinMode(yHigh,INPUT);
- delay(10);
- //xLow has analog port -14 !!
- int x=analogRead(yLow -14);
- pinMode(yLow,OUTPUT);
- pinMode(yHigh,OUTPUT);
- digitalWrite(yLow,LOW);
- digitalWrite(yHigh,HIGH);
- digitalWrite(xLow,LOW);
- digitalWrite(xHigh,LOW);
- pinMode(xLow,INPUT);
- pinMode(xHigh,INPUT);
- delay(10);
- //xLow has analog port -14 !!
- int y=analogRead(xLow - 14);
- Serial.print(x,DEC);
- Serial.print(",");
- Serial.println(y,DEC);
- keyPress(x,y);
- splitNum(0,1,x);
- splitNum(1,1,y);
- delay(500);
- }
- //split number and display to screen
- void splitNum(int dx,int dy,int sn)
- {
- int d0=0;
- int d1=0;
- int d2=0;
- if(sn<10){
- d0=sn;
- d1=0;
- d2=0;
- }
- else if(sn<100){
- d0= sn%10;
- d1= sn/10;
- d2=0;
- }
- else if(sn<1000){
- d0=sn%10;
- d1=sn%100/10;
- d2=sn/100;
- }
- else{
- d0=9;
- d1=9;
- d2=9;
- }
- LCDA.DisplaySig(dx,dy,d2+48);
- LCDA.DisplaySig(dx,dy+1,d1+48);
- LCDA.DisplaySig(dx,dy+2,d0+48);
- }
- //display which key was press
- void keyPress(int dx,int dy){
- if(dy>145&&dy<234){
- if(dx>103&&dx<220){
- LCDA.DisplaySig(3,1,69);
- LCDA.DisplaySig(3,2,115);
- LCDA.DisplaySig(3,3,99);
- }
- else if(dx>300&&dx<423){
- LCDA.DisplaySig(3,1,60);
- LCDA.DisplaySig(3,2,60);
- LCDA.DisplaySig(3,3,60);
- }
- else if(dx>505&&dx<625){
- LCDA.DisplaySig(3,1,62);
- LCDA.DisplaySig(3,2,62);
- LCDA.DisplaySig(3,3,62);
- }
- else if(dx>702&&dx<833){
- LCDA.DisplaySig(3,1,69);
- LCDA.DisplaySig(3,2,110);
- LCDA.DisplaySig(3,3,116);
- }
- delay(500);
- LCDA.DisplaySig(3,1,0);
- LCDA.DisplaySig(3,2,0);
- LCDA.DisplaySig(3,3,0);
- }
- }
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|