OLED Displays |
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.
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.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.
één Display is eenvoudig
Hier is de code om één display aan te sturen:Dit zou het resultaat moeten zijn:
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).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: