ADKeyboard Module (SKU: DFR0075)
ADKeyboard Module (SKU: DFR0075)
Contents
1 Introduction
2 Specifications
3 Pin out Diagram
4 Wiring Diagram
5 Sample Code
Introduction
This keyboard uses an analog input to read the five key state which saves IO resource for the
Arduino. It can be used together with our IO Expansion Shield_For Arduino(V5)_(SKU:_DFR0088) to
make amazing interactive project.
Specifications
Supply voltage: 5V
Interface: Analog
Size: 40x33mm
Pin out Diagram
Wiring Diagram
Sample Code
//ADKeyboard Module
//Developed by DFRobot.com
//Last modified 30/11/2011
//Version 1.0
int adc_key_val[5] ={600,650, 700,
800, 900 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;
void setup()
{
pinMode(13, OUTPUT);
//we'll use the debug LED to output a heartbeat
Serial.begin(9600); // 9600 bps
}
void loop()
{
adc_key_in = analogRead(0);
// read the value from the sensor
digitalWrite(13,LOW);
key = get_key(adc_key_in);
if (key != oldkey)
// convert into key press
// if keypress is detected
{
delay(50);
// wait for debounce time
adc_key_in = analogRead(0);
key = get_key(adc_key_in);
if (key != oldkey)
{
oldkey = key;
if (key >=0){
digitalWrite(13,HIGH);
switch(key)
{
// read the value from the sensor
// convert into key press
case 0:Serial.println("S1 OK");
break;
case 1:Serial.println("S2 OK");
break;
case 2:Serial.println("S3 OK");
break;
case 3:Serial.println("S4 OK");
break;
case 4:Serial.println("S5 OK");
break;
}
}
}
}
delay(100);
}
// Convert ADC value to key number
int get_key(unsigned int input)
{
int k;
for (k = 0; k < NUM_KEYS; k++)
{
if (input < adc_key_val[k])
{
return k;
}
}
if (k >= NUM_KEYS)k = -1;
// No valid key pressed
return k;
}
Powered By DFRobot © 2008-2017
很抱歉,暂时无法提供与“DFR0075”相匹配的价格&库存,您可以联系我们找货
免费人工找货- 国内价格
- 1+60.95604
- 2+56.02111
- 3+53.81715
- 6+52.97869