erro na leitura dos botões do LCD.

Ola rapaziada!

Estou com problema, pois sou novato neste universo arduino, comprei essa placa de LCD com botões, http://www.droboticsonline.com/media/catalog/product/cache/1/image/5e06319eda06f020e43594a9c230972d/a/r/arduinolcdkeypadforstore3.jpg.
Só que esse código, ao apertar a preimeira tecla, ele lê como esquerda, e pelo certo seria a tecla select, e a que seria esquerda ta lendo como down(pra baixo), olhe na imagem que verão a posição das teclas, abaixo o código.

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5

int read_LCD_buttons()
{
adc_key_in = analogRead(0);
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 650) return btnLEFT;
if (adc_key_in < 850) return btnSELECT;

if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
*/

return btnNONE;
}

void setup()
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Push the buttons");
}

void loop()
{
lcd.setCursor(9,1);
lcd.print(millis()/1000);

lcd.setCursor(0,1);
lcd_key = read_LCD_buttons();

switch (lcd_key)
{
case btnRIGHT:
{
lcd.print("RIGHT ");
break;
}
case btnLEFT:
{
lcd.print("LEFT ");
break;
}
case btnUP:
{
lcd.print("UP ");
break;
}
case btnDOWN:
{
lcd.print("DOWN ");
break;
}
case btnSELECT:
{
lcd.print("SELECT");
break;
}
case btnNONE:
{
lcd.print("NONE ");
break;
}
}

}

aguardo retorno, muito obrigado.

Isso deve ter a ver com o bloco comentado da função 'read_LCD_buttons'. Tente:

int read_LCD_buttons()
{
 adc_key_in = analogRead(0);     

 if (adc_key_in < 50)   return btnRIGHT; 
 if (adc_key_in < 195)  return btnUP;
 if (adc_key_in < 380)  return btnDOWN;
 if (adc_key_in < 555)  return btnLEFT;
 if (adc_key_in < 790)  return btnSELECT;   

 return btnNONE; 
}

Já agora, dê uma leitura nas regras do fórum e veja como posta código sff.

Obrigado, deu certo!