Please help

Do you have a question on how to do something.
Ask in here.
Post Reply
Micrus
Posts: 1
Joined: Tue Aug 14, 2012 10:36 am

Please help

Post by Micrus »

Please help with code
Arduino Duemilanove have LCD216 Display and RTC Propox I can not change the code to make it work

Code: Select all

#include <LiquidCrystal.h>
//create object to control an LCD.  
//number of lines in display=1
LiquidCrystal lcd(8,9,4,5,6,7);

//Key message
char msgs[5][15] = {"Select Key OK",//"Right Key OK ", 
                    "Right Key OK",//"Up Key OK    ", 
                    "Up Key OK    ",//"Down Key OK  ", 
                    "Down Key OK  ",//"Left Key OK  ", 
                    "Left Key OK  "};
int  adc_key_val[5] ={20, 270, 520, 690, 880};
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

   // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  
 

  lcd.print("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 press
	
	if (key != oldkey)				    // if keypress is detected
	{
    delay(50);		// wait for debounce time
		adc_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.setCursor(0, 1);  //line=2, x=0
  		lcd.print(msgs[key]);	
      }
    }
  }
  
  //delay(1000);
  digitalWrite(13, LOW);
  

 
  
  
}

// 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;
}


RTC


Analog In 4-SDA
Analog In 5-SCL
Post Reply