Dessiner des caractères personnalisés
Fait partie de la section Écrans et capteurs du Journey Arduino de Coddy. Leçon 10 sur 24.
Chaque caractère sur l’écran LCD est une grille de 5 par 8 points. Tu peux concevoir jusqu’à huit caractères personnalisés, numérotés de 0 à 7. Décris-en un avec 8 lignes, chacune étant un motif de 5 bits où 1 représente un point allumé :
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};lcd.createChar(0, heart) l’enregistre en tant que caractère 0. lcd.write(byte(0)) le dessine à l’emplacement du curseur. print(0) dessinerait plutôt le chiffre 0.
Attention à un piège : pour enregistrer un caractère, la bibliothèque pointe l’écran vers sa mémoire de caractères, et il reste pointé là. Tout ce qui est imprimé ensuite est écrit dans cette mémoire, et non sur l’écran. Appelle donc lcd.setCursor() (ou lcd.clear()) après createChar(), avant d’imprimer.
lcd.createChar(0, heart);
lcd.setCursor(0, 0); // retour à l'écran
lcd.write(byte(0));Défi
MoyenLe programme de départ comporte un motif de smiley. Dis bonjour avec celui-ci :
- enregistre-le comme caractère 0 avec
lcd.createChar() - déplace le curseur en haut à gauche
- affiche
Hi(avec une espace), puis dessine le smiley
Clique sur Run, puis sur Check.
Essayez vous-même
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte smiley[8] = {
0b00000,
0b01010,
0b01010,
0b00000,
0b10001,
0b01110,
0b00000,
0b00000
};
void setup() {
lcd.begin(16, 2);
// stocke le smiley comme caractère 0, puis affiche "Hi " et le smiley
}
void loop() {
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Écrans et capteurs
2Écran LCD alphanumérique
Bonjour sur l’écran LCDPlacer du texte avec setCursorAfficher des nombres en direct sur l’écran LCDEffacer les chiffres restantsDessiner des caractères personnalisésFaire défiler le texteEntraînez-vous par vous-même : Playground Arduino