在网上找了很久,没有找到完整的4*4矩阵键盘,再要么就是库代码,库代码写得超级复杂,本来一个简单的问题复杂化了。没办法,在试用了库后,仔细去看了源代码。现我把自己的代码发给大家。
void setup() {
// put your setup code here, to run once:
for(int i = 2;i< 10;i++)
{
if(i < 6)
pinMode(i,INPUT);
else
pinMode(i,OUTPUT);
}
Serial.begin(9600);
}
void initKey()
{
for(int i = 2;i< 10;i++)
{
if(i < 6)
{pinMode(i,INPUT);digitalWrite(i,HIGH);}
else
{pinMode(i,OUTPUT);digitalWrite(i,LOW);}
}
}
int x,y ;
void loop() {
// put your main code here, to run repeatedly:
int val = 0;
initKey();
x = 0;
y = 0;
for(int i =6;i<10;i++)
{
for(int j = 2; j < 6;j++)
{
digitalWrite(i,LOW);
int v = digitalRead(j);
if(v == 0 )
{
x = i;
y = j;
}
}
digitalWrite(i,HIGH);
}
Serial.print("Cur :x =");
Serial.print(x);
Serial.print(", y =");
Serial.println(y);
delay(500);
}
哥的代码简单易懂。以此做为学习了这个坛子里的其他大神的内容的回报。 |