找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18564|回复: 5
打印 上一主题 下一主题
收起左侧

Arduino初学者在OLED上显示文本,图像和动画 程序+资料

  [复制链接]
跳转到指定楼层
楼主
ID:472844 发表于 2019-7-20 20:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在本文中,您将学习如何通过Arduino运行OLED,并在其上显示文本,图像和动画。
硬件组件:
Arduino Uno Rev3× 1
0.96英寸OLED 64x128显示模块× 1
21厘米40P公/母跳线× 1
软件应用程序和在线服务:
Arduino IDE
在本文附件中,我们将介绍OLED显示器、OLED显示器的差异,如何通过简单的控制器运行它们,以及在它们上显示文本和图像。非常适合新手小白学习如何在OLED上显示文本、图像和动画。

在本文中,我们将讨论 OLED 显示器的故事及其差异,如何通过简单的

控制器运行它们,以及在它们上显示文本和图像。在本文结尾处,您将 能够:


解释 OLED 显示理论

运行 Arduino 的 OLED 显示器

显示所有类型的文本或图像

显示简单的动画

OLED:什么是理论? 有机发光二极管(OLED)是一种高对比度和高分辨率的显示器,使用户易于阅读。这种显示器没有背光并且自己创建背光,这使得它们比


LCD 更清晰,更清晰和更平滑。美国物理化学家 Ching W. Tang 和
Steven Van Slyke 在 Eastman Kodak 于 1987 年建造了第一台实用的

OLED 设备。如今我们可以看到升级后的 OLED,如 SAMSUNG 的

Super AMOLED 和 AMOLED Plus 以及 LG 的 POLED。


小型 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 端
按上传(箭头符号)按钮。
你们都准备好了!

集合 您可以使用面包板和公/母跳线进行操作。 现在上传代码。



要显示图像,您必须将其转换为十六进制代码。有几个应用程序将图像

转换为十六进制代码。您可以从以下链接下载其中一个。首先,运行软 件并从“文件”菜单中打开图像。您的图像尺寸应小于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 location, y location, Name of image, width, height)


完成后,将代码上传到 Arduino。


有关更多练习,我们添加示例规范和文本动画。尝试编辑它并在显示屏

上制作自己的动画。


  1. #include "ssd1306.h"
  2. #define VCCSTATE SSD1306_SWITCHCAPVCC
  3. #define WIDTH     128
  4. #define HEIGHT     64
  5. #define PAGES       8
  6. #define OLED_RST    9
  7. #define OLED_DC     8
  8. #define OLED_CS    10
  9. #define SPI_MOSI   11    /* connect to the DIN pin of OLED */
  10. #define SPI_SCK    13     /* connect to the CLK pin of OLED */

  11. uint8_t oled_buf[WIDTH * HEIGHT / 8];

  12. void setup() {
  13.   Serial.begin(9600);
  14.   Serial.print("OLED Example\n");


  15.   SSD1306_begin();
  16.   SSD1306_clear(oled_buf);

  17.   /* display images of bitmap matrix */
  18.   SSD1306_bitmap(0, 2, Signal816, 16, 8, oled_buf);
  19.   SSD1306_bitmap(24, 2,Bluetooth88, 8, 8, oled_buf);
  20.   SSD1306_bitmap(40, 2, Msg816, 16, 8, oled_buf);
  21.   SSD1306_bitmap(64, 2, GPRS88, 8, 8, oled_buf);
  22.   SSD1306_bitmap(90, 2, Alarm88, 8, 8, oled_buf);
  23.   SSD1306_bitmap(112, 2, Bat816, 16, 8, oled_buf);

  24.   SSD1306_string(0, 52, "MUSIC", 12, 0, oled_buf);
  25.   SSD1306_string(52, 52, "MENU", 12, 0, oled_buf);
  26.   SSD1306_string(98, 52, "PHONE", 12, 0, oled_buf);

  27.   SSD1306_char3216(0, 16, '1', oled_buf);
  28.   SSD1306_char3216(16, 16, '2', oled_buf);
  29.   SSD1306_char3216(32, 16, ':', oled_buf);
  30.   SSD1306_char3216(48, 16, '3', oled_buf);
  31.   SSD1306_char3216(64, 16, '4', oled_buf);
  32.   SSD1306_char3216(80, 16, ':', oled_buf);
  33.   SSD1306_char3216(96, 16, '5', oled_buf);
  34.   SSD1306_char3216(112, 16, '6', oled_buf);

  35.   SSD1306_display(oled_buf);
  36. }

  37. void loop() {

  38. }
复制代码

全部资料51hei下载地址:
OLED.zip (10.89 MB, 下载次数: 229)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏8 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:282095 发表于 2019-7-21 10:47 | 只看该作者
现在据说中学生都在学adrinuo
回复

使用道具 举报

板凳
ID:383182 发表于 2019-11-14 09:10 | 只看该作者
正好需要这个 谢谢
回复

使用道具 举报

地板
ID:452731 发表于 2019-11-19 16:58 | 只看该作者
开发思路,可以借鉴
回复

使用道具 举报

5#
ID:53978 发表于 2021-2-26 21:45 | 只看该作者
怎么加载不上ssd1306.h库呢
回复

使用道具 举报

6#
ID:1040525 发表于 2022-7-26 08:00 | 只看该作者
四针如何连接
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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