Arduino Nano - OLED
Deze handleiding laat u zien hoe u de Arduino Nano gebruikt met een OLED-display. We leren in detail:
- Hoe u het OLED-display aansluit op de Arduino Nano.
- Hoe u de Arduino Nano programmeert om tekst en cijfers op het OLED-scherm weer te geven.
- Hoe u de Arduino Nano programmeert om tekst en cijfers verticaal en horizontaal in het midden uit te lijnen op OLED.
- Hoe u de Arduino Nano programmeert om te tekenen op OLED.
- Hoe u de Arduino Nano programmeert om een afbeelding te tonen op OLED.
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over het OLED Display
Er zijn verschillende soorten OLED-displays beschikbaar. De meest gebruikte OLED met Arduino Nano is het SSD1306 I2C OLED display in de resoluties 128x64 en 128x32.

I2C OLED Display Pinout
- GND pin: Deze moet worden verbonden met de aarde (ground) van de Arduino Nano.
- VCC pin: Dit is de voedingsaansluiting voor het display en moet worden aangesloten op 3,3V of 5V.
- SCL pin: Dit is de seriële klok-pin voor de I2C-interface.
- SDA pin: Dit is de seriële datapin voor de I2C-interface.

※ Notiz:
- De pins van het OLED-module kunnen verschillen afhankelijk van fabrikant en type. Gebruik altijd de labels die op het OLED-module gedrukt staan. Kijk goed!
- Deze tutorial gebruikt het OLED-display dat wordt aangestuurd door de SSD1306 I2C-driver. We hebben getest met het OLED-display van DIYables en het werkt perfect.
Aansluitschema
- Aansluitschema tussen Arduino Nano en OLED 128x64

This image is created using Fritzing. Click to enlarge image
- Aansluitschema tussen Arduino Nano en OLED 128x32

This image is created using Fritzing. Click to enlarge image
Het aansluitschema tussen Arduino Nano en OLED-display:
| OLED Module | Arduino Nano |
|---|---|
| Vin | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Hoe OLED te gebruiken met Arduino Nano
Installeer SSD1306 OLED bibliotheek
- Klik op het Libraries icoon in de linkerbalk van de Arduino IDE.
- Zoek naar “SSD1306” en vind de SSD1306 bibliotheek van Adafruit.
- Klik vervolgens op de Install knop om de installatie te voltooien.

- U krijgt mogelijk een melding om bijkomende afhankelijkheden te installeren.
- Klik op de Install All knop om ze allemaal te installeren.

Hoe te programmeren voor OLED
- Voeg de bibliotheek toe
- Geef de afmetingen van het OLED-scherm op als 128 x 64 pixels.
- Of geef de afmetingen op van een OLED-scherm van 128x32 pixels.
- Maak een object aan van het type SSD1306 OLED.
- Initialiseer in de functie setup() het OLED-display.
- Nu kunt u tekst, afbeeldingen weergeven en lijnen tekenen...
In de verdere voorbeelden is alle code gericht op het OLED 128x64. Het is echter eenvoudig aan te passen voor OLED 128x32 door het schermformaat en indien nodig de coördinaten aan te passen.
Arduino Nano Code - Tekst weergeven op OLED
Dit zijn enkele functies die gebruikt kunnen worden om tekst op het OLED-display te tonen:
- oled.clearDisplay(): schakelt alle pixels uit.
- oled.drawPixel(x,y, color): tekent een pixel op de x,y-coördinaat.
- oled.setTextSize(n): stelt de lettergrootte in; ondersteunt groottes van 1 tot 8.
- oled.setCursor(x,y): zet de cursor op de coördinaten waar tekst begint.
- oled.setTextColor(WHITE): stelt de tekstkleur in.
- oled.setTextColor(BLACK, WHITE): stelt tekstkleur en achtergrondkleur in.
- oled.println("message"): print tekst.
- oled.println(number): print een getal.
- oled.println(number, HEX): print een getal in hexadecimale notatie.
- oled.display(): voer deze methode uit om gemaakte wijzigingen zichtbaar te maken.
- oled.startscrollright(start, stop): laat text van links naar rechts scrollen.
- oled.startscrollleft(start, stop): laat text van rechts naar links scrollen.
- oled.startscrolldiagright(start, stop): laat text diagonaal scrollen van linker onderhoek naar rechter bovenhoek.
- oled.startscrolldiagleft(start, stop): laat text diagonaal scrollen van rechter onderhoek naar linker bovenhoek.
- oled.stopscroll(): stopt het scrollen.
Hoe tekst/nummer verticaal en horizontaal in het midden uit te lijnen op OLED
Voor informatie over het verticaal en horizontaal centreren van tekst en nummers op een OLED-display, zie How to vertical/horizontal center on OLED.
Arduino Nano Code - Tekenen op OLED
Arduino Nano Code – Afbeelding weergeven
Om een afbeelding op OLED weer te geven, moet u eerst de afbeelding (elk formaat) converteren naar een bitmap-array. Dit doet u met de online tool. De onderstaande afbeelding toont hoe u een afbeelding converteert naar een bitmap-array; ik gebruikte het Arduino Nano icoon als voorbeeld.

Na conversie plaatst u de arraycode in plaats van de ArduinoIcon array in onderstaande code.
※ Notiz:
- De grootte van de afbeelding mag niet groter zijn dan het formaat van het scherm.
- Als u de code voor een OLED 128x32 wilt gebruiken, moet u de afbeelding verkleinen en de breedte- en hoogteparameters in de functie oled.drawBitmap(); aanpassen.
OLED Probleemoplossing
Controleer of het OLED-display correct werkt door het volgende te doen:
- Controleer of de bekabeling correct is.
- Verifieer dat uw OLED het SSD1306 stuurprogramma (driver) gebruikt.
- Gebruik de I2C Address Scanner code op Arduino Nano om het I2C-adres van het OLED te controleren.
De output in de Serial Monitor ziet er als volgt uit: