Go Down

Topic: [Résolu] Ecran LCD Sainsmart cassé? (Read 599 times) previous topic - next topic

theBug

Dec 25, 2012, 12:36 am Last Edit: Dec 25, 2012, 10:51 am by theBug Reason: 1
Salut tout le monde et joyeuse fêtes!

Alors voilà, il se trouve qu'à noël j'ai demandé un écran LCD 16*2 et j'ai reçu celui ci ---> http://www.sainsmart.com/sainsmart-1602-lcd-keypad-shield-for-arduino-duemilanove-uno-mega2560-mega1280.html

Bref j'essaye d'afficher quelque chose, après quelques tentatives je dégotte un bon petit programme (Source: http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_%28SKU:_DFR0009%29):

Code: [Select]
//Sample using LiquidCrystal library
#include <LiquidCrystal.h>

/*******************************************************

This program will test the LCD panel and the buttons
Mark Bramwell, July 2010

********************************************************/

// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// define some values used by the panel and buttons
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

// read the buttons
int read_LCD_buttons()
{
adc_key_in = analogRead(0);      // read the value from the sensor
// my buttons when read are centered at these valies: 0, 144, 329, 504, 741
// we add approx 50 to those values and check to see if we are close
if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
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;  // when all others fail, return this...
}

void setup()
{
lcd.begin(16, 2);              // start the library
lcd.setCursor(0,0);
lcd.print("Push the buttons"); // print a simple message
}
 
void loop()
{
lcd.setCursor(9,1);            // move cursor to second line "1" and 9 spaces over
lcd.print(millis()/1000);      // display seconds elapsed since power-up


lcd.setCursor(0,1);            // move to the begining of the second line
lcd_key = read_LCD_buttons();  // read the buttons

switch (lcd_key)               // depending on which button was pushed, we perform an action
{
   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;
     }
}

}


Je le charge sur l'arduino, nickel, il y a bien le premier message qui s'affiche, mais lorsque j’appuie sur un bouton il me superpose les écritures, de façon bizarre...
J'ai alors appuyé sur le bouton reset et là plein de point d’interrogation et d'autres symboles. Je déconnecte alors l'arduino, je le rebranche et hop plus rien!  :smiley-eek:

Et je n'arrive pas à réafficher quoi que ce soit...
Je fais donc appelle à toutes votre expertise  :)

Merci d'avance !

theBug

Finalement le problème s'est résolu tout seul  :*
suite à ce programme:
Code: [Select]
#include <LiquidCrystal.h>

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

void setup()
{
  lcd.print("hello, world!");
}

void loop() {}


Mais je cherche encore mon erreur sur l'autre code  :smiley-zipper:

Sur ceux Joyeuses fêtes à tous!  :)


Go Up