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

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

3天内不再提示

Arduino篇—OLED显示图片

冬至子 来源:X的创客课堂 作者:MRXY 2023-11-02 09:29 次阅读

课程目标

  • 图片位图数组的获取
  • OLED屏幕显示自定义图片

相关知识

图片转换为位图数组: 上节课我们在去中文字符的数组的时候,使用了PCtoLCD这个软件,但是在图片转位图数组的时候,效果不是很好。所以今天我们可以使用一款在线版的转换工具 image2cpp来实现这个功能。

选择图像文件上传: 这里的图像文件可以自行在百度上搜索喜欢的。

图片

图像设置:

1、将画布尺寸设置为 128X64 像素。
2、背景可以选择白色或者黑色。
3、缩放,选择缩放以适合比例,保持比例(scale to fit, keeping proportions)。
4、在预览框中,检查结果并调整亮度阈值来微调细节。

图片

代码生成: 选择代码输出格式为 Arduino code 并点击生成代码。

图片

电路搭建

*所需材料

ArduinoUNO * 1
OLED显示屏 * 1
杜邦线若干

电路连接

图片

程序编写

课堂练习:OLED显示图片

通过上述方法获取自定义图片的位图数组,将图片在OLED屏幕上显示出来。

代码方式:

/* 项目名称:OLED显示图片
   项目时间:2022.03.18
   项目作者:MRX
*/
#include < Wire.h >
#include < Adafruit_GFX.h >
#include < Adafruit_SSD1306.h >


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


//取128*64 逐行式 顺向高位在前
static const unsigned char PROGMEM pic1[] =
{
0x03, 0x81, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x03, 0xc1, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x03, 0xc1, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x07, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x5f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x80, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfe, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfc, 0x00, 0x00, 0x1f, 0x00, 0x30, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfc, 0x00, 0x00, 0x1f, 0x00, 0x38, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x5e, 0x00, 0x38, 0x00, 0x00, 0x01, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xe0, 0x00, 0x7e, 0x00, 0x7c, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x3f, 0x00, 0x78, 0x00, 0x00, 0x0f, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x80, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x04, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfc, 0x01, 0x00, 0x3f, 0x00, 0x04, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x03, 0x00, 0x7f, 0x80, 0x24, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x0b, 0x01, 0xff, 0xe0, 0x24, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x0f, 0x03, 0xff, 0xe0, 0x24, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x0f, 0x03, 0xff, 0xe0, 0x3c, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x3f, 0xc7, 0xff, 0xf0, 0x7c, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x1f, 0x2f, 0xff, 0xff, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x0f, 0x03, 0xff, 0xf8, 0x3c, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfc, 0x00, 0xff, 0xe0, 0xff, 0xc0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfe, 0x00, 0x7f, 0xe1, 0xff, 0xf0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0x00, 0x7f, 0xf3, 0xf3, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0x80, 0x21, 0xf8, 0x01, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xc0, 0x20, 0x01, 0xf9, 0x80, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xf0, 0x67, 0xff, 0xf9, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xf8, 0x61, 0xff, 0xf3, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xf2, 0x1e, 0x00, 0x06, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0x83, 0x07, 0xc0, 0xf8, 0x60, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xfc, 0x07, 0x81, 0x80, 0xe0, 0xe0, 0x10, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xe0, 0x07, 0xe0, 0x00, 0x83, 0xe0, 0x00, 0x18, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x80, 0x07, 0xfc, 0x00, 0x0f, 0xe0, 0x00, 0x01, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x00, 0x01, 0xfe, 0x00, 0x3f, 0xe0, 0x00, 0x05, 0x86, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfa, 0x00, 0x00, 0x7e, 0x00, 0x3f, 0xc0, 0x00, 0x0f, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0x3c, 0x00, 0x00, 0x1e, 0x00, 0x3f, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xf6, 0x78, 0x00, 0x00, 0x0e, 0x00, 0x3c, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xf0, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x3f, 0xf0, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x73, 0xe0, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x73, 0x60, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff,
0x93, 0x80, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x46, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x01, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x81, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x40, 0x00, 0x00, 0x1f, 0xf3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x00, 0x00, 0x00, 0x1f, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x20, 0x20, 0x00, 0x00, 0x1f, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x20, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff
};/*鸣人*/
static const unsigned char PROGMEM pic2[] =
{
0x00, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xfe, 0x00, 0x0f, 0xf8, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xef, 0x80, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xe7, 0xc0, 0x8f, 0x87, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xe3, 0xc7, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xff, 0xc3, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6e, 0xff, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xff, 0xff, 0xff, 0xbe, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x7b, 0xff, 0xff, 0xff, 0xdd, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x3f, 0xff, 0xff, 0xff, 0xe1, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x3f, 0xff, 0xfc, 0xff, 0xe1, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x3f, 0xe7, 0xf8, 0x7f, 0xf3, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x1f, 0xe3, 0xf0, 0x7f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x1f, 0xc1, 0xe0, 0x3f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x0f, 0xc0, 0xe0, 0x3f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x0f, 0xc0, 0xc0, 0x7f, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xfe, 0x00, 0x0f, 0xf8, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xef, 0x80, 0x30, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0xe7, 0xc0, 0x8f, 0x87, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xe3, 0xc7, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xff, 0xc3, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6e, 0xff, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xff, 0xff, 0xff, 0xbe, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x6f, 0xff, 0xff, 0xff, 0xfc, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x7b, 0xff, 0xff, 0xff, 0xdd, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x3f, 0xff, 0xff, 0xff, 0xe1, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x3f, 0xff, 0xfc, 0xff, 0xe1, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x3f, 0xe7, 0xf8, 0x7f, 0xf3, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x1f, 0xe3, 0xf0, 0x7f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x1f, 0xc1, 0xe0, 0x3f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x0f, 0xc0, 0xe0, 0x3f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x0f, 0xc0, 0xc0, 0x7f, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x01, 0xff, 0x80, 0x1b, 0xf0, 0x07, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,   0x03, 0xff, 0x80, 0x1b, 0xf0, 0x07, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,   0x03, 0xff, 0x00, 0x0b, 0xe0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,   0x07, 0xff, 0x00, 0x09, 0xc0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,   0x0f, 0xff, 0x80, 0x09, 0xc0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};/*小樱*/void setup() {  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  display.setTextColor(WHITE);//开像素点发光  display.clearDisplay();//清屏}
void loop() {  display.drawBitmap(0, 0, pic1, 128, 64, 1); //画出字符对应点阵数据  display.display();//开显示  delay(2000);  display.clearDisplay();//清屏  display.drawBitmap(64, 0, pic2, 128, 64, 1); //画出字符对应点阵数据  display.display();//开显示  delay(2000);  display.clearDisplay();//清屏}

代码框架分析:

1、在代码中添加 3 个需要用到的库。Wire、Adafruit GFX 以及 Adafruit SSD1306。

#include < Wire.h >
#include < Adafruit_GFX.h >
#include < Adafruit_SSD1306.h >

2、定义重置参数

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

3、setup() 函数中添加设备地址。

其中 0x3c 是 OLED 显示屏的 I2C 地址。如果你有多个 I2C 设备,那么可以用 I2C 扫描程序来找到每个设备的 I2C 地址。

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

4、清屏

display.clearDisplay();//清屏

5、在 loop() 函数中,添加位图的显示代码。其中 pic1和pic2 是从图片转换而来的位图数组。

void loop() {
  display.drawBitmap(0, 0, pic1, 128, 64, 1); //画出字符对应点阵数据
  display.display();//开显示
  delay(2000);
  display.clearDisplay();//清屏
  display.drawBitmap(64, 0, pic2, 128, 64, 1); //画出字符对应点阵数据
  display.display();//开显示
  delay(2000);
  display.clearDisplay();//清屏
}

6、显示位图的指令我们上节课已经和大家做个解释。

前两个参数为图片的起始坐标,第 4、5 个参数为图片的长宽(像素),最后是颜色参数。

display.drawBitmap(0, 0, pic1, 128, 64, 1);

7、打开显示功能

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

    关注

    8

    文章

    357

    浏览量

    60409
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184843
  • OLED显示屏
    +关注

    关注

    6

    文章

    202

    浏览量

    30322
  • OLED显示
    +关注

    关注

    1

    文章

    52

    浏览量

    16916
  • SSD1306
    +关注

    关注

    2

    文章

    40

    浏览量

    13391
收藏 人收藏

    评论

    相关推荐

    怎样在OLED或其他单色屏上显示图片

    OLED或其他单色屏上显示图片,为减小Flash占用,需要转换为单色的位图。对于主控是sdd1306的oled的取模方式:打开Image2Lcd。按照如图左侧进行配置,将
    发表于 07-15 08:24

    怎样使用OLED模块显示自己想要的字和图片

    PCtoLCD2002取模软件有何作用?怎样使用OLED模块显示自己想要的字和图片呢?
    发表于 01-21 06:26

    怎么将自己喜欢的图片显示oled屏幕上呢

    相信大家在使用oled的时候不免想要把自己喜欢的图片显示到屏幕上,那么怎么实现呢?
    发表于 01-21 06:22

    怎么用MCU实现OLED显示图片

    怎么用MCU实现OLED 显示图片
    发表于 10-13 06:29

    0.96_OLED显示屏_arduino_IIC_例程

    0.96OLED显示屏_arduino_IIC_例程.rar
    发表于 07-11 18:43 96次下载

    0.96_OLED显示屏_arduino_SPI_例程

    0.96OLED显示屏_arduino_SPI_例程.rar
    发表于 07-12 10:36 117次下载

    利用51单片机+0.96寸iic接口oled显示图片或动图

    ~利用51单片机+0.96寸iic接口oled显示图片或动图
    发表于 11-10 17:21 33次下载
    利用51单片机+0.96寸iic接口<b class='flag-5'>oled</b><b class='flag-5'>显示</b><b class='flag-5'>图片</b>或动图

    OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

    OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇
    发表于 12-01 10:51 53次下载
    <b class='flag-5'>OLED</b>的波形曲线、进度条、<b class='flag-5'>图片</b><b class='flag-5'>显示</b>(STM32 HAL库 模拟SPI通信 5线<b class='flag-5'>OLED</b>屏幕)详细篇

    基于51单片机的OLED显示图片文字

    基于51单片机的OLED屏幕显示,可显示图片文字字母等。
    的头像 发表于 06-12 00:43 1.3w次阅读
    基于51单片机的<b class='flag-5'>OLED</b><b class='flag-5'>显示</b><b class='flag-5'>图片</b>文字

    Hello Alexa使用OLED显示模块和Arduino

    电子发烧友网站提供《Hello Alexa使用OLED显示模块和Arduino.zip》资料免费下载
    发表于 11-10 10:37 1次下载
    Hello Alexa使用<b class='flag-5'>OLED</b><b class='flag-5'>显示</b>模块和<b class='flag-5'>Arduino</b>

    SSD1306 OLED显示屏上的Arduino Flash文本

    电子发烧友网站提供《SSD1306 OLED显示屏上的Arduino Flash文本.zip》资料免费下载
    发表于 01-31 10:12 1次下载
    SSD1306 <b class='flag-5'>OLED</b><b class='flag-5'>显示</b>屏上的<b class='flag-5'>Arduino</b> Flash文本

    使用ArduinoOLED显示器的乒乓球游戏

    电子发烧友网站提供《使用ArduinoOLED显示器的乒乓球游戏.zip》资料免费下载
    发表于 02-01 11:32 1次下载
    使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>OLED</b><b class='flag-5'>显示</b>器的乒乓球游戏

    Arduino上将文本打印到OLED显示

    电子发烧友网站提供《在Arduino上将文本打印到OLED显示器.zip》资料免费下载
    发表于 06-09 10:29 1次下载
    在<b class='flag-5'>Arduino</b>上将文本打印到<b class='flag-5'>OLED</b><b class='flag-5'>显示</b>器

    Arduino在SSD1306 OLED显示屏上随机移动文本

    电子发烧友网站提供《Arduino在SSD1306 OLED显示屏上随机移动文本.zip》资料免费下载
    发表于 06-09 10:09 0次下载
    <b class='flag-5'>Arduino</b>在SSD1306 <b class='flag-5'>OLED</b><b class='flag-5'>显示</b>屏上随机移动文本

    带有选择选项的Arduino OLED显示菜单

    电子发烧友网站提供《带有选择选项的Arduino OLED显示菜单.zip》资料免费下载
    发表于 06-28 15:53 3次下载
    带有选择选项的<b class='flag-5'>Arduino</b> <b class='flag-5'>OLED</b><b class='flag-5'>显示</b>菜单