Voyons comment connecter un écran à cristaux liquides de 84x48 pixels de Nokia 5110 à Arduino.
Nécessaire
- -Arduino;
- - Écran LCD pour Nokia 5110/3310;
- - les fils de connexion.
Instructions
Étape 1
Connectons l'écran LCD du Nokia 5110 à l'Arduino selon le schéma ci-dessous.
Étape 2
De nombreuses bibliothèques ont été écrites pour fonctionner avec cet écran LCD. Je suggère d'utiliser celui-ci: https://www.rinkydinkelectronics.com/library.php?id=44 (télécharger le fichier LCD5110_Basic.zip).
Pour installer, décompressez le fichier dans le répertoire Arduino IDE / library /.
La bibliothèque prend en charge les fonctionnalités suivantes.
LCD5110 (SCK, MOSI, CC, RST, CS); - annonce de l'écran LCD indiquant la correspondance avec les pins de l'Arduino;
InitLCD ([contraste]); - initialisation de l'afficheur 5110 avec indication optionnelle de contraste (0-127), la valeur par défaut est 70;
setContrast (contraste); - règle le contraste (0-127);
activerVeille (); - met l'écran en mode veille;
disableSleep (); - sort l'écran du mode veille;
clrScr (); - efface l'écran;
clrRow (ligne, [début], [fin]); - effacement de la ligne de numéro de ligne sélectionnée, de la position de début à la fin;
inverser (vrai); et inverser (faux); - activer et désactiver l'inversion du contenu de l'écran LCD;
print (chaîne, x, y); - affiche une chaîne de caractères avec les coordonnées spécifiées; au lieu de la coordonnée x, vous pouvez utiliser GAUCHE, CENTRE et DROITE; la hauteur de la police standard est de 8 points, les lignes doivent donc être espacées de 8 points;
printNumI (num, x, y, [longueur], [remplissage]); - afficher un entier à l'écran à une position donnée (x, y); longueur - la longueur souhaitée du numéro; remplissage - un caractère pour remplir les "vides" si le nombre est inférieur à la longueur souhaitée; la valeur par défaut est un espace vide ";
printNumF (num, déc, x, y, [diviseur], [longueur], [remplissage]); - afficher un nombre à virgule flottante; déc - nombre de décimales; diviseur - point décimal, point "." par défaut;
setFont (nom); - choisissez une police; les polices intégrées sont nommées SmallFont et TinyFont; vous pouvez définir vos polices dans le croquis;
invertText (vrai); et invertText (faux); - inversion de texte activée / désactivée;
drawBitmap (x, y, données, sx, sy); - afficher l'image à l'écran aux coordonnées x et y; data - un tableau contenant une image; sx et sy sont la largeur et la hauteur de l'image.
Étape 3
Écrivons un tel croquis. Tout d'abord, nous incluons la bibliothèque, puis nous déclarons une instance de la classe LCD5110 avec des affectations de broches.
Dans la procédure setup(), nous initialisons l'écran LCD.
Dans la procédure loop(), nous effaçons l'écran et écrivons du texte arbitraire dans une petite police, en dessous, dans une police moyenne, affichons le compteur de secondes.
Étape 4
Montrons une image. Pour ce faire, préparons une image monochrome que nous souhaitons afficher sur le Nokia 5110. N'oubliez pas que la résolution de l'écran est de 48 par 84 pixels et que l'image ne doit pas être plus grande. Sur la page https://www.rinkydinkelectronics.com/t_imageconverter_mono.php convertissez l'image en un tableau de bits. Téléchargez le fichier résultant avec l'extension "*.c" et ajoutez-le au projet via le menu: Sketch -> Add File… ou placez simplement le fichier dans le répertoire sketch puis rechargez l'IDE Arduino.
Étape 5
Vous devez maintenant déclarer un tableau avec des données d'image dans le code du programme (dans mon code, il s'agit de la ligne extern uint8_t mysymb;), puis utiliser la fonction drawBitmap () pour afficher l'image à l'endroit souhaité sur l'écran.
Étape 6
Téléchargez le croquis sur Arduino. Maintenant, le texte est remplacé par une image et le compteur augmente sa valeur à chaque fois.