Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Au fur et à mesure que la technologie évoluait, ces écrans trouvaient enfin leur
nouvelle place dans le monde du bricolage. Bientôt, ils sont devenus
populaires parmi les amateurs car ces écrans sont petits (environ 1,5 ″), peu
coûteux, faciles à utiliser, assez peu puissants et peuvent afficher du texte
ainsi que des bitmaps.
Selon la fiche technique, cette puce fonctionne dans la plage de 2,7 à 3,3 V et a
des niveaux de communication 3v. Ainsi, pour tout microcontrôleur logique 5V
comme Arduino, une sorte de décalage de niveau logique est nécessaire
(sinon, l'affichage peut être endommagé).
LCD rétro-éclairage
L'écran LCD est également livré avec un rétroéclairage de différentes couleurs,
à savoir. Rouge, vert, bleu et blanc.
Le rétroéclairage n'est rien d'autre que quatre LED espacées sur les bords de
l'écran.
Avertissement:
Il existe de nombreuses versions de ces écrans LCD qui ne sont livrées avec
aucune résistance de limitation de courant. Cela signifie que vous devez être
prudent lors de la connexion de l'alimentation électrique. Par mesure de
précaution, vous pouvez placer une résistance de limitation de courant de 330
Ω en série avec la broche «Rétroéclairage».
Carte mémoire LCD du Nokia 5110
Le pilote LCD PCD8544 possède une RAM de données d'affichage
graphique (GDDRAM) intégrée de 504 octets pour l'écran contenant le motif de
bits à afficher. Cette zone mémoire est organisée en 6 banques (de 0 à
5). Chaque banque contient 84 colonnes / segments (de 0 à 83). Et chaque
colonne peut stocker 8 bits de données (de 0 à 7). Cela nous dit sûrement que
nous avons
Chaque bit représente un pixel particulier sur l'écran qui peut être activé ou
désactivé par programme.
Résolution 84 × 48 pixels
L'un des moyens les plus économiques et les plus simples de changer de
niveau consiste à ajouter des résistances en ligne avec chaque broche de
transmission de données. Ajoutez simplement des résistances de 10 kΩ entre
les broches CLK, DIN, D / C et RST et une résistance de 1 kΩ entre CE.
Enfin, la broche du rétroéclairage (BL) est connectée à 3,3 V via une résistance
de limitation de courant de 330 Ω. Vous pouvez ajouter un potentiomètre ou
connecter cette broche à n'importe quelle broche Arduino compatible PWM, si
vous souhaitez contrôler sa luminosité.
Rotation du texte
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
int rotatetext = 1;
void setup() {
Serial.begin(9600);
//Initialize Display
display.begin();
// you can change the contrast around to adapt the display for the
best viewing!
display.setContrast(57);
// Display Text
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println("Hello world!");
display.display();
delay(2000);
display.clearDisplay();
// Display Numbers
display.setTextSize(1);
display.setCursor(0,0);
display.println(123456789);
display.display();
delay(2000);
display.clearDisplay();
// Text Rotation
while(1)
{
display.clearDisplay();
display.setRotation(rotatetext); // rotate 90 degrees counter
clockwise, can also use values of 2 and 3 to go further.
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println("Text Rotation");
display.display();
delay(1000);
display.clearDisplay();
rotatetext++;
}
}
void loop() {}
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
int rotatetext = 1;
//Initialize Display
display.begin();
// you can change the contrast around to adapt the display for the best
viewing!
display.setContrast(57);
Les pixels à l'écran sont adressés par leurs coordonnées horizontales (X) et
verticales (Y). Le système de coordonnées place l'origine (0,0) dans le coin
supérieur gauche, avec X positif augmentant vers la droite et Y positif
augmentant vers le bas.
Les caractères sont rendus dans un rapport de 5: 7. Cela signifie que passer la
taille de police 1 rendra le texte à 5 × 7 pixels par caractère; passer 2 rendra le
texte à 10 × 14 pixels par caractère et ainsi de suite.
ASTUCE
La bibliothèque Adafruit_GFX est responsable du rendu de la police. Par
défaut, la police à espacement unique est sélectionnée. Cependant, des
versions plus récentes de la bibliothèque Adafruit GFX offrent la possibilité
d'utiliser des polices alternatives. Plusieurs polices alternatives sont fournies
avec la bibliothèque, et il est possible d'en ajouter de nouvelles.
// Display Numbers
display.setTextSize(1);
display.setCursor(0,0);
display.println(123456789);
display.display();
delay(2000);
display.clearDisplay();
Rotation du texte
// Text Rotation
while(1)
{
display.clearDisplay();
display.setRotation(rotatetext);
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println("Text Rotation");
display.display();
delay(1000);
display.clearDisplay();
rotatetext++;
}
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
void setup() {
Serial.begin(9600);
//Initialize Display
display.begin();
// you can change the contrast around to adapt the display for the
best viewing!
display.setContrast(57);
// Draw Rectangle
display.drawRect(0, 0, 60, 40, BLACK);
display.display();
delay(2000);
display.clearDisplay();
//Draw Circle
display.drawCircle(20, 20, 20, BLACK);
display.display();
delay(2000);
display.clearDisplay();
//Draw Triangle
display.drawTriangle(20, 0, 0, 40, 40, 40, BLACK);
display.display();
delay(2000);
display.clearDisplay();
void loop() {}
// Draw Rectangle
display.drawRect(0, 0, 60, 40, BLACK);
display.display();
delay(2000);
display.clearDisplay();
Cercle de dessin
//Draw Circle
display.drawCircle(20, 20, 20, BLACK);
display.display();
delay(2000);
display.clearDisplay();
Triangle de dessin
//Draw Triangle
display.drawTriangle(20, 0, 0, 40, 40, 40, BLACK);
display.display();
delay(2000);
display.clearDisplay();
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
void setup() {
Serial.begin(9600);
//Initialize Display
display.begin();
// you can change the contrast around to adapt the display for the
best viewing!
display.setContrast(57);
// Display bitmap
display.drawBitmap(0, 0, MarilynMonroe, 84, 48, BLACK);
display.display();
// Invert Display
//display.invertDisplay(1);
}
void loop() {}
Pour afficher l'image bitmap sur l'écran LCD du Nokia 5110, nous devons
appeler la drawBitmap()fonction. Il faut six paramètres à savoir. Coordonnée X
du coin supérieur gauche, coordonnée Y du coin supérieur gauche, tableau
d'octets du bitmap monochrome, largeur du bitmap en pixels, hauteur du
bitmap en pixels et couleur.
// Display bitmap
display.drawBitmap(0, 0, MarilynMonroe, 84, 48, BLACK);
display.display();
Nous avons pris l'image de Marilyn Monroe en train de rire comme exemple et
l'avons convertie en 84 × 48 pixels à l'aide de Paint et enregistrée au format
.bmp.
Une fois que vous avez un bitmap, il est temps de le convertir en un tableau
que le contrôleur PCD8544 peut comprendre. Cela peut être fait de deux
manières: Méthode en ligne à l'aide de image2cpp et méthode hors ligne à
l'aide de l'assistant LCD.
Générateur de tableaux de bitmap en ligne - image2cpp
Il existe une application en ligne appelée image2cpp
- http://javl.github.io/image2cpp/ qui peut convertir votre image en un
tableau. Image2cpp est plus récent et beaucoup plus puissant que LCD
Assistant (solution ultérieure). Cela vous permettra de:
Une fois que vous êtes satisfait du résultat, vous pouvez continuer à générer le
tableau de données. Sélectionnez simplement le format de sortie du code en
tant que code Arduino et cliquez sur le bouton Générer le code.
Juste pour votre information, il existe une option appelée mode Dessin. Il crée
en fait une image selon le modèle de numérisation de l'affichage. Si votre
image semble tout foirée sur votre écran, essayez de changer de mode.
C'est ça. Le tableau d'octets de votre bitmap sera généré. Vous pouvez utiliser
la sortie directement avec notre exemple de code. Assurez-vous simplement
de le nommer de manière appropriée. Appelez ensuite votre tableau dans
la drawBitmap()fonction.
Juste pour votre information, il existe une option appelée Byte Orientation. Il
crée en fait une image selon le modèle de numérisation de l'affichage. Si votre
image semble tout foirée sur votre écran, essayez de changer de mode.
C'est ça. Une fois votre tableau créé, collez-le dans votre code. Assurez-vous
simplement de le nommer de manière appropriée. Appelez ensuite votre
tableau dans la drawBitmap()fonction.