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:
