一板网电子技术论坛

风筝
发表于: 2020-10-3 12:09:18 | 显示全部楼层

当我们在制作一个有趣的硬件项目时,可能会需要使用到一款显示屏,但选择显示屏的尺寸和控制它所需的引脚都令人困惑。在本篇文章中,我们将向您展示如何仅使用两根线将小型I2C OLED显示屏与Arduino一起使用。


GEEKCREIT 0.96英寸I2C OLED显示模块简介

本文中使用的显示屏拾一款非常小的(2.7 x 2.8cm)OLED屏幕,类似于Arduino Pro Mini尺寸,具有128 x 64屏幕分辨率。 OLED驱动器IC采用的是SSD1306,这是一种单芯片CMOS OLED / PLED驱动器,具有用于有机/聚合物发光二极管点矩阵图形显示系统的控制器。该模块只有4个引脚,其中两个是电源引脚,其他是SCL和SDA,I2C协议引脚,将用于控制显示。此OLED显示模块与Arduino完全兼容,并具有输入电压范围介于3.3V和6V之间,并且所需电流小于10 mA,因此可以与3.3V或5V引脚连接。

OLED.jpg


所需的组件

●    OLED显示屏

●    Arduino开发板(本文使用的拾Arduino Mega)

●    电源、移动电源、电池或USB电缆。


电路原理图

电路非常简单。首先,将GND与Arduino GND连接,在Arduino上将VCC与3.3V或5V连接,将SCL与SCL连接,最后将SDA与SDA引脚连接。上传代码并打开Arduino的电源。

I2C-OLED_bb.png


I2C协议

Inter-integrated Circuit(I2C)协议是一种旨在允许多个从数字集成电路与一个或多个主芯片进行通信的协议。它仅用于单个设备内的短距离通信,只需要两条信号线即可交换信息。

I2C CON.png

每条I2C总线均包含两个信号:SCL和SDA。 SCL是时钟信号,SDA是数据信号。时钟信号始终由当前的总线主机产生。消息分为两种类型的帧:地址帧,其中主机指示向其发送消息的从设备;以及一个或多个数据帧,即从主机传递到从设备的8位数据消息,反之亦然。 SCL变为低电平后,数据被放置在SDA线上; SCL线变为高电平后,数据被采样。


代码

首先,您需要下载两个库:

●    Adafruit GFX库,这是核心图形库,提供了一组通用的图形基元(点、线、圆等)。它需要与特定于硬件的库对应。

●    Adafruit SSD-1306 OLED显示库,这是基于SSD1306驱动程序的OLED显示器的库。


解压缩这两个库并将它们添加到Arduino库文件夹中,然后运行Arduino IDE并从OLED库中打开I2C示例。

ide.jpg


您要做的唯一更改就是更改显示器的I2C地址。转到setup函数,然后将display.begin函数调用的值从0x3D更改为0x3C。这是必需的,因为0x3D是Adafruit OLED显示器的地址,而0x3C是本示OLED显示屏的地址。将代码上传到Arduino之后,屏幕将点亮并开始显示线条、三角形、圆形和文本。您可以在代码中使用该函数来绘制所需的内容。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 539 | 回复: 1028



手机版|

GMT+8, 2020-11-25 08:14 , Processed in 0.078125 second(s), 32 queries . Powered by Discuz! X3.4

YiBoard一板网 © 2015-2020 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表