Arduino提高篇01—点亮OLED显示屏

OLED「OrganicLight-Emitting Diode」,有机发光二极管,又称有机发光半导体,是当下非常受欢迎的显示技术。OLED显示屏与传统LCD显示方式不同,它无需背光,每个像素点自发光,体积更小、更轻更薄更省电,而且能做成柔性屏。本篇介绍Arduino下OLED屏的使用。

1. OLED屏介绍

OLED屏因其小巧轻薄耗电低等特点,越来越多的应用于嵌入式电子设备中。OLED屏种类不同,显示的颜色也不同,常用的有白色显示、蓝色显示和黄蓝双色显示。屏幕的尺寸和内置驱动芯片也多种多样,常用的驱动接口有SPI和IIC两种。本篇中使用的使一款0.96寸蓝色IIC驱动屏,其内置驱动芯片为SSD1306。

0.96寸OLED显示屏

2. 安装驱动库

OLED显示屏驱动库非常多,本篇我们使用两个库:「Adafruit_SSD1306」和「Adafruit_GFX」。在Arduino IDE中点击「项目」—「加载库」—「管理库」,分别查找选择最新版本进行安装。

安装Adafruit_SSD1306库
安装Adafruit_GFX库

3.实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • OLED显示屏

4.实验步骤

1. 根据原理图搭建电路图。

IIC接口只需要两根线。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。

实验原理图如下图所示:

电路连接图

实物连接图如下图所示:

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

/*
 * OLED显示
 */
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET     4
Adafruit_SSD1306 display(128, 64, &Wire,OLED_RESET);

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC,0x3C);
  display.setTextColor(WHITE);//开像素点发光
  display.clearDisplay();//清屏
  
  display.setTextSize(1); //设置字体大小  
  display.setCursor(35, 5);//设置显示位置
  display.println("-TonyCode-");

  display.setTextSize(2);//设置字体大小  
  display.setCursor(15, 30);//设置显示位置
  display.println("OLED TEST");
  
  display.display(); // 开显示
 
}

void loop() {

}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

程序下载

4. 实验现象

较LCD液晶显示屏,OLED的显示效果非常不错,且可视角度更大。

实验现象

更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注:
扫码加入微信公众号:TonyCode

  • 31
    点赞
  • 291
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
Arduino OLED是一种用于显示图形和文本的屏幕,可以通过Arduino控制。根据通信协议的不同,Arduino OLED可以分为iic通信协议下的OLED和SPI通信协议下的OLED。iic通信协议下的OLED通常有四个引脚,而SPI通信协议下的OLED通常有七个引脚。你可以使用相应的库来控制Arduino OLED,比如Adafruit_SSD1306库和Adafruit_GFX库。在代码中,你需要引入相应的库,并进行接线设置。然后,你可以使用相应的函数来初始化和控制OLED屏幕,比如设置字体、绘制文本和图形等。 #### 引用[.reference_title] - *1* [Arduino驱动OLED显示屏](https://blog.csdn.net/m0_49525050/article/details/125250530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Arduino+OLED基础保姆级教程(1)](https://blog.csdn.net/m0_59287238/article/details/128680534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Arduino驱动oled](https://blog.csdn.net/qq_66813359/article/details/128995250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值