Meadow.Foundation.Displays.Ssd1351
Ssd1351 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The SSD1351 is a display controller used to drive 16bpp (RGB565) color OLED displays over SPI. These displays are commonly found with a resolution of 128x128.
Code Example
MicroGraphics graphics;
public override Task Initialize()
{
Resolver.Log.Info("Initializing ...");
var spiBus = Device.CreateSpiBus();
var display = new Ssd1351(
spiBus: spiBus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
resetPin: Device.Pins.D00,
width: 128, height: 128);
graphics = new MicroGraphics(display)
{
CurrentFont = new Font8x12(),
IgnoreOutOfBoundsPixels = true
};
return base.Initialize();
}
public override Task Run()
{
graphics.Clear();
graphics.DrawCircle(80, 80, 40, Color.Cyan, false);
int indent = 0;
int spacing = 10;
int y = indent;
graphics.DrawText(indent, y, "Meadow F7 (SSD1351)");
graphics.DrawText(indent, y += spacing, "Red", Color.Red);
graphics.DrawText(indent, y += spacing, "Purple", Color.Purple);
graphics.DrawText(indent, y += spacing, "BlueViolet", Color.BlueViolet);
graphics.DrawText(indent, y += spacing, "Blue", Color.Blue);
graphics.DrawText(indent, y += spacing, "Cyan", Color.Cyan);
graphics.DrawText(indent, y += spacing, "LawnGreen", Color.LawnGreen);
graphics.DrawText(indent, y += spacing, "GreenYellow", Color.GreenYellow);
graphics.DrawText(indent, y += spacing, "Yellow", Color.Yellow);
graphics.DrawText(indent, y += spacing, "Orange", Color.Orange);
graphics.DrawText(indent, y += spacing, "Brown", Color.Brown);
graphics.Show();
return base.Run();
}
Sample project(s) available on GitHub
Wiring Example
To wire a Ssd1351 to your Meadow board, connect the following:
Ssd1351 | Meadow Pin |
---|---|
LED- | 3V3 |
LED+ | GND |
MOSI | COPI |
SCK | SCK |
RESET | D15 |
A0 | D14 |
CS | D13 |
VCC | 3V3 |
GND | GND |
It should look like the following diagram: