The simple test for LCD Keypad Shieid [1.6]

来源:互联网 发布:淘宝扣分规则2017 编辑:程序博客网 时间:2024/06/02 03:36

I use the  LCD Keypad Shieid to show the data which Arduino test.

The following code can detect keystrokes.

//example use of LCD4Bit_mod library#include <LCD4Bit_mod.h> //create object to control an LCD.  //number of lines in display=1LCD4Bit_mod lcd = LCD4Bit_mod(2); //Key messagechar msgs[5][15] = {"Right Key OK ",                     "Up Key OK    ",                     "Down Key OK  ",                     "Left Key OK  ",                     "Select Key OK" };int  adc_key_val[5] ={30, 150, 360, 535, 760 };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  lcd.init();  //optionally, now set up our application-specific display settings, overriding whatever the lcd did in lcd.init()  //lcd.commandWrite(0x0F);//cursor on, display on, blink on.  (nasty!)   lcd.clear();  lcd.printIn("KEYPAD testing... pressing");    }void loop() {adc_key_in = analogRead(0);    // read the value from the sensor    digitalWrite(13, HIGH);    key = get_key(adc_key_in);        // convert into key pressif (key != oldkey)    // if keypress is detected{    delay(50);// wait for debounce timeadc_key_in = analogRead(0);    // read the value from the sensor      key = get_key(adc_key_in);        // convert into key press    if (key != oldkey)    {      oldkey = key;      if (key >=0){      lcd.cursorTo(2, 0);  //line=2, x=0  lcd.printIn(msgs[key]);      }    }  }    //delay(1000);  digitalWrite(13, LOW);       }// Convert ADC value to key numberint 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;}

You can use these buttons as variables to control the display of some data.

Also,youcan use different button to show different data.

原创粉丝点击