Menu
CoddyTech

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));
challenge icon

Défi

Moyen

Le 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() {
}
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Arduino