84×48 Pixel LCD Module For Nokia 5110 DISP G21

$3.5

Le Nokia 5110 est un écran LCD graphique de base destiné à de nombreuses applications. Il était à l’origine destiné à être utilisé comme écran de téléphone portable. Il a été conçu pour piloter un affichage graphique de 48 lignes et 84 colonnes. Il utilise le contrôleur PCD8544, qui est le même que celui utilisé dans l’écran LCD Nokia 3310. Le PCD8544 s’interface avec les microcontrôleurs via une interface de bus série.

 

In stock

SKU: DIS387 Category:

Description

Description:

Le Nokia 5110 est un écran LCD graphique de base destiné à de nombreuses applications. Il était à l’origine destiné à être utilisé comme écran de téléphone portable. Celui-ci est monté sur un PCB facile à souder.

Il utilise le contrôleur PCD8544, qui est le même que celui utilisé dans l’écran LCD du Nokia 3310. Le PCD8544 est un contrôleur/pilote LCD CMOS à faible consommation, conçu pour piloter un écran graphique de 48 lignes et 84 colonnes. Toutes les fonctions nécessaires à l’affichage sont fournies dans une seule puce, y comprenant la génération sur puce des tensions d’alimentation et de polarisation de l’écran LCD, ce qui permet de réduire au minimum le nombre de composants externes et de réduire la consommation d’énergie. Le PCD8544 s’interface avec les microcontrôleurs via une interface de bus série.

Caractéristiques du module.

* Résolution : panneau matriciel 48 x 84 points.
* Alimentation : 3,3 V.
* Interface : SPI.
* Circuit intégré du pilote : PCD8544

Applications :

* Cet écran est composé de 84×48 pixels individuels, vous pouvez donc l’utiliser pour des graphiques, du texte ou des bitmaps

 

Comment commencer à utiliser l’écran LCD du Nokia 5110

 

Ces écrans LCD noir et blanc de 84 x 48 pixels sont ceux que vous pourriez trouver dans un vieux Nokia 3310. Ils ne sont pas dotés de flash et n’ont pas beaucoup d’espace d’affichage. Mais ils sont faciles à contrôler. Si vous cherchez à améliorer l’interface utilisateur de votre projet à partir d’affichages simples ou de LED, cet écran LCD graphique est un bon point de départ.

Matériel requis :

avant d’afficher notre première image et les valeurs du capteur en temps réel sur cet écran LCD, concernant le brochage de cet écran LCD. Pour s’interfacer avec Arduino et alimenter l’écran LCD graphique, il y a deux embases parallèles à 8 broches au-dessus et en dessous, en retournant la carte, vous trouverez les étiquettes pour chacune des broches.

  • RST : broche de réinitialisation
  • CE  : Sélection de puce
  • DC : Sélection du mode
  • VCC : Alimentation positive
  • CLK :  Série de montres
  • DN : Série de données dans
  • LUMIÈRE : Alimentation par rétroéclairage LED
  • GND : Terre

  • Alimentation électrique

Pour alimenter l’écran LCD, la tension d’alimentation la plus importante est la tension VCC qui alimente les circuits logiques à l’intérieur de l’écran LCD. La fiche technique indique que cette tension doit être comprise entre 2,7 et 3,3 V. Dans un état normal, l’écran LCD consommera environ 6 ou 7 mA

  • Rétroéclairage

3,3 V sont nécessaires pour le rétroéclairage LED de la carte. Si vous deviez retirer l’écran LCD du PCB (ce qui n’est pas le cas), vous verriez qu’il s’agit de rétroéclairages dans leur forme la plus simple : quatre LED blanches espacées sur les bords de la carte. Vous remarquerez peut-être également qu’ils ne sont connectés à aucune résistance de limitation de courant.

Cela signifie que vous devez faire attention à l’alimentation en tension, soit en plaçant une résistance de limitation de courant en série avec la broche LED (comme nous l’avons fait), soit en limitant l’alimentation à 3,3 V maximum. La LED peut tirer beaucoup de courant ! Sans rien pour les limiter, elles tireront environ 100 mA à 3,3 V

L’interface de contrôle

Cet écran LCD est doté d’un contrôleur d’affichage Philips PCD8544, qui convertit l’interface parallèle massive de l’écran LCD brut en une interface série plus pratique. Le PCD8544 est contrôlé via une interface série synchrone similaire à SPI. Il y a des lignes d’entrée d’horloge (CLK) et de données (DIN), ainsi qu’une entrée de sélection de puce active-bas (SCE). En plus de ces trois lignes série, il y a une autre entrée -DC- qui indique à l’écran si les données qu’il reçoit sont une commande ou des données affichables.

Assemblage et raccordement du matériel

Dans cet exemple, nous allons connecter l’écran LCD à un Arduino UNO comme sur le schéma ci-dessous

Connexion des broches :

ARDUINO UNO ÉCRAN NOKIA 5110
Terre Terre
Terre LUMIÈRE
3,3 V CCV
D7 CLK
D6 VACARME
D5 DC
D4 CE
D3 TVD

Vous pouvez ajouter un potentiomètre ou connecter cette broche à n’importe quelle broche Arduino compatible PWM, si vous souhaitez contrôler sa luminosité.

Le schéma suivant vous montre comment tout câbler.

Installation de la bibliothèque pour le module LCD du Nokia 5110

Le contrôleur LCD PCD8544 possède des pilotes flexibles mais complexes. Une connaissance approfondie de l’adressage mémoire est nécessaire pour utiliser le contrôleur PCD8544. Heureusement,  la bibliothèque LCD PCD8544 Nokia 5110 d’Adafruit  a été écrite pour masquer toutes les complexités afin que nous puissions émettre des commandes simples pour contrôler l’écran.

Pour installer la bibliothèque, accédez à Sketch > Inclure la bibliothèque > Gérer les bibliothèques… Attendez que le gestionnaire de bibliothèque télécharge l’index des bibliothèques et mette à jour la liste des bibliothèques installées.

Filtrez votre recherche en tapant « nokia ». Vous devriez trouver plusieurs entrées. Recherchez la bibliothèque Adafruit PCD8544 Nokia 5110 LCD. Cliquez sur cette entrée, puis sélectionnez Installer.

Cette bibliothèque est une bibliothèque spécifique au matériel qui gère les fonctions de niveau inférieur. Elle doit être associée à la bibliothèque Adafruit GFX pour afficher des primitives graphiques telles que des points, des lignes, des cercles, des rectangles, etc. Installez également cette bibliothèque.

Code Arduino – Affichage de texte

Maintenant vient la partie intéressante !

Le croquis de test suivant affichera le message « Hello World ! » sur l’écran. Il comprend également

  • Affichage du texte inversé
  • Affichage des nombres
  • Affichage des nombres avec base (Hex, Dec)
  • Affichage des symboles ASCII
  • Texte rotatif

Cela vous permettra de comprendre parfaitement comment utiliser l’écran LCD du Nokia 5110 et pourra servir de base à des expériences et projets plus pratiques. Essayez le schéma et nous le décortiquerons ensuite en détail.

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// Déclarer l’objet LCD pour le logiciel SPI
// Adafruit_PCD8544(CLK,DIN,D/C,CE,RST);
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

int rotation du texte = 1;

void setup() {
Serial.begin(9600);

//Initialiser l’affichage
display.begin();

// vous pouvez modifier le contraste pour adapter l’affichage pour une visualisation optimale !
display.setContrast(57);

// Effacer le tampon.
display.clearDisplay();

// Afficher le texte
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println(“Bonjour tout le monde !”);
display.display();
delay(2000);
display.clearDisplay();

// Afficher le texte inversé
display.setTextColor(WHITE, BLACK); // texte ‘inversé’
display.setCursor(0,0);
display.println(“Hello world!”);
display.display();
delay(2000);
display.clearDisplay();

// Mise à l’échelle de la taille de la police
display.setTextColor(BLACK);
display.setCursor(0,0);
display.setTextSize(2);
display.println(“Bonjour !”);
display.display();
delay(2000);
display.clearDisplay();

// Afficher les nombres
display.setTextSize(1);
display.setCursor(0,0);
display.println(123456789);
display.display();
delay(2000);
display.clearDisplay();

// Spécification de la base des nombres
display.setCursor(0,0);
display.print(“0x”); display.print(0xFF, HEX);
display.print(“(HEX) = “);
display.print(0xFF, DEC);
display.println(“(DEC)”);
display.display();
delay(2000);
display.clearDisplay();

// Afficher les caractères ASCII
display.setCursor(0,0);
display.setTextSize(2);
display.write(3);
display.display();
d