Afficheur LCD standard
On trouve dans le commerce pour quelques euros des afficheur de 1 a 4 lignes et de 4 a 20 caractères par lignes.Lorsqu'on utilise un simple afficheur, pas besoin de télécharger la librairie "LiquidCrystal", elle est déjà incluse dans l'IDE Arduino.
Le programme comportant un afficheur doit commencer par ces lignes.
#include <LiquidCrystal.h> // librairie pour l'afficheur LCD
LiquidCrystal lcd( 7, 8, 9, 10, 11, 12); // définition des broches RS/E/D4/D5/D6/D7, elles seront toujours dans cet ordre coté afficheur, il faut vérifier le doc du constructeur mais en général c'est identique a l'image ci-dessous
Vous constaterez que lors de la définition des broches, on utilise pas toutes les bornes de l'afficheur, celles-ci seront mise a la masse.
Après les déclaration, on configure l'afficheur
void setup() {
lcd.begin(20,4); // initialisation de l'afficheur type soit ici 20 caractères et 4 lignes
delay(10); // délai 10 ms pour l'initialisation
lcd.clear(); // rafraichissement de l'afficheur
delay(10); // délai de rafraichissement
}
Viens ensuite l'affichage proprement dit
void loop(void) {
lcd.setCursor(0,0); // on positionne le curseur caractère 0 ligne 0 cela aurait également put être 10,3
lcd.print ("Bonjour"); // le texte a afficher on appel l'afficheur "lcd" puis on lui demande d'écrire "print" soit afficheur.écris "Bonjour"
}
Si vous écrivez ces quelques lignes de programme ( sans mes commentaires), votre afficheur vous dira bonjour.
Le schéma de base
Un petit code simple
#include <LiquidCrystal.h>
LiquidCrystal lcd( 1, 2, 3, 4, 5, 6); // définition des broches RS/E/D4/D5/D6/D7
void setup() {
lcd.begin(16,2); // initialisation de l'afficheur type soit ici 16 caractères et 2 lignes
delay(10); // délai 10 ms pour l'initialisation
lcd.clear(); // rafraichissement de l'afficheur
delay(10); // délai de rafraichissement
}
void loop() {
lcd.setCursor(0,0); // on positionne le curseur caractère 0 ligne 0
lcd.print ("Bonjour");
lcd.setCursor(0,1);
lcd.print("je m appel joel");
}
Affichage de l'appui sur un bouton poussoir
On garde le même schéma, on rajoute simplement un bouton poussoirVous noterez que le BP est raccordé a la masse et non a +, simplement parce que j'utilise la résistance interne de l'arduino.
Le sketch
#include <LiquidCrystal.h>
LiquidCrystal lcd( 1, 2, 3, 4, 5, 6); // définition des broches RS/E/D4/D5/D6/D7
int BP = 7; // broche sur laquelle est raccordée le BP
void setup() {
lcd.begin(16,2); // initialisation de l'afficheur type soit ici 16 caractères et 2 lignes
delay(10); // délai 10 ms pour l'initialisation
lcd.clear(); // rafraichissement de l'afficheur
delay(10); // délai de rafraichissement
pinMode(BP,INPUT_PULLUP); // déclaration du Bouton en entrée avec résistance interne
}
void loop() {
lcd.setCursor(0,0); // on positionne le curseur caractère 0 ligne 0
lcd.print ("Bonjour"); // on conserve la première ligne
lcd.setCursor(0,1);
if (digitalRead (BP) == HIGH) // si BP appuyé
{
lcd.print("Bouton appuye"); // texte affiché
}
else // ou si BP non appuyé
{
lcd.print("Bouton relache");
}
}
A bientôt pour la suite affichage d'une valeur !!!
pas mal du tout, allez j'essaie
RépondreSupprimerMerci!! En cas de problème, n'hésitez pas a demander!!
SupprimerMerci, c'est très intéressant. Sauriez vous réalisez (sur le même principe lcd/push button) un système à incrémentation et décrémentation ? :)
RépondreSupprimerBonjour,
SupprimerC'est possible, cela dépend de ce que vous voulez faire
Bonjour,
RépondreSupprimerJe remercie Jojo de m avoir aide pour mon projet alarme technique (arduino-relais-afficheur)et c est avec efficacité et rapidité que Jojo m'a remis: plan et programme
Blog a recommander A TOUS
Cordialement
WR
Salut,
SupprimerMerci pour le commentaire,c'était avec plaisir.
Bonjour,
RépondreSupprimerVotre programme Arduino (alarme technique) fonctionne très bien
Merci
Cordialement
WR
Salut,
SupprimerMerci pour ce sympathique message!
vous pouvez m'aider à ajouter un afficheur à mon programme pour tester la continuité et le court circuit
RépondreSupprimerBonjour,
RépondreSupprimerDésolé pour cette réponse tardive mais je reviens après un cancer.
Quel est ton programme?