- Matériaux nécessaires:
- Module d'affichage graphique Nokia 5110:
- Schéma:
- Programme Arduino et fonctionnement:
Le nom iconique « Nokia 5110 » lui-même aurait dû racheter des souvenirs du robuste téléphone mobile Nokia qui était très populaire dans les années 90. Le modèle 5110 était livré avec un affichage graphique qui était suffisant pour servir d'écran d'affichage pour le mobile à l'époque. Cet écran était capable d'afficher tout, des caractères alphanumériques aux petits graphiques, ce qui est tout ce dont un téléphone mobile a besoin. Alors que la Terre tournait, de nouvelles technologies avec des écrans tactiles brillants sont apparues et cet écran n'est plus utilisé. Mais j'espère qu'ils peuvent être utilisés dans des applications électroniques où un petit graphique doit être affiché et éviter de dépenser de l'argent sur de grands écrans LCD. Dans ce tutoriel, nous allons donc apprendre à interfacer un écran LCD graphique Nokia 5110 avec Arduino et à le faire fonctionner.
Ces LCD ont des pixels noir et blanc de dimensions 84 × 48. Ils peuvent sembler monotones mais peuvent quand même être utilisés pour afficher des graphismes décents pour vos projets et peuvent être facilement utilisés avec des microcontrôleurs comme Arduino. Alors, commençons….!
Matériaux nécessaires:
- Carte Arduino (toute version)
- Écran Nokia 5110
- Fils de connexion
Module d'affichage graphique Nokia 5110:
Il existe deux types de ces écrans LCD graphiques disponibles sur le marché. L'un avec des pastilles à souder au-dessus et au-dessous de l'écran et l'autre avec des pastilles à souder uniquement en bas de l'écran. Celui que nous utilisons appartient au type 2, où il n'y a que des pads sous l'écran. Les deux modules fonctionnent de la même manière et donc les connexions sont les mêmes pour les deux. Ainsi, quel que soit le module, vous pouvez suivre le tutoriel.
Comme indiqué précédemment, l' écran LCD graphique du Nokia 5110 a 84 pixels en horizontal et 48 pixels en vertical. La taille totale de l'écran est de 1,72 'x 1,72'. Le module dispose de 6 broches d'entrée à l'aide desquelles nous pouvons l'interfacer avec n'importe quel microcontrôleur via une communication SPI. Le CI d'interfaçage qui communique entre l'écran et l'Arduino est le CI du contrôleur d'affichage Philips PCD8544 dont la fiche technique peut être trouvée ici. Cependant, si vous utilisez Arduino pour communiquer avec cet IC, nous n'avons pas à nous soucier de la fiche technique car il existe des bibliothèques prêtes à être téléchargées et utilisées. Le module que nous utilisons ici est illustré ci-dessous.
Schéma:
Le schéma de circuit complet pour connecter l'écran LCD graphique Nokia5110 à Arduino est donné ci-dessous.
Le module d'affichage a 8 broches qui sont utilisées pour établir une communication SPI avec Arduino. Le module est alimenté par la broche 3,3 V de la carte Arduino. Notez que ces modules fonctionnent sur une logique de 3,3 V et ne fournissent donc pas de 5 V à la broche Vcc des écrans. J'ai directement câblé la broche de l'affichage à Arduino, même si l'écran LCD fonctionne sur une logique 3,3 V et Arduino sur une logique 5 V, car c'est alors seulement que j'ai trouvé que l'écran LCD fonctionnait correctement. Vous pouvez utiliser un diviseur de tension pour convertir 5V en 3,3V si nécessaire, mais pour moi, cela ne fonctionne que sans la conversion logique. Les connexions sont assez simples et directes à faire. Une fois que vous avez terminé avec les connexions, votre configuration ressemblera à ceci ci-dessous.
Programme Arduino et fonctionnement:
Suivez les étapes ci-dessous pour programmer votre Arduino pour l'écran Nokia 5110. Les étapes supposent que vous avez déjà installé l'IDE Arduino et que vous êtes familiarisé avec son utilisation.
Étape 1: Ouvrez l'IDE Arduino sur votre ordinateur et sélectionnez la carte appropriée dans le menu Outils après avoir connecté votre Arduino à votre ordinateur.
Étape 2: Cliquez ici pour télécharger la bibliothèque d'affichage Nokia 5110 par la bibliothèque Adafruit à partir du référentiel GitHub.
Étape 3: Une fois le fichier Zip téléchargé, sélectionnez Sketch -> Inclure la bibliothèque -> Ajouter une bibliothèque.ZIP et accédez à l'emplacement où le ZIP a été téléchargé.
Remarque: Vous devrez également télécharger le noyau Adafruit GFX Graphics qui fait tous les cercles, textes, rectangles, etc. Vous pouvez l'obtenir sur https://github.com/adafruit/Adafruit-GFX-Library et l'installer de la même manière.
Étape 4: Ouvrez maintenant le programme d'exemple en sélectionnant Fichier -> Exemples -> Bibliothèque LCD Adafruit PCD Nokia 5110 -> pcdtest et cliquez sur le bouton de téléchargement
Étape 5: Une fois le programme téléchargé, appuyez sur le bouton de réinitialisation de l'Arduino et vous devriez voir l'exemple de programme affichant toutes les animations comme indiqué dans la vidéo donnée à la fin de ce tutoriel.
Vous pouvez lire le programme d'exemple pour comprendre les différentes fonctions intégrées qui pourraient être utilisées pour effectuer diverses conceptions graphiques sur l'écran LCD. Mais allons plus loin et essayons d' afficher le logo CircuitDigest sur l'écran LCD.
Ouvrez maintenant l'image requise dans Paint et redimensionnez l'image. La taille d'image maximale que nous pouvons utiliser pour notre affichage est de 84 × 48.
Après avoir redimensionné l'image, enregistrez l'image en tant que bitmap (noir et blanc) en utilisant l' option Enregistrer sous dans Paint. Pour afficher l'image sous forme de bitmap sur notre écran LCD, nous aurons besoin d'un logiciel capable de convertir une image bitmap en code. Vous pouvez télécharger le logiciel en cliquant ici. Une fois téléchargé, décompressez le fichier et cliquez sur «BitmapEncoder» pour lancer l'application. Ouvrez l'image bitmap que nous venons d'enregistrer à l'aide de ce logiciel pour obtenir le tableau de valeurs encodées. Vous pouvez directement copier ces valeurs et les coller dans votre tableau Arduino. La valeur indiquée par le logiciel pour notre logo est indiquée ci-dessous
Comme vous pouvez le voir, le tableau commence par la valeur 48, 48 c'est la taille de notre image. Nous ne devons pas l'ajouter dans notre tableau. Supprimez donc les deux premières valeurs et utilisez le reste comme valeur de tableau dans le programme. Le tableau ressemblera à ci-dessous. Le programme complet est donné à la fin de cette page pour votre référence.
statique const unsigned char PROGMEM Logo = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B1111111111, B00000000, B00000000, B0000110000, B0000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B0111111100, B01111100, B110000, B1100001000000 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B111111111 B11000, B1111000, B1111000, B1111000, B1111000, B1111000, B1111000, B1111001100 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111000, B00111111, B11111, B111111, B111111, B11111000, B11111111, B111111, B111111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00001111111, B11111111, B11111111, B111111, B111111, B111111, B111111, B111110 B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B00000000, B001111110000, B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000, B110000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B000011110000, B11111000, B000000000, B000011110000, B1111110000, B1111110000, B1111110000, B1111110000, B1111000 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B1111111111, B00110111, B1100001000 B1100001, B1100001000 B1100001, B1100001000 B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B00001100110000, B11110000, B11110000, B11110000, B11110000, B11110000, B11110000, B11110000, B110000110000 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Maintenant, pour afficher ce bitmap, nous devons utiliser les lignes de code suivantes. Où les données précédentes à l'écran sont effacées et la nouvelle image bitmap est écrite.
display.clearDisplay (); display.drawBitmap (20, 0, Logo, 48, 48, 1); display.display ();
La ligne display.drawBitmap (20, 0, Logo, 48, 48, 1); afficher la position, la taille et la couleur de l'image bitmap. La syntaxe peut être donnée comme.
display.drawBitmap (X_Position, Y_Position, nom du tableau, longueur de l'image, largeur de l'image);
La longueur et la largeur de l'image peuvent être obtenues respectivement à partir des deux premiers éléments du tableau comme indiqué précédemment. Lorsque ce code est exécuté, nous obtenons le bitmap affiché sur notre écran LCD comme indiqué ci-dessous.
Vous pouvez également afficher du texte simple comme indiqué ci-dessous:
J'espère que vous avez compris le tutoriel et que votre Nokia 5110 LCD est interfacé avec Arduino. Avec cet affichage graphique dans votre pochette, vous pouvez créer de nombreux projets qui nécessitent des détails graphiques mineurs. Le travail complet peut être trouvé dans la vidéo ci-dessous. Si vous rencontrez un problème pour que cela fonctionne, vous pouvez utiliser le forum pour publier votre problème ou les sections de commentaires ci-dessous.