diff --git a/docs/jak_h0428 b/docs/jak_h0428 new file mode 100644 index 0000000..bf639ab --- /dev/null +++ b/docs/jak_h0428 @@ -0,0 +1,126 @@ +j'ai reussi a faire fonctionner le petit clavier et le lcd +les 2 ecrans fonctionnent +pour le back light qui ne s'allume pas j'ai fait l'essai avec une frontale sur le coté + je vais faire eclairer la led autrement +le transistor doit être mort + +attention au réglage potentiometre de la polarisation +V0 doit être vers 1.10 volt + + +// select the pins used on the LCD panel +LiquidCrystal lcd(8, 9, 4, 5, 6, 7); + et non pas 8 9 7 6 5 4 + +https://www.dfrobot.com/wiki/index.php/Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009) +Old libraries for V1: +LCDKeypad +DFR_Key + +http://image.dfrobot.com/image/data/DFR0009/LCDKeypad%20Shield%20V1.0%20SCH.pdf +https://www.dfrobot.com/wiki/images/a/a7/LCDKeypad_Shield_SCH.png +https://www.youtube.com/watch?v=D6iaUeJPMc0 + +Example use of LiquidCrystal library +___________ +//Sample using LiquidCrystal library +#include + +/******************************************************* + +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 + // For V1.1 us this threshold + 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; + + // For V1.0 comment the other threshold and use the one below: +/* + 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; + } + } + +}