afficheur LCD

je suis actuellement sur un afficheur LCD mais je rencontre quelque soucis et après avoir épluche le net à la recherche de solution en vains , je viens à vous pour vous faire pars de mon soucis.

tous d’abord voilà l’écran que j’utilise : http://skyduino.wordpress.com/2012/05/05/test-shield-lcd-keypad-de-dfrobot/

  • Je cherche à faire intervenir les boutons left/right sur le “scroll” de la première ligne uniquement et pas sur tout l’afficheur.

et deuxième problème ( je n’ai trouvé aucun tuto sur internet parlant de ce sujet).

  • Je cherche à réalisé comme un menu avec la possibilité de faire monté et descendre les lignes et leurs infos avec les boutons up/down

merci d’avance de votre aide .

#include "LiquidCrystal.h" //ajout de la librairie

//Vérifier les broches !

LiquidCrystal lcd(11,10,7,6,5,4); //liaison 4 bits de données

int bouton = A1;
int memoire = (0,0);

void setup()
{
  
 Serial.begin (9600);
 
 pinMode (bouton, INPUT);  
 lcd.begin(16,2); //utilisation d'un écran 16 colonnes et 2 lignes
    
 lcd.print ("Programme LCD, numero 1 de la liste !!");
 
}
void loop(){
  
  int bouton_val = analogRead(bouton);
  
  valeur();
  
  lcd.setCursor(0,1);
  lcd.print (bouton_val);
  
  
  
}


void valeur(){
  
  int bouton_val = analogRead(bouton);
  int temps = millis();
  
   if ( bouton_val >= 900 && millis() >1000){
     lcd.home();
   }
 
  
   else if (bouton_val >=400 && bouton_val <= 550){ //left
    lcd.setCursor(0,0);
    lcd.scrollDisplayLeft();
    delay(400);
   }
   
   else if (bouton_val >=10 && bouton_val <= 160){ //right
    lcd.setCursor(0,0);
    lcd.scrollDisplayRight();
    delay(400);
   }

   else if (bouton_val >=170 && bouton_val <=220){ //up   
   
   }
   
   else if (bouton_val >=300 && bouton_val <=375){ // down

   }
   
   else if (bouton_val >=620 && bouton_val<=700){  //select
   
   }
  

}

bonjour déjà :wink:
http://www.dfrobot.com/wiki/index.php/LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009

    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;

G-Ijo:
et deuxième problème ( je n'ai trouvé aucun tuto sur internet parlant de ce sujet).

Alors ça ça m'étonnerais, t'a pas du surfer très loin du bord de la page :grin:

merci pour c’est info, c’est déjà plus que les 25/30 pages que je me suis taper grace a google :confused:

je vais planchez la dessus.

infobarquee:
bonjour déjà :wink:
http://www.dfrobot.com/wiki/index.php/LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009

    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;

j’avais une question justement par rapport à ça .
si - if (adc_key_in < 250) return btnUP;
n’est-il pas aussi égale à tous les autres ??
car concrètement on idique uniquement que “Right” est inférieur à 50 et il est donc également inférieur a tous les autres .
n’y a t-il pas un conflit dans le code??
de plus j’ai remarqué en prenant les valeurs direct en sortie ce ne sont pas les même que celle indique par le constructeur de plus elles oscillent d’où ma programmation "perso " .

ça a une insdence sur le reste??

si le “constructeur” donne ce code, c’est pour une bonne raison, non?
la valuer peut varier de quelques chiffres, d’ou le < et non =