【arduino自制扩展】2块钱自制完美无抖动电阻矩阵键盘,无需扩展IC,支持3点触控~

前几天10块钱弄来了100来个微型开关,闲来没事就想弄个矩阵键盘玩玩,由于图便宜,就直接搞了个电阻键盘,没想到精度确相当高,即使延迟1毫秒也毫无抖动,说明电阻键盘也是很好用的,通过软件可以实现微延迟“3点触控”,还是相当划算的~



成本一共也就2块钱左右,却完全可以媲美或者超过淘宝上30多的矩阵键盘,自己动手才是王道~



电路图:

QQ截图20120117134700.jpg

2012-1-17 13:48 上传
(18.43 KB)





arduino主控器:

QQ截图20120117134743.jpg

2012-1-17 13:48 上传
(50.74 KB)





键盘:

QQ截图20120117134736.jpg

2012-1-17 13:48 上传
(51.75 KB)





背面自制EPP封胶:

QQ截图20120117134747.jpg

2012-1-17 13:48 上传
(35.34 KB)





演示视频:



演示代码:



#define NOTE_D0 -1

#define NOTE_D1 294

#define NOTE_D2 330

#define NOTE_D3 350

#define NOTE_D4 393

#define NOTE_D5 441

#define NOTE_D6 495

#define NOTE_D7 556

#define NOTE_DL1 147

#define NOTE_DL2 165

#define NOTE_DL3 175

#define NOTE_DL4 196

#define NOTE_DL5 221

#define NOTE_DL6 248

#define NOTE_DL7 278

#define NOTE_DH1 589

#define NOTE_DH2 661

#define NOTE_DH3 700

#define NOTE_DH4 786

#define NOTE_DH5 882

#define NOTE_DH6 990

#define NOTE_DH7 112



#define WHOLE 1

#define HALF 0.5

#define QUARTER 0.25

#define EIGHTH 0.25

#define SIXTEENTH 0.625

int tonePin=8;//蜂鸣器的pin

void setup()

{

pinMode(tonePin,OUTPUT);//设置蜂鸣器的pin为输出模式



}

void loop()

{

int v;

float te;

v=analogRead(2);

te=v/4.5 ;

v=(int)te;

int va;

float tem;

va=analogRead(1);

tem=va/4.5 ;

va=(int)tem;

int val;

float temp;

val=analogRead(0);

temp=val/4.5 ;

val=(int)temp;



if(va==151)

{

tone(tonePin,NOTE_D5);

}

if(val==151)

{

tone(tonePin,NOTE_D6);

}

if(v==113)

{

tone(tonePin,NOTE_D1);

}

if(va==113)

{

tone(tonePin,NOTE_D2);

}

if(val==113)

{

tone(tonePin,NOTE_D3);

}

if(v==151)

{

tone(tonePin,NOTE_D4);

}

delay(100);

noTone(tonePin);

}





via - 极客工坊

标签: Arduino教程