nanoFramework.Iot.Device.Ssd13xx 1.3.384
前缀已预留
dotnet add package nanoFramework.Iot.Device.Ssd13xx --version 1.3.384
NuGet\Install-Package nanoFramework.Iot.Device.Ssd13xx -Version 1.3.384
<PackageReference Include="nanoFramework.Iot.Device.Ssd13xx" Version="1.3.384" />
paket add nanoFramework.Iot.Device.Ssd13xx --version 1.3.384
#r "nuget: nanoFramework.Iot.Device.Ssd13xx, 1.3.384"
// Install nanoFramework.Iot.Device.Ssd13xx as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Ssd13xx&version=1.3.384 // Install nanoFramework.Iot.Device.Ssd13xx as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Ssd13xx&version=1.3.384
SSD13xx/SSD1306/SSD1327 & SSH1106 - OLED 显示器系列
SSD1306/SSH1106 是一款单芯片 CMOS OLED/PLED 驱动器,具有有机/聚合物发光二极管点阵图形显示系统的控制器。它由 128 段和 64 个公共端组成。此 IC 专为共阴极 OLED 面板设计。
文档
相关设备
- Adafruit PiOLED - Raspberry Pi 的 128x32 单色 OLED 添加板
- HiLetgo 1.3" SPI 128x64 SSH1106 OLED LCD 显示屏 LCD
- SunFounder 0.96" 英寸蓝色 I2C IIC 串行 128x64 OLED LCD LED SSD1306 模块
- Diymall 0.96" 英寸蓝色和黄色 I2c IIC 串行 Oled LCD LED 模块 12864 128X64 for Arduino 显示 Raspberry PI 51 Msp420 Stim32 SCR
板
在 I2C 总线上的地址:Ssd1306.DefaultI2cAddress 0x3C
具有 7 引脚 I2C/SPI 的版本
在 I2C 总线上的地址:Ssd1306.SecondaryI2cAddress 0x3D
连接电阻
- I2C — R1, R4, R8;
- SPI — R3, R4.
仅 I2C
连接表
引脚号 | 引脚名称 | 描述 |
---|---|---|
1 | 地 (Gnd) | 连接到电路的地 |
2 | 电源(Vdd,Vcc,5V) | 可由3.3V或5V供电 |
3 | SCK(D0,SCL,CLK) | 显示器支持IIC和SPI,该引脚提供时钟 |
4 | SDA(D1,MOSI) | 这是两个的数据引脚,既可以用于IIC,也可以用于SPI |
5 | RES(RST,RESET) | 当暂时接地时,此引脚会重置模块(工作,高电平) |
6 | DC(A0) | I2C — 必须连接到电源(3.3V或5V)。SPI — 这是命令引脚 |
7 | 片选(CS) | 通常保持低电平,仅在多个SPI设备连接到MCU时使用 |
绑定说明
当前此绑定仅支持命令和原始数据。最终,计划创建一个图形库,可以将文本和图像发送到设备。因此,此库只是个起点,您将在示例中找到更多高级命令。
此绑定支持以下连接类型。
- I2C
- SPI
使用说明
有两种绘图方法。
各种专用绘图方法,可逐像素绘图,如下
DrawPixel(...)
:绘制一个像素DrawHorizontalLine(...)
:绘制水平线DrawVerticalLine(...)
:绘制垂直线DrawFilledRectangle(...)
:绘制填充矩形DrawBitmap(...)
:绘制位图DrawString(...)
:使用预设字体绘制字符串
使用这些方法,您无需关心驱动程序显示您的绘图指令所使用的技术。
允许通过内部表示块的块(屏幕缓冲区)修改屏幕内容的方法
DrawDirectAligned(...)
:使用给定的内容覆盖屏幕缓冲区ClearDirectAligned(...)
:清除(使用0x00)屏幕缓冲区的给定部分
这些方法允许快速(大约100倍)显示访问,但有一些限制。
- 此处传递的位图必须采用适当的格式(请参阅SSD13xx文档中的“GDDRAM”和“水平寻址模式”)。
- 不执行对现有缓冲区数据(通过其他方式绘制的像素)的位操作,新数据将覆盖新绘制内容下面的像素。
- “y”坐标和位图高度必须与屏幕缓冲区字节对齐(请参阅上述文档)。
两组的使用可以自由混合(例如,通过DrawString(...)
显示文本,以下通过DrawDirectAligned(...)
显示图像)
1.的示例可以在samples
文件夹中找到。
2.的示例如下。
// There are superb online helpers like the one below which are able to
// create an appropriate byte array from an image in code use ready format.
// https://www.mischianti.org/images-to-byte-array-online-converter-cpp-arduino/
// On the site above use these settings to get bytes needed here:
// - "plain bytes"
// - "vertical - 1 bit per pixel"
var buffer = new byte[] { ... };
var width = 16;
var height = 16;
// instantiation example
var ssd1306 = new Ssd1306(
I2cDevice.Create(
new I2cConnectionSettings(
1,
Ssd1306.DefaultI2cAddress,
I2cBusSpeed.FastMode)),
Ssd13xx.DisplayResolution.OLED128x64);
// this line sends the image data to the screen
ssd1306.DrawDirectAligned(x, y, width, height, buffer);
// this one wipes its place to blank
ssd1306.ClearDirectAligned(x, y, width, height);
要显示双字节字体(例如亚洲语言的字体),必须将字体设置为DoubleByteFont()
,如下所示
device.Font = new DoubleByteFont();
device.DrawString(2, 2, "功夫$", 2, false);
device.DrawString(2, 34, "89AB功夫$", 1, true);
device.Display();
显示输出的以下内容
字体
可以使用IFont实现来使用字体。
提供有示例字体,既在样本目录中,也在附加字体中。还提供了一个名为Bitmap2Font
的工具,它可以帮助自动生成Font类。简而言之,它可以从任何给定固定大小的黑白字体图像生成Font类。更多信息在这里。
IotByteFont: .NET点阵字体创建工具
IotByteFont是一个.NET点阵字体创建工具。它可以加载您喜欢的字体文件,并生成自定义点阵字体代码。
安装
您可以使用以下命令安装IotByteFont工具
dotnet tool install -g IotByteFont
使用方法
以下是IotByteFont工具的命令行选项
选项 | 默认值 | 描述 |
---|---|---|
-f, --font | Microsoft YaHei UI | 字体文件路径或字体名称。 |
-c, --char | chars.txt | 字符文件路径或字符字符串。 |
-s, --size | 16 | 字体大小。 |
-w, --width | 0 | 字体宽度。0表示与字体大小相同。 |
-y, --yoffset | 0.75 | 字体y偏移量。size * y。不建议调整。调试模式中调整。 |
-t, --threshold | 128 | 二值化的阈值。 |
-n, --name | IotByteFont | 输出类名称。 |
-d, --debug | false | 调试模式。打印调试信息和位图。 |
示例
创建字体时,需要指定字体文件或字体名称、字体中包含的字符以及字体大小。您还可以指定字体的宽度、y偏移量和输出类的名称。打开调试模式可以打印调试信息和最终的字体位图。
IotByteFont --char "abcde功夫$" --size 8
IotByteFont --font ms.ttf --char chars.txt --yoffset 0.6 --name MyFont --debug
产品 | 版本 兼容的和附加的计算目标框架版本。 |
---|---|
.NET Framework | net兼容。 |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.System.Device.Gpio (>= 1.1.41)
- nanoFramework.System.Device.I2c (>= 1.1.16)
- nanoFramework.System.Math (>= 1.5.43)
NuGet包 (1)
展示依赖于nanoFramework.Iot.Device.Ssd13xx的顶级1个NuGet包
包 | 下载 |
---|---|
nanoFramework_MAGICBIT 此包包含nanoFramework_MAGICBIT,这是.NET nanoFramework C#项目中用于MagicBit的板包库。 |
GitHub仓库
此包未用于任何流行的GitHub仓库。
版本 | 下载 | 最后更新 |
---|---|---|
1.3.384 | 356 | 6/14/2024 |
1.3.374 | 139 | 5/29/2024 |
1.3.366 | 139 | 5/17/2024 |
1.3.362 | 132 | 5/15/2024 |
1.3.350 | 182 | 4/15/2024 |
1.3.328 | 211 | 3/22/2024 |
1.3.326 | 145 | 3/16/2024 |
1.3.250 | 516 | 11/10/2023 |
1.3.143 | 1,127 | 5/26/2023 |
1.3.130 | 258 | 5/16/2023 |
1.3.127 | 210 | 5/12/2023 |
1.3.122 | 126 | 5/11/2023 |
1.3.116 | 215 | 5/10/2023 |
1.3.111 | 197 | 5/3/2023 |
1.3.106 | 240 | 4/20/2023 |
1.3.87 | 669 | 3/17/2023 |
1.3.83 | 373 | 3/13/2023 |
1.3.26 | 1,469 | 1/5/2023 |
1.3.17 | 464 | 12/28/2022 |
1.2.158 | 875 | 11/13/2022 |
1.2.153 | 603 | 11/5/2022 |
1.2.141 | 1,603 | 10/25/2022 |
1.2.3 | 7,871 | 7/9/2022 |
1.1.113.2032 | 2,811 | 6/23/2022 |
1.1.58.10097 | 1,694 | 5/23/2022 |
1.1.1 | 572 | 4/14/2022 |
1.0.300 | 465 | 4/2/2022 |
1.0.288-preview.113 | 127 | 3/25/2022 |
1.0.288-preview.48 | 267 | 2/4/2022 |
1.0.288-preview.20 | 153 | 1/27/2022 |
1.0.281 | 498 | 1/17/2022 |
1.0.259 | 297 | 12/9/2021 |
1.0.212 | 337 | 10/13/2021 |
1.0.156 | 309 | 9/1/2021 |
1.0.155 | 323 | 8/31/2021 |
1.0.138 | 336 | 7/18/2021 |
1.0.136 | 351 | 7/17/2021 |
1.0.134 | 164 | 7/15/2021 |
1.0.133 | 178 | 7/14/2021 |
1.0.131 | 151 | 7/8/2021 |
1.0.130 | 181 | 7/6/2021 |
1.0.129 | 157 | 7/6/2021 |
1.0.125 | 187 | 7/5/2021 |
1.0.121 | 194 | 6/29/2021 |
1.0.120 | 177 | 6/29/2021 |
1.0.119 | 217 | 6/28/2021 |
1.0.118 | 201 | 6/20/2021 |
1.0.110 | 220 | 6/9/2021 |
1.0.109 | 153 | 6/8/2021 |
1.0.106 | 189 | 6/1/2021 |
1.0.104 | 247 | 5/29/2021 |
1.0.71 | 193 | 5/26/2021 |