模块熟悉

第 19 课·视频:OLED 显示屏

唯一用 I²C 的模块,两根信号线;也是唯一能"显示"的模块

前面所有模块,要么只能"读",要么只能"亮/响"。

OLED 是套件里唯一能显示信息的——文字、数字、图标,都能画上去。它让你的作品从"会闪的灯"变成"能说话的东西"。

视频教程OLED 显示屏:I²C 接线、显示文字和数字下载 ↗

看的时候注意三件事

第一,它是唯一有两个信号线的模块。

针脚 作用
GND
VDD 电源(就是正极,和 VCC 一个意思)
SCK 时钟线(就是 SCL
SDA 数据线

为什么有两个信号线? 因为它用的是 I²C 总线——一种"两根线就能挂很多设备"的通信方式。后面细讲。

注意你板子上的丝印:教程里普遍写 VCCSCL,但你手上这块印的是 VDDSCK是同一个东西,接的位置完全一样,别被字母差异唬住。

第二,注意顺序。

I²C 的两根线不能随便接——SCKSCKSDASDA。接反了屏幕不亮,但不会烧坏,换过来就行。

第三,注意显示的位置。

不是所有内容都显示在同一个地方。你得指定"在第几行、第几列"画。视频里我调了几次坐标,你会看到数字写歪了、挤在一起——这都是正常的,多试两次就有手感了。

I²C 是什么,两句话讲清楚

传统的接法是一个设备一对线。你有 3 个传感器,就要 3 根信号线。

I²C 不一样:两根线,可以挂一长串设备。

I2C 总线:两根线可以挂很多设备,靠地址区分谁是谁

那怎么区分谁是谁?每个设备有个"地址"。主控在数据里带上地址,喊到谁,谁才应答。

所以你以后接别的 I²C 模块(很多传感器都是 I²C 的),SCKSDA 是可以共用的——不用再占新引脚。这是 I²C 最大的好处。

但这里有个坑:地址冲突。 如果两个设备地址一样,它们会同时应答,谁也没法正常工作。买模块的时候留意一下地址。

自测

单选题OLED 用了几根线跟主控通信?
单选题你手上的 OLED 模块,电源脚印的是 VDD,教程里写的是 VCC,怎么办?
问答题I²C 总线相比"一个设备一对线",最大的好处是什么?有什么代价?
拓展如果没有 I²C,你有 5 个传感器要接,会占用多少个引脚?和 I²C 一比呢?

这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。

提示:算一下"一对一"需要多少根信号线,再和 I²C 的两根对比。想想为什么嵌入式系统特别喜欢 I²C 和 SPI 这类"总线"。

拓展OLED 屏幕上的字,是用什么方式"画"出来的?

这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。

提示:搜"点阵字库 取模"、"OLED 显示原理 像素"。想一想:一个汉字在 16×16 的点阵里,需要多少个"开关"来决定亮不亮?

本节你要动手做的事

  • [ ] 接好四根线:VDD3.3VGNDGNDSCK/SDA→ 对应引脚
  • [ ] 先让它显示一行字,确认屏幕能亮
  • [ ] 试试显示一个会变化的数字(比如你在读的传感器值)
  • [ ] 调一调显示的位置,体会"坐标"的感觉
  • [ ] 做完自测题