Nichen留言 | 贡献
无编辑摘要
Nichen留言 | 贡献
无编辑摘要
第3行: 第3行:
= 0.96inch OLED (A) =
= 0.96inch OLED (A) =


[[File:https://www.waveshare.net/w/upload/7/79/0.96inch_OLED_A.jpg|center|420px|thumb|0.96inch OLED (A) 模块示意图]]
<div style="text-align:center;">
  <img src="https://www.waveshare.com/w/upload/5/5d/0.96inch-OLED-A_l.jpg" alt="0.96inch OLED (A)" width="420" />
</div>


; 型号
; 型号
: 0.96inch OLED (A)(横/弯脚排针)
: 0.96inch OLED (A)(横/弯脚排针)
; 对应版本
; 对应版本
: [[https://www.waveshare.net/wiki/0.96inch_OLED_(B)|0.96inch OLED (B)]](竖/直脚排针)
: [https://www.waveshare.com/wiki/0.96inch_OLED_(B) 0.96inch OLED (B)](竖/直脚排针)
; 驱动芯片
; 驱动芯片
: SSD1306 / SSD1315
: SSD1306
; 分辨率
; 分辨率
: 128×64
: 128×64
第21行: 第23行:


== 产品简介 ==
== 产品简介 ==
0.96 英寸 OLED 显示模块,内置 SSD1306/SSD1315 驱动,分辨率 128×64。支持 **3 线 SPI、4 线 SPI 与 I²C** 多种通信方式,适配 Raspberry Pi、Arduino、STM32、ESP32、Pico 等主控平台。   
0.96 英寸 OLED 显示模块,内置 SSD1306 驱动,分辨率 128×64。支持 **3 线 SPI、4 线 SPI 与 I²C** 多种通信方式,适配 Raspberry Pi、Arduino、STM32、ESP32、Pico 等主控平台。   
A 版为**横/弯脚排针**,B 版为**竖/直脚排针**;电气功能一致,仅排针方向不同。
A 版为**横/弯脚排针**,B 版为**竖/直脚排针**;电气功能一致,仅排针方向不同。


== 产品参数 ==
== 产品参数 ==
* 供电电压:3.3V / 5V
* 供电电压:3.3V / 5V
* 功耗:全亮约 20~30mA
* 通信接口:3-wire SPI / 4-wire SPI / I²C
* 显示区域:21.7 mm × 11.2 mm
* 分辨率:128×64
* 颜色:单色(白/蓝/黄,上黄下蓝)
* 显示尺寸:0.96inch
* 接口模式:SPI/I²C
* 显示颜色:上黄下蓝(1/4 黄 + 3/4 蓝)
* 兼容平台:Raspberry Pi / Arduino / STM32 / ESP32 / Pico
* 适配平台:Raspberry Pi / Arduino / STM32 / ESP32 / Pico
 
== 硬件配置与拨阻 ==
<div style="text-align:center;">
  <img src="https://www.waveshare.com/w/upload/9/93/0.96inch_OLED_Hardware.png" alt="硬件丝印与拨阻说明" width="520" />
</div>


== 通信模式与电阻配置 ==
{| class="wikitable"
{| class="wikitable"
! 模式 !! 配置示例
! 模式 !! BS1/BS0
|-
|-
| 3-wire SPI || BS1=0 / BS0=1
| 3-wire SPI || 0 / 1
|-
|-
| 4-wire SPI(默认) || BS1=0 / BS0=0
| 4-wire SPI(默认) || 0 / 0
|-
|-
| I²C || BS1=1 / BS0=0
| I²C || 1 / 0
|}
|}


第57行: 第63行:
| 5 || CS || 片选 || —
| 5 || CS || 片选 || —
|-
|-
| 6 || DC || 数据/命令选择 ||
| 6 || DC || 数据/命令选择 || (I²C 时可作地址位,接 GND=0x3C)
|-
|-
| 7 || RST || 复位 || 复位
| 7 || RST || 复位 || 复位
|}
|}


== 接线示例 ==
== 接线示例(Raspberry Pi,4-wire SPI) ==
<div style="text-align:center;">
  <img src="https://www.waveshare.com/w/upload/f/fe/0.96inch_OLED_rpi.png" alt="树莓派接线示意" width="600" />
</div>
 
; SPI
; SPI
: MOSI→DIN、SCK→CLK、CS→CS、DC→DC、RST→RST、VCC→3.3V/5V、GND→GND
: MOSI→DIN、SCLK→CLK、CE0→CS、GPIO25→DC、GPIO13→RES、VCC→3.3V、GND→GND
; I²C
; I²C
: SDA→SDA、SCL→SCL、VCC→3.3V/5V、GND→GND
: SDA→SDA、SCL→SCL、VCC→3.3V、GND→GND(DC 脚接地则地址 0x3C)


== 示例代码 ==
== 示例代码 ==
=== Arduino/ESP32 (U8g2) ===
=== Arduino/ESP32(U8g2) ===
<pre>
<pre>
#include <U8g2lib.h>
#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, SCK, MOSI, CS, DC, RST);
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, SCK, MOSI, CS, DC, RST);
 
void setup(){ u8g2.begin(); }
void setup() {
void loop(){
  u8g2.begin();
}
void loop() {
   u8g2.clearBuffer();
   u8g2.clearBuffer();
   u8g2.setFont(u8g2_font_ncenB08_tr);
   u8g2.setFont(u8g2_font_ncenB08_tr);
第85行: 第92行:
</pre>
</pre>


=== Raspberry Pi (Python luma.oled) ===
=== Raspberry Pi(Python:luma.oled,I²C) ===
<pre>
<pre>
from luma.core.interface.serial import i2c
from luma.core.interface.serial import i2c
第91行: 第98行:
from PIL import Image, ImageDraw
from PIL import Image, ImageDraw


serial = i2c(port=1, address=0x3C)
device = ssd1306(i2c(port=1, address=0x3C))
device = ssd1306(serial)
 
image = Image.new("1", device.size)
image = Image.new("1", device.size)
draw = ImageDraw.Draw(image)
draw = ImageDraw.Draw(image)
第99行: 第104行:
device.display(image)
device.display(image)
</pre>
</pre>
== 尺寸图 ==
[[File:https://www.waveshare.net/w/upload/2/23/0.96inch_OLED_Dimension.png|center|520px|thumb|尺寸图]]
== 常见问题 ==
; 上电不亮?
: OLED 无背光,需要初始化才会显示。
; 会不会烧屏?
: 长时间静态画面会产生残影,建议定期刷新。


== 资料下载 ==
== 资料下载 ==
* [https://www.waveshare.net/w/upload/f/f9/0.96inch-OLED-UserManual.pdf 用户手册(PDF)]
* [https://files.waveshare.com/upload/7/71/0.96inch-OLED-UserManual.pdf 用户手册(PDF)]
* [https://www.waveshare.net/w/upload/b/b8/0.96inch-OLED-Schematic.pdf 原理图(PDF)]
* [https://files.waveshare.com/upload/d/dc/0.96inch-OLED-Schematic.pdf 原理图(PDF)]
* [https://www.waveshare.net/w/upload/9/9f/0.96inch-OLED-Arduino.zip Arduino 例程]
* [https://files.waveshare.com/upload/e/ec/SDD1306-30pin.pdf SSD1306 数据手册(PDF)]
* [https://www.waveshare.net/w/upload/8/86/0.96inch-OLED-RaspberryPi.zip Raspberry Pi 例程]
* [https://www.waveshare.net/w/upload/3/3d/0.96inch-OLED-STM32.zip STM32 例程]
* [https://www.waveshare.net/w/upload/7/7e/0.96inch-OLED-Pico.zip Pico 例程]


== 选型 ==
== 选型 ==
* '''0.96inch OLED (A)''':横/弯脚排针
* '''0.96inch OLED (A)''':横/弯脚排针
* '''0.96inch OLED (B)''':竖/直脚排针
* '''0.96inch OLED (B)''':竖/直脚排针
== 常见问题 ==
; 上电不亮?
: OLED 无背光,需要初始化并刷屏后才会有显示。
; 有残影/烧屏风险吗?
: 长时间显示静态画面会产生残影,建议定期刷新或做屏保。


== 修订记录 ==
== 修订记录 ==
* 2025-10-02:初版整理
* 2025-10-02:初版整理

2025年10月2日 (四) 14:38的版本


0.96inch OLED (A)

 <img src="0.96inch-OLED-A_l.jpg" alt="0.96inch OLED (A)" width="420" />
型号
0.96inch OLED (A)(横/弯脚排针)
对应版本
0.96inch OLED (B)(竖/直脚排针)
驱动芯片
SSD1306
分辨率
128×64
接口
3-wire SPI / 4-wire SPI / I²C
默认模式
4-wire SPI(出厂默认)

产品简介

0.96 英寸 OLED 显示模块,内置 SSD1306 驱动,分辨率 128×64。支持 **3 线 SPI、4 线 SPI 与 I²C** 多种通信方式,适配 Raspberry Pi、Arduino、STM32、ESP32、Pico 等主控平台。 A 版为**横/弯脚排针**,B 版为**竖/直脚排针**;电气功能一致,仅排针方向不同。

产品参数

  • 供电电压:3.3V / 5V
  • 通信接口:3-wire SPI / 4-wire SPI / I²C
  • 分辨率:128×64
  • 显示尺寸:0.96inch
  • 显示颜色:上黄下蓝(1/4 黄 + 3/4 蓝)
  • 适配平台:Raspberry Pi / Arduino / STM32 / ESP32 / Pico

硬件配置与拨阻

 <img src="0.96inch_OLED_Hardware.png" alt="硬件丝印与拨阻说明" width="520" />
模式 BS1/BS0
3-wire SPI 0 / 1
4-wire SPI(默认) 0 / 0
I²C 1 / 0

管脚定义(A 版:横/弯脚排针)

引脚 名称 SPI 功能 I²C 功能
1 VCC 电源正(3.3V/5V) 电源正(3.3V/5V)
2 GND 电源地 电源地
3 DIN/SDA SPI MOSI I²C 数据
4 CLK/SCL SPI 时钟 I²C 时钟
5 CS 片选
6 DC 数据/命令选择 (I²C 时可作地址位,接 GND=0x3C)
7 RST 复位 复位

接线示例(Raspberry Pi,4-wire SPI)

 <img src="0.96inch_OLED_rpi.png" alt="树莓派接线示意" width="600" />
SPI
MOSI→DIN、SCLK→CLK、CE0→CS、GPIO25→DC、GPIO13→RES、VCC→3.3V、GND→GND
I²C
SDA→SDA、SCL→SCL、VCC→3.3V、GND→GND(DC 脚接地则地址 0x3C)

示例代码

Arduino/ESP32(U8g2)

#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, SCK, MOSI, CS, DC, RST);
void setup(){ u8g2.begin(); }
void loop(){
  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_ncenB08_tr);
  u8g2.drawStr(0,12,"Hello OLED!");
  u8g2.sendBuffer();
}

Raspberry Pi(Python:luma.oled,I²C)

from luma.core.interface.serial import i2c
from luma.oled.device import ssd1306
from PIL import Image, ImageDraw

device = ssd1306(i2c(port=1, address=0x3C))
image = Image.new("1", device.size)
draw = ImageDraw.Draw(image)
draw.text((0,0), "Hello OLED!", fill=255)
device.display(image)

资料下载

选型

  • 0.96inch OLED (A):横/弯脚排针
  • 0.96inch OLED (B):竖/直脚排针

常见问题

上电不亮?
OLED 无背光,需要初始化并刷屏后才会有显示。
有残影/烧屏风险吗?
长时间显示静态画面会产生残影,建议定期刷新或做屏保。

修订记录

  • 2025-10-02:初版整理