Arduino UNO R4 - OLED
Deze tutorial laat u zien hoe u Arduino UNO R4 gebruikt met een OLED 128x64 I2C display. In detail zullen we leren:
- Hoe een OLED 128x64 display met Arduino UNO R4 te verbinden.
- Hoe Arduino UNO R4 te programmeren om tekst en nummers op een OLED weer te geven met Arduino UNO R4.
- Hoe tekst en nummers verticaal en horizontaal te centreren op een OLED.
- Hoe tekeningen op een OLED te maken met Arduino UNO R4.
- Hoe afbeeldingen op een OLED te tonen met Arduino UNO R4.

Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables STEM V4 IoT Starterskit (Arduino inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over OLED Display
Er zijn verschillende soorten OLED displays. Ze variëren in de manier waarop ze communiceren, hun afmetingen en hun kleuren.
- Communicatiemethoden: I2C, SPI
- Afmetingen: 128x64, 128x32...
- Kleuren: wit, blauw, twee-kleurig...

SPI is meestal sneller dan I2C maar heeft meer pinnen op de Arduino UNO R4 nodig. Daarentegen heeft I2C slechts twee pinnen nodig en deze pinnen kunnen met meerdere I2C-apparaten verbinden. U moet kiezen tussen het gebruik van minder pinnen of snellere communicatie. Voor OLED-schermen met I2C zijn er verschillende drivers zoals SSD1306 en SH1106. Deze gids gebruikt het 128x64 SSD1306 I2C OLED Display
I2C OLED Display Pinout
- GND pin: moet verbonden worden met de aarde van Arduino UNO R4
- VCC pin: is de voedingsspanning voor het display die we verbinden met de 5 volt pin op de Arduino UNO R4.
- SCL pin: is een seriële klokpin voor I2C interface.
- SDA pin: is een seriële datapin voor I2C interface.

※ Notiz:
De indeling van pinnen op een OLED-module kan verschillen gebaseerd op de fabrikant en het model van de module. Controleer altijd en volg de labels op de OLED-module. Let goed op!
Deze gids is voor een OLED-display dat de SSD1306 I2C driver gebruikt. We hebben het getest met een OLED-display van DIYables. Het functioneert perfect zonder problemen.
Bedradingsschema
- Aansluitschema voor Arduino UNO R4 met OLED 128x64 scherm

This image is created using Fritzing. Click to enlarge image
Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.
Als u een ander type Arduino UNO R4 gebruikt, zal de pin-indeling niet hetzelfde zijn als de Uno. Bekijk de tabel hieronder voor informatie over andere Arduino UNO R4 modellen.
| OLED Module | Arduino UNO R4 |
|---|---|
| Vin | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Hoe OLED te Gebruiken met Arduino UNO R4
Installeer SSD1306 OLED bibliotheek
- Ga naar het Libraries icoon aan de linkerkant van de Arduino IDE.
- Type "SSD1306" in het zoekvak en zoek naar de SSD1306 bibliotheek gemaakt door Adafruit.
- Druk op de Install knop om de bibliotheek toe te voegen.

- U zult enkele aanvullende bibliotheken moeten installeren.
- Klik op de Install All knop om alle benodigde bibliotheken te installeren.

Hoe te programmeren voor OLED
- Voeg een bibliotheek toe.
- Stel de schermgrootte in op OLED 128x64.
- Maak een SSD1306 OLED object.
- In de setup() functie, stel het OLED-scherm in.
- Dan kunt u tekst, afbeeldingen weergeven en lijnen tekenen.
Arduino UNO R4 Code - Tekst Weergeven op OLED
Hier zijn enkele functies die u kunt gebruiken om tekst op de OLED te tonen:
- oled.clearDisplay(): schakelt alle pixels uit.
- oled.drawPixel(x, y, color): tekent een pixel op x, y coördinaten.
- oled.setTextSize(n): verandert tekstgrootte, met keuzes van 1 tot 8.
- oled.setCursor(x, y): stelt het startpunt voor tekst in.
- oled.setTextColor(WHITE): maakt de tekstkleur wit.
- oled.setTextColor(BLACK, WHITE): maakt de tekstkleur zwart en achtergrond wit.
- oled.println("message"): toont tekst.
- oled.println(number): toont een nummer.
- oled.println(number, HEX): toont een nummer in hexadecimaal formaat.
- oled.display(): werkt het display bij met veranderingen.
- oled.startscrollright(start, stop): beweegt tekst van links naar rechts.
- oled.startscrollleft(start, stop): beweegt tekst van rechts naar links.
- oled.startscrolldiagright(start, stop): beweegt tekst diagonaal van links-onder naar rechts-boven.
- oled.startscrolldiagleft(start, stop): beweegt tekst diagonaal van rechts-onder naar links-boven.
- oled.stopscroll(): stopt alle scrollende tekst.
Hoe tekst/nummer verticaal en horizontaal te centreren op OLED
Arduino UNO R4 Code - Tekenen op OLED
Arduino UNO R4 Code – Afbeelding Weergeven
Om een afbeelding op een OLED-scherm weer te geven, zet eerst de afbeelding (elk formaat) om naar een bitmap array. U kunt deze online tool gebruiken om het om te zetten. Bekijk de afbeelding hieronder om te zien hoe een afbeelding naar een bitmap array te veranderen. Ik heb het Arduino icoon omgezet naar een bitmap array.

Kopieer de nieuwe array code en werk het bij in de Arduino icoon array in de onderstaande code.
※ Notiz:
- De afbeeldingsgrootte moet zo klein als of kleiner zijn dan de schermgrootte.
- Om de gegeven code voor een OLED 128x32 te gebruiken, moet u de afbeelding aanpassen en de breedte en hoogte in de oled.drawBitmap(); functie aanpassen.
OLED Probleemoplossing
Als het OLED-scherm niets toont, volg deze stappen:
- Zorg ervoor dat de bedrading goed is gedaan.
- Bevestig dat uw I2C OLED uitgerust is met een SSD1306 driver.
- Verifieer het I2C adres van uw OLED met de volgende I2C Address Scanner code op Arduino UNO R4.
De uitvoer op de Serial Monitor: