Ces petits écrans peuvent facilement être obtenus en ligne sous la forme d'un module facile à connecter. Il existe principalement deux modèles: celui qui a été mis au point par Sparkfun, et celui qui a été conçu par Adafruit.
J'ai utilisé le modèle Sparkfun; le modèle Adafruit fonctionne tout aussi bien, sauf que ses connecteurs ne sont pas placés dans le même ordre.
Connexion à un ESP32
J'ai branché l'écran à mon module ESP32 de la façon suivante:
- Broche 1 VCC de l'écran : Broche 3.3V de l'ESP32
- Broche 2 GND de l'écran: Broche GND de l'ESP32
- Broche 3 SCE (CS) de l'écran: Broche D15 de l'ESP32
- Broche 4 RST de l'écran: Broche D4 de l'ESP32
- Broche 5 D/C de l'écran: Broche D2 de l'ESP32
- Broche 6 DN (MOSI) de l'écran: Broche D23 de l'ESP32
- Broche 7 SCLK de l'écran: Broche D18 de l'ESP32
- Broche 8 LED de l'écran: pas branchée (je n'avais pas besoin du rétroéclairage)
Connexion à un ESP8266
Avec un ESP8266, j'ai procédé de la façon suivante:
- Broche 1 VCC de l'écran : Broche 3.3V de l'ESP8266
- Broche 2 GND de l'écran: Broche GND de l'ESP8266
- Broche 3 SCE (CS) de l'écran: Broche GPIO15 (D8) de l'ESP8266
- Broche 4 RST de l'écran: Broche GPIO4 (D2) de l'ESP8266
- Broche 5 D/C de l'écran: Broche GPIO2 (D4) de l'ESP8266
- Broche 6 DN (MOSI) de l'écran: Broche GPIO13 (D7) de l'ESP8266
- Broche 7 SCLK de l'écran: Broche GPIO14 (D5) de l'ESP8266
- Broche 8 LED de l'écran: pas branchée (je n'avais pas besoin du rétroéclairage)
Installation de la bibliothèque u8g2
Afin de faciliter la programmation, j'ai utilisé la bibliothèque u8g2, qui supporte à peu près tout ce qui existe comme petit écran monochrome, et qui est parfaitement compatible avec l'ESP32 et l'ESP8266.
Les exemples fournis avec la bibliothèque (GraphicsTest ou HelloWorld, par exemple) permettent de vérifier rapidement que l'écran Nokia est fonctionnel et correctement branché. Parmi l'interminable liste de constructeurs proposée au début de chaque exemple, il faut choisir "U8G2_PCD8544_84X48_F_4W_HW_SPI" et modifier la numérotation des broches pour qu'elle corresponde à nos branchements:
U8G2_PCD8544_84X48_F_4W_HW_SPI u8g2(U8G2_R0, 15, 2, 4);
Je vous présente ci-dessous un sketch qui permet de choisir à distance, par l'entremise d'une page web, l'illustration affichée par l'écran Nokia.
Au démarrage, l'écran affiche l'adresse IP du serveur web:
Lorsqu'on accède à cette adresse au moyen d'un navigateur web, on nous propose une liste de 4 fruits.
-
-
Pour produire les données bitmap
Pour obtenir les données qui définissent chacune des 4 illustrations, j'ai ouvert chaque image (qui était, au départ, un fichier de type .png) au moyen du logiciel GIMP. Puisque la résolution de l'écran est de 84 X 48 pixels, je les ai redimensionnées au format 48 X 48 pixels (menu Image / Échelle et taille de l'image...) avant de les exporter en format .xbm (menu Fichier / Exporter sous...).
J'ai ensuite ouvert le fichier .xbm au moyen d'un éditeur de texte, et recopié les données dans mon sketch.
À lire également
Quelques tutos expliquent comment utiliser d'autres types d'afficheurs avec un ESP32 ou un ESP8266: écran couleur SPI ST7735, écran OLED i2c SH1106 , afficheur LCD 16 X 2 et afficheur 7 segments à base de TM1638.
Quant à l'écran Nokia 5110, voyez comment l'utiliser avec un Raspberry Pi, avec un Arduino ou encore avec un MSP430 Launchpad,
Yves Pelletier (Twitter, Facebook)
Bonjour,
RépondreSupprimerJ'ai bien compris que tu "charge" l'esp8266 via un ARDUINO. Je ne trouve pas quoi faire de la lib "la bibliothèque u8g2" ?
Je présume qu'il s'agit d'une librairie a installer dans l'IDE Arduino.
Je débute !
Merci d'avance
Bonjour,
SupprimerL'ESP8266 est programmé au moyen de l'IDE Arduino (le logiciel), et non par l'entremise d'une carte Arduino. u8g2 est effectivement une bibliothèque qu'il faut installer dans l'IDE Arduino pour faciliter le contrôle de l'écran.