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                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="nanoFramework.Iot.Device.Ssd13xx" Version="1.3.384" />                
对于支持 PackageReference 的项目,将此 XML 节复制到项目文件中以引用包。
paket add nanoFramework.Iot.Device.Ssd13xx --version 1.3.384                
#r "nuget: nanoFramework.Iot.Device.Ssd13xx, 1.3.384"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中以引用包。
// 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 面板设计。

文档

在 I2C 总线上的地址:Ssd1306.DefaultI2cAddress 0x3C

Connection schematics

具有 7 引脚 I2C/SPI 的版本

在 I2C 总线上的地址:Ssd1306.SecondaryI2cAddress 0x3D

连接电阻

  • I2C — R1, R4, R8;
  • SPI — R3, R4.

仅 I2C

Ssd1306 I2C/SPI back

Connection schematics

连接表

引脚号 引脚名称 描述
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

使用说明

有两种绘图方法。

  1. 各种专用绘图方法,可逐像素绘图,如下

    • DrawPixel(...):绘制一个像素
    • DrawHorizontalLine(...):绘制水平线
    • DrawVerticalLine(...):绘制垂直线
    • DrawFilledRectangle(...):绘制填充矩形
    • DrawBitmap(...):绘制位图
    • DrawString(...):使用预设字体绘制字符串

    使用这些方法,您无需关心驱动程序显示您的绘图指令所使用的技术。

  2. 允许通过内部表示块的块(屏幕缓冲区)修改屏幕内容的方法

    • 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();

显示输出的以下内容

double-byte.fonts

字体

可以使用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兼容。
兼容目标框架(s)
包含目标框架(s)(在包中)
了解更多关于目标框架.NET Standard的信息。

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