ESP32 - OLED
Deze handleiding leert u hoe u de ESP32 gebruikt om gegevens weer te geven op een OLED. In detail leert u hoe u tekens en cijfers print, lijnen en vormen tekent, en afbeeldingen afdrukt op het OLED-display.
Hardware Benodigdheden
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over OLED Display
Er zijn verschillende soorten OLED-displays die werken met de ESP32. Ze verschillen in communicatie-interface (I2C, SPI), kleuren (wit, blauw, dual color...) en formaten (128x64, 128×32...).

In deze handleiding gebruiken we een SSD1306 128x64 I2C OLED Display.
I2C OLED Display Pinout
I2C OLED-display heeft 4 pinnen:
- GND pin: moet verbonden worden met de ground (massa) van de ESP32
- VCC pin: moet verbonden worden met de 5V pin van de ESP32
- SCL pin: is de I2C klokpin
- SDA pin: is de I2C datapin

Bedradingsschema
- Hoe u de ESP32 verbindt met een OLED 128x64 display via een breadboard

This image is created using Fritzing. Click to enlarge image
- Hoe u de ESP32 verbindt met een OLED 128x64 display via een schroefklem breakout board

※ Notiz:
- De volgorde van de pinnen van het OLED-module kan per fabrikant verschillen. Gebruik ALTIJD de labels die op het OLED-module zelf staan. Kijk goed!
Hoe OLED te gebruiken met ESP32
Installeer SSD1306 OLED bibliotheek
- Klik op het icoon Libraries in de linker balk van de Arduino IDE.
- Typ SSD1306 in het zoekveld en zoek dan naar de SSD1306 bibliotheek van Adafruit
- Installeer de bibliotheek door op de Install-knop te klikken.

- Er verschijnt een venster dat vraagt om de afhankelijkheden van de bibliotheek te installeren
- Installeer alle afhankelijkheden door op de Install All-knop te klikken.

Hoe te programmeren voor OLED
- Voeg de bibliotheken toe
- Definieer het schermformaat (128x64 of 128x32)
- Declareer een SSD1306 OLED-object
- Initialiseert het OLED-display in de functie setup()
- Daarna kunt u tekst, afbeeldingen weergeven en lijnen tekenen ...
ESP32 Code - Tekst weergeven op OLED
Hieronder staat een voorbeeldcode om tekst weer te geven op het OLED-display
Met de volgende functies kunt u meer doen:
- oled.clearDisplay(): wist het display
- oled.setTextSize(n): zet de lettergrootte (ondersteunt 1 t/m 8)
- oled.setTextColor(WHITE): zet de tekstkleur
- oled.setCursor(x,y): zet de cursorpositie om tekst te starten
- oled.drawPixel(x,y, color): tekent een pixel op de x,y coördinaten
- oled.setTextColor(BLACK, WHITE): zet tekstkleur (zwart) en achtergrondkleur (wit)
- oled.println("message"): print een tekststring
- oled.println(number): print een nummer
- oled.println(number, HEX): print een nummer in hexadecimale formaat
- oled.display(): past de wijzigingen toe op het scherm
- oled.startscrollright(start, stop): laat tekst van links naar rechts scrollen
- oled.startscrollleft(start, stop): laat tekst van rechts naar links scrollen
- oled.startscrolldiagright(start, stop): laat tekst diagonaal scrollen van linksonder naar rechtsboven
- oled.startscrolldiagleft(start, stop): laat tekst diagonaal scrollen van rechtsonder naar linksboven
- oled.stopscroll(): stopt het scrollen
ESP32 Code - Vormen tekenen op OLED
De onderstaande code laat zien hoe u verschillende vormen tekent op het OLED-display
Na het uitvoeren van de code ziet u een rechthoek, cirkel en driehoek op het OLED-scherm.

ESP32 Code – Afbeelding weergeven op OLED
Om een afbeelding op het OLED-scherm te tonen, moet u de afbeelding converteren naar een bitmap-array. Er is een online tool beschikbaar om afbeeldingen om te zetten naar een bitmap-array. Hieronder ziet u hoe dat werkt. Ik heb het ESP32-icoon geconverteerd naar een bitmap-array.

Na het converteren kopieert u de array en plakt u deze in de bitmap_image array in de volgende code:
Nadat u de code hebt uitgevoerd, ziet u de afbeelding op het OLED-scherm zoals hieronder weergegeven.
