Arduino Uno 驱动OLED进阶 显示图片_arduino uno图片-程序员宅基地

技术标签: 图片显示  arduino  oled  Arduino 系列实验  

 

用OLED实现图片的显示的具体实现方法

接线方法使用IIC方式,具体请参考入门篇

Arduino 驱动OLED屏幕IIC接线方式简单入门

 

 

看看示例实现效果哈

 

 

 

制作一张BMP图片

首先要有一张BMP图片

自己用windows自带的画版画了一张大气的 晴朗大山浮云图,保存为BMP格式。各位看官可自行创作

PS:我用的PS另存为的BMP图片无法在取模软件上读取,不解。

 

图片点阵取模

打开  字模提取V2.2 软件 

 

字模提取V2.2  

分享地址:http://pan.baidu.com/s/1i50UmxB

 

 

经过以上步骤 ,图片正确打开,会看到以下界面

 

 

接着点开取模方式,点击C51格式,就会看到点阵数组

 

在这里,注意宽度高度,还有把点阵数组都复制了。

 

开源程序代码:

 

//显示图片程序

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

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

static const unsigned char PROGMEM logo[] =
{ 
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
    0x00,0x00,0x01,0xFF,0x83,0xC0,0x00,0x00,0x00,0x02,0x00,0x18,0x00,0x00,0x00,0x00,
    0x00,0x00,0x07,0x00,0xFC,0x40,0x00,0x00,0x00,0x03,0x00,0x18,0x00,0x00,0x00,0x00,
    0x00,0x00,0x0C,0x07,0x10,0x20,0x00,0x00,0x00,0x01,0xC0,0x00,0x01,0x80,0x00,0x00,
    0x00,0x00,0x08,0x7C,0xC0,0x30,0x00,0x00,0x00,0x00,0xC0,0x00,0x03,0x80,0x00,0x00,
    0x00,0x00,0x09,0xC0,0x60,0x10,0x00,0x00,0x00,0x00,0x00,0x78,0x07,0x00,0x00,0x00,
    0x00,0x7C,0x07,0x00,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0xFE,0x0E,0x00,0x00,0x00,
    0x00,0xC7,0x9C,0x00,0x30,0x10,0x00,0x00,0x00,0x00,0x03,0xFF,0x00,0x00,0x00,0x00,
    0x01,0x80,0x70,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x07,0xFF,0x80,0x00,0x00,0x00,
    0x01,0x80,0x00,0x00,0x30,0x10,0x00,0x00,0x00,0x00,0x0F,0xFF,0xC0,0x00,0x00,0x00,
    0x00,0x80,0x00,0x00,0x60,0x1C,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x00,
    0x00,0x80,0x00,0x01,0xC0,0x04,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE2,0x00,0x00,0x00,
    0x00,0x80,0x00,0x07,0xFF,0xF8,0x00,0x00,0x00,0x00,0x1F,0xFF,0xE1,0xF0,0x00,0x00,
    0x00,0xC0,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x1F,0xC7,0xFF,0xE1,0xF0,0x00,0x00,
    0x00,0x7F,0xFF,0xE0,0x0C,0x00,0x00,0x00,0x00,0x0F,0xC7,0xFF,0xE0,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xE0,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x01,0x80,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x07,0x00,0x38,0x00,0x00,0x3E,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
    0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x23,0x00,0x04,0x00,0x07,0x00,0x00,0x00,
    0x00,0x00,0x00,0x18,0x00,0x04,0x00,0x00,0x41,0x00,0x0C,0x06,0x07,0x80,0x00,0x00,
    0x00,0x00,0x00,0x30,0x00,0x02,0x00,0x00,0xC0,0x80,0x1C,0x07,0x01,0xC0,0x00,0x00,
    0x00,0x00,0x00,0x60,0x00,0x03,0x00,0x01,0x80,0x60,0x78,0x07,0x00,0x60,0x00,0x00,
    0x00,0x00,0x00,0xCF,0x80,0x01,0x00,0x03,0x00,0x30,0x00,0x07,0x00,0x00,0x00,0x00,
    0x00,0x00,0x03,0xF8,0x7F,0xFF,0x80,0x06,0x00,0x18,0x00,0x07,0x00,0x00,0x00,0x00,
    0x00,0x00,0x07,0x80,0x00,0x00,0x40,0x0C,0x00,0x0C,0x00,0x06,0x00,0x00,0x00,0x00,
    0x00,0x00,0x1F,0xFF,0xFF,0xFF,0x20,0x18,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x70,0x00,0x00,0x00,0x30,0x30,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0xC0,0x00,0x00,0x00,0x18,0x43,0xFE,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFE,0x40,0x03,0xFF,0x60,0x00,0x00,0x00,0x00,0x00,
    0x00,0x03,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,
    0x00,0x06,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,
    0x00,0x0F,0xFF,0xE0,0x00,0x00,0x00,0xC1,0xFF,0xFF,0xC6,0x00,0x00,0x00,0x00,0x00,
    0x00,0x1A,0x00,0x1F,0xFF,0xFF,0xC0,0x60,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,
    0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x30,0x3F,0xFF,0xE0,0xC0,0x00,0x00,0x00,0x00,
    0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
    0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0F,0xFE,0x18,0x00,0x00,0x00,0x00,
    0x03,0x3F,0xFF,0xFF,0xFF,0xFF,0x80,0x06,0x7F,0xF8,0x00,0x06,0x00,0x00,0x00,0x00,
    0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
    0x0C,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x80,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,
    0x18,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x00,0x0F,0xFF,0x30,0x00,0x00,0x00,
    0x10,0x00,0x00,0x00,0x00,0x3F,0xFC,0x00,0xC1,0xFF,0xF0,0x00,0x08,0x00,0x00,0x00,
    0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
    0x10,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
    0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
  
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif

void setup()   {                
  Serial.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 
  display.clearDisplay();
}

void loop() {
  display.drawBitmap(0, 0, logo, 128, 64, 1);  //在坐标X0,Y0的位置开始显示图片
                                               //128是取模软件显示的宽度
                                               //64是取模软件显示的高度
  display.display();                           //把缓存的都显示
  delay(1);
  
  display.clearDisplay();     //清除屏幕
}

 

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ling3ye/article/details/53402238

智能推荐

360服务器linux版,360浏览器Linux版-程序员宅基地

文章浏览阅读2.1k次。原文来自:https://bbs.360.cn/thread-15529293-1-1.html 【Ubuntu & Deepin 系统】下载链接:https://yunpan.360.cn/surl_yHYBghptmsK (提取码:347d); 【Deepin(龙芯_MIPS64) 】下载链接:https://yunpan.360.cn/surl_yFvrPRipiFU (提取码:c9..._360浏览器;inux 专业版注册码

【Android进阶笔记】事件分发机制_android 事件分发机制-程序员宅基地

文章浏览阅读135次。文章目录1. DOWN 事件的流向2. MOVE 和 UP 事件的流向2.1. dispatchTouchEvent 返回 true2.2. onTouchEvent 返回 true2.3. 总结3. setOnTouchListener1. DOWN 事件的流向【关键点】dispatchTouchEvent、onTouchEvent 返回 true:事件就停止传递了(没有谁能再收到这个事件)。dispatchTouchEvent 返回 false:事件停止往子 View 传递和分发同时开_android 事件分发机制

彻底搞懂错排问题_错牌问题-程序员宅基地

文章浏览阅读6.2k次,点赞30次,收藏35次。问题:现有10本书按照顺序摆放,现要求重新排列,使得新的书的顺序中每一本书都不在原来的位置,求有多少种排列方式?这个问题推广一下,就是错排问题,是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题OK,现在详细分析这个问..._错牌问题

java 画笔 粗细_java中如何设置线条的粗细例题?-程序员宅基地

文章浏览阅读2.2k次。展开全部Java线条粗细32313133353236313431303231363533e58685e5aeb931333337386665一般要使用java Swing方面的知识importjavax.swing.*;importjava.awt.*;importjava.awt.geom.*;publicclassExample6_5extendsJFrame{publicEx..._javafx line粗细

[210923]操作系统(自考)重点笔记_必须根据分配给程序的内存区域对程序中指令 和数据的存储地址进行重定位,即要把-程序员宅基地

文章浏览阅读2.0k次,点赞5次,收藏43次。操作系统(自考)引导参考资源你当初是如何学会操作系统这门课程的? - happywei的回答 - 知乎如何学好操作系统原理这门课? - 程序员cxuan的回答 - 知乎哈尔滨工业大学 - 操作系统-MOOC应试技巧 * *简答题综合题进程调度送分题。关键:弄懂进程调度算法的规则、周转时间的计算方法(结束时间-达到时间)PV操作磁盘优化移臂调度页面调度PV操作概论/运行环境 *OS基本概念从定义、特征、功能、体系结构(*)、分类、设计(*)6个方_必须根据分配给程序的内存区域对程序中指令 和数据的存储地址进行重定位,即要把

小学生该学什么编程语言入门?-程序员宅基地

文章浏览阅读3w次。【原始问题】孩子小学6年级,对编软件感兴趣,说上初中学函数以后,打算学习编软件,但是我不懂啊,无法指导。有懂这方面的,可否指点一二,从什么地方入手?再有就是为啥我建议娃学习Python, 而不是Scratch呢?我觉得MIT的Scratch虽然很不错,但是它不够抽象化,不是一个真正的通用的编程语言。5,6岁的小小娃学scratch还行,大娃还是应该学真正的general pur

随便推点

编写程序C语言 用递归法求n,用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n...-程序员宅基地

文章浏览阅读6.5k次。用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*nint fun(int n){if(n==2){return 2;}else{return fun(n-1)+(n-1)*..._对给定的m,编写一个函数求满足1*2+2*3+3*4+..(n-1)*n<=m的最大的n。

JSP简介_jsp引擎有什么作用-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏22次。JSP简介一,JSP引擎1,JSP引擎是指支持JSP的Web服务器或Web容器。2,JSP引擎作用是把JSP标签、JSP页中的Java代码甚至连同静态HTML内容先转换成为大块的Java代码,然后Servlet被JSP引擎自动地编译成Java字节码,最后生成的整个页面信息返回给客户端。二,JSP执行过程1,Web容器处理JSP文件请求需要经过以下阶段:① 请求:客户端向服务器发送请求② 翻译阶段:JSP文件会被Web容器中的JSP引擎转换成Java源码。③ 编译阶段:Java源码会被编译成_jsp引擎有什么作用

CodeForces 982 C Cut 'em all!-程序员宅基地

文章浏览阅读62次。Cut 'em all!题意:求删除了边之后,剩下的每一块联通块他的点数都为偶数,求删除的边最多能是多少。题解:如果n为奇数,直接返回-1,因为不可能成立。如果n为偶数,随意找一个点DFS建树记录下他的子孙+本身的个数。然后再DFS一下,对于每一个点,他的个数为偶数,就把他与父节点的边隔断, cnt++。 最后cnt就是答案。代码: 1 #include<bits/s...

zabbix-agent key属性列表_system.hw.cpu[<cpu>,<info>]-程序员宅基地

文章浏览阅读5.4w次。Key描述返回值参数详细说明agent.hostname返回被监控端名称字符串-返回配置文件中配置的被监控端的名称agent.ping检测被监控端是否存活1 - 运行中 其他 - 未运行-使用函数 nodata()检测客户端是否正在运行_system.hw.cpu[,]

Qt下libusb-win32的使用方法(转)-程序员宅基地

文章浏览阅读147次。源:Qt下libusb-win32的使用方法之前一直找不到适合WIN7下的Tiny6410的USB下载软件,正好这几天开始学习USB,所以打算自己写一个专门用于Tiny6410的WIN7下的USB下载软件。 发现了libusb这个库可以用作无驱USB开发,就是说根本不需要了解Window驱动开发的知识就可以开发USB设备驱动,只需要了解一下USB的相关协议即可。Wi..._qt win32 libusb库

HTML+CSS+JS实现 ️制作loading动画效果️_js实现好看的loading效果-程序员宅基地

文章浏览阅读1.1k次,点赞3次,收藏9次。???? 作者主页:Java李杨勇???? 简介:Java领域优质创作者????、Java李杨勇公号作者 简历模板、学习资料、面试题库、技术互助【关注我,都给你】???? 欢迎点赞 ???? 收藏 留言 ???? 效果演示:文末获取源码代码目录:主要代码实现:CSS样式:.load1 .loader,.load1 .loader:before,.load1 .loader:after { background: #FFF; -w_js实现好看的loading效果

推荐文章

热门文章

相关标签