Bonjour a tous.
Petit tuto pour allumé ou éteindre l'affichage d'un Shield LCD.
Matériel a avoir sous la mains.
Une carte Arduino.
Le Shield LCD:
Est c'est tout , et oui.
Maintenant la petit programmation que je vous fournie.
Voila si vous avez des questions hésité pas a les poster.
Merci a vous tous.
Petit tuto pour allumé ou éteindre l'affichage d'un Shield LCD.
Matériel a avoir sous la mains.
Une carte Arduino.
Le Shield LCD:
Est c'est tout , et oui.
Maintenant la petit programmation que je vous fournie.
- Code:
/*******************************************************
* Test activation/désactivation retro-éclairage LCD 5 boutons DFRobot
*
*
*
********************************************************/
/************* Librairie(s) à inclure ****************/
#include <LiquidCrystal.h>
/************* Définir les broches du LCD (pins) ****************/
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int PinLCDBacklight = 10; // broche LCD Backlight
int PinBouton = 0; // broche analogique (A0) utisée pour les 5 boutons
/************* Définition des E/S ****************/
//int PinLedArduino = 13; // Led sur circuit Arduino
/************* Constantes ****************/
#define btnRIGHT 0 // define some values used by the panel and buttons
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
/************* Variables ****************/
// Réglables
//
// NON Réglables
byte lcd_key = 0;
int adc_key_in = 0;
/************* Setup ****************/
void setup()
{
lcd.begin(16, 2); // initialiser la LCD library, 16 caractères, 2 lignes
//pinMode(PinLedArduino, OUTPUT);
pinMode(PinLCDBacklight, OUTPUT); // Broche LCD backlight en sortie
digitalWrite(PinLCDBacklight, HIGH); // Retro-éclairage actif (par défaut il est déjà mais je le justifie ici)
}
/************* Boucle principale ****************/
void loop()
{
lcd.setCursor(0,0); // placer le curseur à la première ligne, première position
lcd.print(" LCD eclairage "); // texte d'accueil
lcd.setCursor(0,1); // placer le curseur au début de la seconde ligne
lcd.print(" <-On Off->"); // boutons à utiliser
lcd_key = read_LCD_buttons(); // lire la valeur du bouton (->fonction)
switch (lcd_key) // selon le bouton appuyé ...
{
case btnRIGHT:
{
digitalWrite(PinLCDBacklight, LOW); // Retro-éclairage éteint
//lcd.noDisplay(); // désactive l'affichage texte
break;
}
case btnLEFT:
{
digitalWrite(PinLCDBacklight, HIGH); // Retro-éclairage actif
//lcd.display(); // active l'affichage texte
break;
}
case btnUP:
{
break;
}
case btnDOWN:
{
break;
}
case btnSELECT:
{
break;
}
case btnNONE:
{
break;
}
}
}
/************* Sous programmes ****************/
/************* Fonctions ****************/
// Lire la valeur A/D retournée selon le bouton choisi
int read_LCD_buttons()
{
adc_key_in = analogRead(PinBouton);
if (adc_key_in > 1000) return btnNONE; // On commence par la valeur la plus probable : Aucun appui sur bouton !
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; // si aucun appui sur bouton, on retoune la constante btnNONE ...
}
Voila si vous avez des questions hésité pas a les poster.
Merci a vous tous.