title image

OLED Displays   

Youtube

Dit zijn 2 mooie OLED displays. De displays hebben een i2c interface. Dankzij de i2c bus interface zou het heel eenvoudig moeten zijn om meerdere displays aan te sluiten, dat bleek echter niet het geval.
displays

i2c Bus

De i2c bus is een serieel bus systeem dat gebruik maakt van 2 signaallijnen, Clock en Data. Op deze bus sluit je meerdere slave devices aan en een bus master. De microcontroller is hier natuurlijk bus master. De bus master is de enige die mag communiceren met de slaves. De slaves versturen alleen data op verzoek van de master.
I2c bus

Arduino Libraries

Er zijn meerdere libraries beschikbaar om deze displays te kunnen aansturen. Ik maakte gebruik van de Adafruit libraries (http://www.adafruit.com/).
Deze zijn te downloaden vanaf github (je hebt beide nodig):
De display library:github.com/adafruit/Adafruit_SSD1306
De GFX library:github.com/adafruit/Adafruit-GFX-Library

Aansluiten

De standaard aansluitingen voor de I2C interface zijn:
pin A4 = SDA (serial Data)
pin A5 = SCL (serial Clock)
De i2c bus heeft een pull up weerstand nodig op zowel de SDA als SCL lijn.

Arduino I2c bus

één Display is eenvoudig

Hier is de code om één display aan te sturen:
Dit zou het resultaat moeten zijn:
displays



Twee displays aansluiten

Nu willen we graag een tweede display aansluiten. Elk display moet dan wel een eigen adres krijgen. Achter op het display zit een gesoldeerde jumper die het mogelijk maakt om het adres in te stellen (0=0x3C, 1=0x3D).

Adres jumper

Adres jumper

Nu declareren we in de 2 display objecten, display1 en display2

En in de setup initialiseren we beide:


In het volgende voorbeeld stuur ik de 2 displays aan.

Het resultaat:
displays


Bekijk de video