Comment brancher un écran Oled sur votre NodeMCU

Dans Chauffageby Belkeen4 Commentaires

Aujourd’hui, nous allons brancher un petit écran Oled sur notre NodeMCU. L’idée est, avant tout, d’avoir une lecture directe de quelques informations essentielles de notre installation.

Il existe une multitude de petits écrans Oled : 4 à 8 broches, de couleurs différentes, de tailles différentes… Cependant, ici, on traitera de l’écran Oled 128×64 4 broches, peu importe la couleur.

Ce type d’écran à l’avantage d’utiliser le bus I2C.

Voilà, la liste de tout ce qui est nécessaire :

Câblage de l’écran Oled et de ESP8266

Maintenant, nous allons entrer dans le vif du sujet.

Premièrement, si votre carte est branchée, nous allons la débrancher pour faire le câblage de la sonde. Voilà un schéma de mon câblage :

OLED Cablage

A vrai dire, il n’y a rien de compliqué : « VCC » à brancher sur le 3v3, « GND » à brancher sur GND et « SDA » à brancher sur D2 puis le « SCL » à brancher sur D1.
Après avoir vérifié vos branchements, on va pouvoir démarrer la carte, en effet, la deuxième partie va consister à créer le device dans ESPEasy Méga (pour cela il faut que l’ESPEasy Méga soit déjà configuré).

Configuration de l’écran Oled dans ESPeasy

Pour commencer, on va taper l’adresse IP de votre module dans le navigateur, puis allez dans l’onglet « Hardware ». Ici, on vérifie les GPIO de l’interface I2C, néanmoins, ils devraient être comme ci dessous :

I2C configuration sondes BME280 et BMP280

Cela correspond aux branchements faits entre la sonde et l’ESP plus haut.

Ensuite, allez dans l’onglet « Tools » puis faire un « I2C Scan » cela va nous permettre de voir si l’écran est bien reconnu.

EspEasy scan I2C sondes BME280 et BMP280
OLED I2C

Maintenant que tout est OK nous allons nous rendre dans l’onglet « device » puis faire un « edit » sur la ligne 1.

Puis on va configurer le device :

OLED ESPeasy configuration
  • Device : Il faut choisir « Display – OLED SSD1306 ».
  • Name : « Nom du device ».
  • Il faut bien cocher la case « Enabled » sinon il ne sera pas actif.
  • I2C Address : on laisse « 0x3c – Default » c’est la valeur que l’on a pu voir lors du scan I2C.
  • Rotation : Normal.
  • Display Size : 128×64
  • Font Width : Normal
  • Line 1 : “uptime %uptime%”
  • Line 2 à 8 : On détaillera le contenu de ces lignes plus tard dans l’article.
  • Display button : None
  • Display Timeout : 0
  • Delay : 60

Si tout s’est bien passé, et que vous retournez sur l’onglet « Device », vous avez maintenant une nouvelle ligne qui concerne votre écran.

Ajout des informations sur l’écran Oled

Maintenant, nous avons un écran, branché et fonctionnel, mais il reste à afficher des informations dessus.
Nous allons distinguer deux types d’informations :

  • Les informations natives : Elles sont préprogrammées dans ESPeasy, et donc directement à disposition, comme l’adresse IP par exemple.
  • Les informations des devices : Elles sont directement issues des valeurs contenues dans les devices de l’onglet qui porte le même nom. Une sonde de température, l’état d’un GPIO, ou un champ calculé par exemple.
Afficher des informations natives

Il suffit d’ajouter simplement la chaine de caractères qui appelle la valeur disponible dans le système dans l’une des lines du device:

OLED ESPeasy configuration native

Voici notamment, la liste de toutes les valeurs que nous connaissons actuellement :

  • Uptime : %uptime%
  • Heure du système (si vous utilisez l’option NTP) : %systime%
  • IP du NodeMCU : %ip%
OLED Affichage native
Afficher des informations de devices

Pour ces informations, c’est un peu plus complexe… mais relativement instinctif malgré tout. Dans un exemple, on va afficher la température et l’humidité relevées par une sonde DHT22 branchée, elle aussi, au NodeMCU.

Voilà le device que j’ai ajouté :

DHT22 ESPeasy device

Ce device à pour Name “DHT22” et remonte deux valeurs “Temp” et “Hum”.
On va pouvoir appeler ces valeurs avec les commandes suivantes : [DHT22#Temp] et [DHT22#Hum].

OLED ESPeasy configuration Device
Oled affichage device

Voilà vous savez presque tout !

Ne vous arrêtez pas là, et consultez nos autres guides qui sont en relation avec celui-ci :

Commentaires

  1. Salut! Bon article, mais je trouve cependant que les images d’illustrations sont trop petites. Certes on peut les agrandir en cliquant dessus, mais ça ouvre une autre fenêtre ce qui n’est pas des plus pratique… Pour mon site j’ai mis les images en grand directement, mais je sais qu’il est aussi possible de les agrandir en cliquant dessus sans pour autant ouvrir une fenêtre. Ça rendrait mieux selon moi. Sinon je trouve que votre site est très intéressant, continuez comme ça!

    1. Author

      Merci beaucoup ! Je viens de faire le changement pour les images, on te remercie pour ton retour. On va faire le tour des autres articles au fur et à mesure.
      On espère aussi aussi que tu prendras toujours autant de plaisir à nous lire.

  2. Merci pour la démo, j’utilise un Oled Bi-couleur Jaune/Bleu il est reconnu en 0x3c en Oled SSD1306 lors de l’allumage il n’affiche que des points (comme un manque de synchro), les commandes On, Off marchent. Des idées ? Merci.

    1. Author

      Je n’ai jamais eu ce type de bug.
      Tu as bien rempli toutes les étapes que j’ai énoncé dans l’article ?
      J’imagine malheureusement que tu n’as pas de second écran pour vérifier le bon fonctionnement du premier ?

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.