[Tuto] Utiliser un shield LCD

Posté sur: août 21, 2013

Catégories: Arduino

Tags: 2560 , 2x16 , arduino , boutique , clone , ide , lcd , magasin , mega , paris , physique , shield , uno

Lire la valeur d'un capteur

Le but de ce montage est de mettre en place un montage rapide avec un shield (= carte d'extension) comprend un écran LCD et des boutons poussoirs. Le programme sera simple, il affichera sur l'écran le nom du bouton pressé.

Ce montage est une adaptation de http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)

Composants nécessaires :

Un Arduino

1 shield écran + boutons

Principe du montage :

Le montage de shield est très simple. Il suffit de poser le shield directement sur le Arduino.


Composants

 

Réalisation du montage :

Pour réaliser le montage poser le shield sur le Arduino (Attention au sens). Guidez vous en fonction des bornes A0 à A5.

Montage 1
Montage 2
Montage 4
Montage 3

Remarque : Le potentiomètre (composant bleu avec une vis) permet le réglage du contraste.

Fonctionnement du shield :

Voici comment est réellement câblé le shield :


Bornes


Fonction


Analog 0


Bouton (select, up, right, down and left)


Digital 4


DB4


Digital 5


DB5


Digital 6


DB6


Digital 7


DB7


Digital 8


RS (données ou sélection du signal)


Digital 9


Activation (Enable)


Digital 10


Contrôle du rétroéclairage

Programmation du montage :


Le programme va nous afficher sur l'écran le nom des boutons appuyés. Pour cela il va utiliser une librairie spécific au LCD, la librairie « LiquidCrystal.h ». Cette librairie comprend de très nombreuses fonctions pour en avoir la liste complète et la description, je vous invite à aller visiter le site officiel http://arduino.cc/en/Reference/LiquidCrystal?from=Tutorial.LCDLibrary

// Charger la librairie LiquidCrystal

#include

// Définir les pins utilisées par le LCDnLiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Définir les variables globales

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

// Fonction lire les boutons

int read_LCD_buttons()

{

adc_key_in = analogRead(0); // Lire les valeurs du capteurs

// Les valeurs renvoyées sont sensés être: 0, 144, 329, 504, 741

// Il y a une erreur possible de 50

if (adc_key_in > 1000) return btnNONE; // Nous découpons les valeurs possibles en zone pour chaque bouton

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;

return btnNONE; // On renvoie cela si l'on est au dessus de 850

}

void setup() // Initialisation

{

lcd.begin(16, 2); // Démarrer la librairie

lcd.setCursor(0,0);

lcd.print("Appuyer"); // Afficher un message simple

}

void loop() // Fonction principale

{

lcd.setCursor(0,1); // Placer le curseur au début de la seconde ligne

lcd_key = read_LCD_buttons(); // Lire les boutons

switch (lcd_key) // Selon le bouton appuyer

{

case btnRIGHT: // Pour le bouton "Right"{

lcd.print("RIGHT "); // Afficher "Right"

break;

}

case btnLEFT: // Pour le bouton "left"

{

lcd.print("LEFT "); // Afficher "Left"

break;

}

case btnUP: // Pour le bouton "Up"

{

lcd.print("UP "); // Afficher "Up"

break;

}

case btnDOWN: // Pour le bouton "Down"

{

lcd.print("DOWN "); // Afficher "Down"

break;

}

case btnSELECT: // Pour le bouton "Select"

{

lcd.print("SELECT"); // Afficher "Select"

break;

}

case btnNONE: // Sinon

{

lcd.print("NONE "); // Afficher "None"

break;

}

}

}

Il reste à brancher le Arduino pour compiler le programme et le téléverser.

Une fois terminé cela nous donne :

NONE
LEFT
RIGHT

 Pour aller plus loin :

On peut à partir de là afficher tout ce que l'on veut. Les possibilités sont très grande.

Commentaires

  • Lcd &eacute;cran shield &amp;#8211; Dreambot blog
    déc. 13, 2016

laissez un commentaire

Se connecter