• Arduino开发板使用I2C SSD1306 OLED显示屏的方法


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

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

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

    电路原理图

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

    在这里插入图片描述

    I2C协议

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

    在这里插入图片描述

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

    代码

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

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

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

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

    在这里插入图片描述

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

    更多Arduino的内容请参考以下链接:https://www.yiboard.com/thread-1518-1-1.html

  • 相关阅读:
    java写的教师信息管理系统代码
    git创建与合并分支
    在centos中注册gitlab runner
    ELK——Elasticsearch(一)
    简单介绍十款可以免费使用的API测试工具
    vue知识点——路由
    SpringBoot参数校验
    英国博士后招聘|林肯大学—植物-土壤相互作用
    心电信号导出呼吸频率的算法
    自己动手从零写桌面操作系统GrapeOS系列教程——17.用汇编语言清空屏幕
  • 原文地址:https://blog.csdn.net/woshi_ziyu/article/details/126049904