DIY faites le vous même
Cours magistraux, instructions, astuces utiles, recettes.
» » »Comment connecter un écran OLED I2C à ARDUINO
Introduction: Présentation de l’écran 128 * 64/128 * 32 OLED I2C.
Comment connecter un écran OLED I2C à ARDUINO

Salut En tant qu'amateur - amateur d'électronique, je suis certain que nous ne faisons que des jouets électroniques - des produits maison ou de grands projets, tous par curiosité et paresse. La curiosité cherche à comprendre et à comprendre l’immense, non connu, à comprendre comment cela fonctionne là-bas, ce qu’il fait, comment il se déplace. Et la paresse invente, pour arriver à cela, pour ne pas se lever, ne pas être en forme, ne pas soulever, ne pas se salir ou autre chose d’important.

Étant donné qu'il est préférable de consulter des informations que de comprendre ce qui est sur le point de se passer, ou s'est déjà produit ou est en train de se produire, nous voudrons certainement obtenir ces informations très utiles de nos microcontrôleurs, capteurs ou autres dispositifs. Et dans tous les cas, je souhaite recevoir des messages tels que des questions, des avertissements, des rappels, des émoticônes, des astérisques, des coeurs, etc.

Voici un guide rapide pour ceux qui souhaitent également se connecter et vérifier les écrans OLED petits et peu coûteux.
Ensuite, nous aborderons l’un des modèles d’écrans OLED de radioamateurs largement disponibles, contrôlés par la puce SSD1306, avec une taille d’écran de 0,96 pouce et une résolution de 128 * 64 ou 128 * 32 pixels. Ces présentoirs sont parfaits pour les petites conceptions de radio amateur et les produits faits maison.
Comment connecter un écran OLED I2C à ARDUINO

Étape 1: Concepts clés


Nous allons le connecter à Arduino UNO / NANO, eh bien, et pour programmer, nous le connecterons également via Arduino.
  • OLED est une diode électroluminescente organique, c’est-à-dire un dispositif semi-conducteur composé de composés organiques, qui commence à émettre de la lumière lorsqu'un courant électrique la traverse.
  • ARDUINO est une plate-forme pour la formation et l'automatisation de bâtiments et les systèmes de robotique.
  • ArduinoIDE est un environnement de développement. Ceci est un outil de programmation Arduino gratuit.
  • I2C - Circuits inter-intégrés, ligne de communication inter-microcircuits.
  • Un croquis, c'est un code, c'est un programme - terminologie Arduino.

Suivez les instructions pour comprendre comment connecter et configurer correctement un écran OLED sur l’Arduino et comment afficher votre propre message sur son écran.
Nous faisons tout par étapes.

Étape 2: accessoires


Nous n'aurons besoin que de quatre choses:
  • 1. L’écran OLED proprement dit mesure 0,96 ”(peut être acheté sur Aliexpress ou sur Ebay, - long, mais bon marché!).
  • 2. Arduino UNO / Nano (au même endroit que l'écran).
  • 3. Connexion des fils (ibid.).
  • 4. Un ordinateur ou un ordinateur portable sur lequel ArduinoIDE est installé.

Comment connecter un écran OLED I2C à ARDUINO

En général, acheter des pièces pour divers projets sur Aliexpress et Ebay est une chose très cool, alors que vous faites un projet, des pièces pour un autre sont déjà en route. L'essentiel est de ne pas oublier de passer une commande.

Étape 3: connectez l'écran


L’affichage est contrôlé par la puce SSD1306, qui prend en charge cinq protocoles de communication, dont l’un I2C. Les données de ce protocole ne sont transmises que par deux fils. Moins il y a de fils dans le boîtier, mieux c'est, alors ça nous va bien. Mais! Il existe des modules avec protocole SPI et même commutation de protocole, soyez donc prudent lorsque vous achetez ce module.
Comment connecter un écran OLED I2C à ARDUINO

Conclusions utilisées:
Écran OLED - SCL / SCK (horloge) et SDA (données), alimentation "Plus" (VCC) et alimentation "moins" (GND).
Comment connecter un écran OLED I2C à ARDUINO

Conclusions utilisées:
Arduino UNO - SCL / SCK sur A5 et SSD sur A4, alimentation «Plus» (+ 5V) et «Moins» (GND).
Connectez l’écran à l’Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Comment connecter un écran OLED I2C à ARDUINO

Étape 4: Scanner I2C


Chaque périphérique sur le bus I2C a une adresse hexadécimale, vous ne pouvez pas la changer, elle est cousue étroitement, chaque fabricant responsable doit l’indiquer quelque part sur le boîtier ou dans les instructions. Il existe des modules avec des commutateurs et des cavaliers avec lesquels vous pouvez modifier l'adresse, mais ... si les périphériques sont peu coûteux, pour le moins que rien ne le permette, le fabricant ne s'embarrassera peut-être pas de la tâche, vous devrez donc le déterminer vous-même.

Au total, vous pouvez utiliser jusqu'à 127 adresses sur le bus: 119 pour les appareils et 8 adresses de service. La communication est effectuée à ces adresses.Il y a un maître, il est un maître, mais il y a un esclave, il est aussi un esclave - les maîtres demandent, les disciples répondent, tout est simple.
Puisque notre écran OLED utilise le protocole de communication I2C et que l'adresse peut ne pas être indiquée, nous allons essayer de trouver cette adresse même.

Cela peut être fait en téléchargeant une courte esquisse sur votre carte Arduino avec OLED connecté. MAIS!
Prenez votre temps pour télécharger le croquis sur Arduino immédiatement! Commençons par télécharger le "pilote", c.-à-d. nous allons connecter les bibliothèques et pour cela, nous passons directement à «Étape 5», puis nous allons revenir en arrière et continuer.

Étape 4: Suite:


Téléchargez CODE Finder_I2C_Hex_Address.ino, téléchargez-le sur Arduino.
Ouvrez le «Moniteur de port», réglez la vitesse sur 9600 et si tout est connecté correctement, le programme affichera l'adresse du périphérique, dans mon cas OLED avec l'adresse 0x3F.
Comment connecter un écran OLED I2C à ARDUINO

Étape 5: Téléchargez et connectez les bibliothèques


Pour que tout fonctionne correctement et que vous n'ayez pas à réinventer la roue, vous devez connecter plusieurs bibliothèques à l'environnement ArduinoIDE, à savoir: ADAFRUIT GFX et ADAFRUIT SSD1306. Elles sont nécessaires pour qu'Arduino puisse communiquer de manière indépendante avec l'écran OLED.
Vous pouvez connecter ces bibliothèques en procédant comme suit.
  • 1. Dans ArduinoIDE, accédez au menu Sketch.
  • 2. Sélectionnez «Inclure les bibliothèques».
  • 3. Sélectionnez "Gérer les bibliothèques" / Bibliothèques gérées.
  • 4. Recherchez ADAFRUIT GFX et installez-les.
  • 5. Recherchez ADAFRUIT SSD1306 et installez-les.

Avec les nouvelles versions des bibliothèques, l’affichage fonctionnait de travers pour moi. C’est peut-être à cause de la courbure des mains, mais après avoir installé les toutes premières versions de ces bibliothèques, tout a commencé à apparaître en douceur et de façon magnifique. Pour une raison quelconque, les lignes de Pushkin apparaissent dans sa mémoire:
... et l'expérience, le fils d'erreurs difficiles,
et génie, paradoxes d'amis.

Un autre moyen d'installer des bibliothèques consiste à rechercher, télécharger et installer ces bibliothèques vous-même.
Pour un exemple de Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Ce sont les mêmes bibliothèques Adafruit, mais des bibliothèques similaires sont facilement consultables dans les moteurs de recherche, à la demande de OLED I2C. De nombreux passionnés écrivent des bibliothèques "pour eux-mêmes", puis les mettent sur le Web. Quelle bibliothèque utiliser dépend de vous.
Pour que l'affichage puisse afficher des lettres en russe, des bibliothèques spéciales sont également nécessaires, mais il s'agit d'un sujet séparé pour un article séparé.
Une fois les bibliothèques installées, vous pouvez revenir à l'étape 4 et enfin connaître l'adresse hexadécimale de votre affichage.

Étape 6: Test de l'affichage


Pour vérifier si tout fonctionne comme prévu, exécutez l'exemple de test à partir de ArduinoIDE.
Pour faire ceci:
Allez dans FICHIER> EXEMPLES> SSD 1306> Sélectionnez 128x64 i2c
Si vous obtenez une «erreur», essayez de choisir le SSD 1306> 128x32 i2c.
En cas d'erreur, essayez de modifier l'adresse I2C à la ligne 61 du code de démonstration et remplacez-la par l'adresse de votre affichage, que vous avez déterminée à l'étape 4.
Si l'erreur se reproduit, vous pouvez essayer de modifier le fichier Adafruit_SSD1306.h, qui se trouve dans le dossier contenant les bibliothèques Arduino.
Comment connecter un écran OLED I2C à ARDUINO

Ouvrez le fichier Adafruit_SSD1306.h dans un éditeur de texte et recherchez les lignes:
// # define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16 

Décommentez la ligne:
#define SSD1306_128_64. 

Cela devrait être comme ça:
#define SSD1306_128_64
// # définit SSD1306_128_32
// #define SSD1306_96_16

Si l'erreur est à nouveau, il est nécessaire de vérifier l'exactitude des connexions.
Une fois le téléchargement terminé, vous verrez une animation de test à l'écran, ce qui signifie que vous avez correctement configuré votre affichage OLED.

Lorsque vous appréciez cette animation, vous pouvez passer à l'étape suivante.

Étape 7: Écrire votre propre message


Pour écrire votre propre message, créez d’abord une nouvelle esquisse dans l’environnement de programmation ArduinoIDE.
Dans l'en-tête, nous connectons 4 bibliothèques:
#include 
#include 
#include 
#include 

Ensuite, nous écrivons le protocole de réinitialisation:
#define OLED_RESET 4
Adafruit_SSD1306 display (OLED_RESET);

Dans VOID SETUP, spécifiez l'adresse hexadécimale de notre affichage 0x3C, que nous avons trouvée à la «Étape n ° 4».
Ensuite, initialisez l’affichage et effacez-le:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

Ensuite, dans VOID LOOP, nous écrivons le code principal, c’est-à-dire notre message, que nous voulons afficher à l’écran.
Pour ce faire, nous décrivons la taille et la couleur du texte, la position du curseur et, enfin, affichons un message à l'aide de la commande println:
display.setTextSize (2);
display.setTextColor (WHITE);
display.setCursor (0,0);
display.println ("Bien joué!");
display.display ();

A la fin, n'oubliez pas d'écrire display.displayafin que l'image soit affichée à l'écran, sinon vous obtiendrez un vide.
Si vous avez tout fait correctement, un message apparaîtra sur les écrans.
Comment connecter un écran OLED I2C à ARDUINO

Voici le CODE Starting_with_Arduino_OLED.ino de notre programme:
[946 b] (téléchargements: 1100)
Retour
Commentaires (3)
  1. Tatoshka
    #1 Tatoshka Les invités 14 novembre 2018 21:18
    0
    Merci mon ami! Ceci est ma première esquisse téléchargée et mon introduction à Arduino. Sans compter le clignotement de clignotement))
  2. alisher
    #2 alisher Les invités 28 juillet 2019 19h35
    0
    Et où télécharger ce code Finder_I2C_Hex_Address.ino?
    1. Al
      #3 Al Les invités 14 août 2019 12:51
      0
      sous l'image se trouve un lien "Voici le CODE Starting_with_Arduino_OLED.ino de notre programme:"

Lisez aussi

Codes d'erreur pour les machines à laver