0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样通过Arduino运行OLED

454398 来源:工程师吴畏 2019-08-05 09:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有机发光二极管OLED)是一种高对比度和高分辨率的显示器。这种显示器没有背光并且自己创建背光,这使得它们比LCD更清晰,更清晰和更平滑。美国物理化学家Ching W. Tang和Steven Van Slyke在Eastman Kodak于1987年建造了第一台实用的OLED设备。如今我们可以看到升级后的OLED一代,如SAMSUNG的Super AMOLED和AMOLED Plus以及LG的POLED。

怎样通过Arduino运行OLED

小型OLED模块在电子项目中非常有用。布线的简单布线和高可读性适用于显示数据,数字和简单图像。您可以找到具有不同分辨率的这些面板的不同尺寸和颜色。根据您的项目,您可以选择并行,SPI或I2C模型。有单色,2色和16位全彩色面板可供使用。我们选择带有SSD1306驱动器Arduino UNO的128 * 64,0.96英寸SPI OLED显示器。阅读本文的其余部分,了解如何在OLED显示屏上显示文本和图像。

电路

不同的SPI OLED显示器具有不同的引脚名称。使用上面的电路图来了解模块引脚名称的含义。大多数OLED模块也使用3.3伏电源。您可以更改Arduino的引脚,但您也必须在代码中更改它。

模拟

如果您没有组件或不想购买它们,可以通过Proteus仿真尝试并根据您的兴趣进行编辑。下载以下项目文件。

代码

为OLED模块编写了很多库。在本文中,我们选择了WaveShare OLED SSD1306库。它并不复杂,您甚至可以根据您的代码更改库。您必须先添加库,然后上传代码。如果这是您第一次运行Arduino板,请不要担心。只需按照以下步骤操作:

访问www.arduino.cc/en/Main/Software下载您的操作系统软件。按照说明安装IDE软件。

运行Arduino IDE并清除文本编辑器并在文本编辑器中复制以下代码。

导航到草图并包含库(从以下链接下载库)。现在单击添加ZIP库并添加库

选择工具和板中的板,选择Arduino UNO。

将Arduino连接到PC并设置工具和端口中的COM端口。

按上传(箭头标志)按钮。

您已经完成了设置!

结果

#include “ssd1306.h”

#define VCCSTATE SSD1306_SWITCHCAPVCC

#define WIDTH 128

#define HEIGHT 64

#define PAGES 8

#define OLED_RST 9

#define OLED_DC 8

#define OLED_CS 10

#define SPI_MOSI 11 /* connect to the DIN pin of OLED */

#define SPI_SCK 13 /* connect to the CLK pin of OLED */

uint8_t oled_buf[WIDTH * HEIGHT / 8];

void setup() {

Serial.begin(9600);

Serial.print(“OLED Example ”);

SSD1306_begin();

SSD1306_clear(oled_buf);

/* display images of bitmap matrix */

SSD1306_bitmap(0, 2, Signal816, 16, 8, oled_buf);

SSD1306_bitmap(24, 2,Bluetooth88, 8, 8, oled_buf);

SSD1306_bitmap(40, 2, Msg816, 16, 8, oled_buf);

SSD1306_bitmap(64, 2, GPRS88, 8, 8, oled_buf);

SSD1306_bitmap(90, 2, Alarm88, 8, 8, oled_buf);

SSD1306_bitmap(112, 2, Bat816, 16, 8, oled_buf);

SSD1306_string(0, 52, “MUSIC”, 12, 0, oled_buf);

SSD1306_string(52, 52, “MENU”, 12, 0, oled_buf);

SSD1306_string(98, 52, “PHONE”, 12, 0, oled_buf);

SSD1306_char3216(0, 16, ‘1’, oled_buf);

SSD1306_char3216(16, 16, ‘2’, oled_buf);

SSD1306_char3216(32, 16, ‘:’, oled_buf);

SSD1306_char3216(48, 16, ‘3’, oled_buf);

SSD1306_char3216(64, 16, ‘4’, oled_buf);

SSD1306_char3216(80, 16, ‘:’, oled_buf);

SSD1306_char3216(96, 16, ‘5’, oled_buf);

SSD1306_char3216(112, 16, ‘6’, oled_buf);

SSD1306_display(oled_buf);

}

void loop() {

}

汇编

您可以使用面包板和公/母跳线来完成它。

现在上传代码。

显示图像和动画

要显示图像,必须将其转换为十六进制代码。有几个应用程序将图像转换为十六进制代码。您可以从以下链接下载其中一个。首先,运行软件并从“文件”菜单中打开图像。您的图像尺寸应小于128 * 64像素。然后单击“选项”菜单中的转换,并确保设置与下图相同。

单击“文件”菜单中的“转换”。现在打开.c文件并复制十六进制代码。在主代码中,按以下格式添加十六进制代码。

const uint8_t SAMPLE_NAME [] PROGMEM = {0x00,0x00,0x00,0x00 。..。.. 0xFF};

现在,将以下行添加到循环中。

SSD1306_bitmap(0,0,SAMPLE_NAME,128,64,oled_buf);//(x位置,y位置,图像名称,宽度,高度)

已完成,上传代码到Arduino。

下一步是什么?

为了更多练习,我们添加了一个示例规范和文本动画。尝试编辑它并在显示屏上制作自己的动画。

您还可以在ElectroPeak官方网站上阅读此项目。

https://electropeak.com/learn/引导件/所述-初学者引导到显示文本的图像的动画-OLED显示逐Arduino的上/

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    121

    文章

    6331

    浏览量

    232491
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195930
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在树莓派上安装并运行 Arduino 集成开发环境!

    使用树莓派单板计算机,你可以运行各种应用程序,包括广受欢迎的Arduino集成开发环境(IDE)。这意味着你可以用它轻松地为通过USB连接到树莓派计算机的微控制器编程,以创建交互式电子项目。下面
    的头像 发表于 07-01 17:41 4034次阅读
    如何在树莓派上安装并<b class='flag-5'>运行</b> <b class='flag-5'>Arduino</b> 集成开发环境!

    【RA4L1-SENSOR】DHT11测温湿度OLED显示

    【点亮OLED显示屏】 瑞萨 RA4L1 支持硬件 I2C,开发板上有 Arduino UNO 接口,UNO 接口上有 I2C 接口,可以接入 OLED 屏使用,如下: P400、P401 设置
    发表于 06-12 11:02

    TRCX应用:OLED 像素模拟及电容提取

    的层,以使其更高效和耐用。TRCX通过使用指定的分析算法来处理用于分析OLED像素电路的数据,从而提供快速准确的计算。 2. 建模任务  2.1 堆栈结构 3. 建模过程 3.1 加载GDS&
    发表于 05-28 08:43

    怎样使用Jlink (SEGGER) 通过SWD读写呢?

    怎样使用Jlink (SEGGER) 通过SWD读写呢?Jlink没有找到CYPD6125的信号,官方也没有找到CYPD6125对应的FLM和xml 文件
    发表于 05-27 06:45

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    Arduino IDE可以在Windows、Mac OS X和Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。2、简单清晰的开发Arduino IDE基于Processing
    发表于 05-13 09:28

    Techwiz OLED:多单元&amp;多畴

    在微腔OLED设计中,每个RGB子像素都被设计成不同的结构以优化光学效率。为了准确分析所设计的结构,需要对三个子像素进行逐一分析。 TechWiz OLED使模拟能够轻松地比较和分析通过以像素为单位
    发表于 03-20 18:17

    Techwiz OLED应用:透明显示

    如今,透明显示器作为未来的显示技术之一已经引起了广泛的关注。特别是,使用OLED器件的透明显示器已被积极研究。TechWiz OLED的发光区和透明区的同步分析功能对用户在设计透明OLED显示屏时非常有用。这一功能可以
    发表于 03-17 11:35

    【瑞萨RA2L1入门学习】+ OLED驱动

    【前言】 OLED是MCU比较常见的外设之一,MCU通过OLED可以展示用户想要的东西。下面就如何在MAC OS下面使用e2Studio进行项目开发。 1、工程基础: https
    发表于 03-09 19:25

    通过Arduino Nano Matter开发板构建智能卷帘系统

    在本指南中,您将学习如何通过Arduino NanoMatter开发板和板上的Silicon Labs(芯科科技)MGM240S多协议无线模块来构建一个智能卷帘系统。该系统可通过 Amazon
    的头像 发表于 02-28 09:46 904次阅读
    <b class='flag-5'>通过</b><b class='flag-5'>Arduino</b> Nano Matter开发板构建智能卷帘系统

    Techwiz OLED应用:OLED器件的发光效率

    OLED器件很大程度上取决于各种材料的特性和堆栈结构的厚度。TechWiz OLED 提供了模式分析、外耦合效率和功耗的结果,考虑了微腔效应、pure-cell效应等。
    发表于 02-28 08:48

    TRCX应用:OLED重复结构的模拟

    在计算OLED面板的MxN区域的电容时,模拟区域被分割成重复的TFT阵列(单位区域)。为了准确计算电容,应考虑周围电极的电场。TRCX的最佳分割和重建算法可以减少计算机内存使用量和仿真运行时间。另外,工程师可以检查总模拟区域和有效模拟区域的模拟结果。 模拟区域和单位区域
    发表于 02-18 08:57

    【瑞萨RA2L1入门学习】+ OLED驱动

    【前言】 OLED是MCU比较常见的外设之一,MCU通过OLED可以展示用户想要的东西。下面就如何在MAC OS下面使用e2Studio进行项目开发。 1、工程基础: https
    发表于 01-24 09:10

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 2809次阅读

    Arduino Nano Matter开发板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter开发板现已正式上市。这是延续今年3 月芯科科技和Arduino释出Arduino
    的头像 发表于 12-10 13:50 1420次阅读

    OLED 显示雷达数据

    使用萤火工场CEM5826-M11雷达模块,Arduino IDE 编译代码,OLED显示雷达数据
    的头像 发表于 12-10 13:38 932次阅读
    <b class='flag-5'>OLED</b> 显示雷达数据