第一篇:先打好基础(基础篇->1)

(一)先说两句

这个教程从0到1让你入门OLED;教程是系列课程包括:OLED上显示第一行字,显示数字,显示汉字到写个简单的OLED显示界面再到最后写个炫酷的菜单功能的实现。

通过本系列教程大家能达到的效果:

视频效果演示

如果你有基础可以点击下面蓝色链接跳转到实现过程!

这篇是保姆级的实现过程哟!

(二)关于OLED的必懂知识

市面上 的OLED有很多种,多式多样;我选择用简单的两种分类方式去分类:第一种是根据通信协议分为:iic通信协议下的OLED(栗子:图一是常见的四针 iic通信协议的OLED)和SPI通信协议下的OLED(栗子:图二是常见的七针支持SPI协议的OLED);

图一:常见支持iic协议的四针OLED                                           图二:常见支持SPI协议的七针OLED

本套系列教程举例使用七针SPI协议下的0.96寸OLED;当然适合四针0.96寸OLED,只需要改个引脚定义函数和引脚的接线;

基于什么是iic通信,什么是spi通信可以去参考小光学嵌入式的下面这条博文:

小光学嵌入式iic和spi通信的讲解博文

(三)OLED的显示原理

简单讲解一下引脚功能吧(栗子用的是OLED8080)

CS:为OLED的片选信号;

WR:向OLED 写入数据;

RD:从OLED读取数据;

D[7-0]:8位双向数据线;

RST(RES):硬件复位OLED;

DC(RS):命令/数据标志(0,读写命令;1,读写数据);

OLED8080并口读写过程:

模块的8080并口读/写的过程为:

①将数据放到数据口;
②根据要写入/读取的数据的类型,设置DC(RS)为高(数据)/低(命令);
③拉低片选,选中SSD1306;
④接着我们根据是读数据,还是要写数据置RD/WR为低;
⑤读数据过程:在RD的上升沿, 使数据锁存到数据线(D[7:0])上;
⑥写数据过程:在WR的上升沿,使数据写入到SSD1306里面;
⑦拉高CS和DC(RS)。
更详细的可以去看看博主yngz_Miao的下面这篇博文;

关于OLED显示原理的详细博文

(四)0.96寸七针OLED与arduino接线

SCL=D0=10;                                        RES=RESET;

SDA=D1=9;                                            GND=GND;

CS=12;                                                 VCC=VCC/5V;

DC=11;

(五)显示万能词 hello world

首先对U8g2库有个了解吧;U8g2库是嵌入式设备单色图形库,支持非常多的嵌入式设备平台,比如arduino,stm32,esp8266等等。。。

关于U8g2库在CSDN上其实好文章很多,我在这引用一个,我就不去一一去讲了

文章来自于单片机菜鸟哥关于U8g2库的文章

效果图:

(图拍的有点模糊,估计是焦距的问题吧)

代码:

#include "U8glib.h"//U8g2库
void draw(void);
//四针iic的引脚定义
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);//SCL-A5;SDA-A4
//七针spi的引脚定义
//U8GLIB_SSD1306_128X64 u8g(10, 9, 12, 11);  // SW SPI Com: SCL =D0= 10, SDA = D1=9, CS = 12, DC = 11,RES=RESET,D0=10,D1=9;
void setup() {}
void draw(){u8g.setFont(u8g_font_fub14);//设置字体和字号u8g.setPrintPos(18,32); //显示的位置u8g.print("hello world");//显示时间字样
}
void loop() {u8g.firstPage();  do {draw();} while( u8g.nextPage() );}

简单解释一下:首先就是U8g库的引入(注意:引入使用前记得去查一下库安装是否成功);下一步就是引脚的定义,关于引脚我在上面的关于 硬件那一块去讲过。然后就是自己写一个函数叫draw;把显示的内容,字号和显示位置用draw函数封装进去;setup函数里面是空的;loop函数是相当于函数运行的主函数,程序运行过程中它会不断地刷新,屏幕也是它得不断地刷新自己要显示的内容。所以把封装好的draw函数用一个do-while循环不断地刷新显示即可;

Arduino+OLED基础保姆级教程(1)相关推荐

  1. 「AR裸眼插画」零基础保姆级教程来啦

    使用Kivicube AR在线制作平台,新手也能5分钟制作出同款超震撼"AR裸眼插画",观看Kivisense吉祥物伊弥戟透过手机屏幕打破次元壁来到真实世界! 我们准备了视频与图文 ...

  2. 【宿舍指纹锁---Arduino UNO (保姆级教程)】

    宿舍指纹锁-Arduino UNO 1.准备材料 Arduino UNO AS608指纹模块+TTL转接口 MG996R舵机 1602液晶 胶枪 杜邦线 面包板 细线 5v电源 2.库文件 https ...

  3. uni-app云开发基础保姆级教程

    什么是uni-app云开发 uni-app云开发,也叫uniCloud,uniCloud是由Dcloud联合阿里云,腾讯云推出的,基于serverless的,跨全端的.用js开发服务端的云产品 uni ...

  4. ESP 保姆级教程 基础篇 —— 环境安装、NodeMcu引脚介绍

    快速导读 1.安装 Arduino IDE -- 1.8.13 2.安装 ESP8266 -- 2.7.4 3.配置Arduino IDE 首选项 4.硬件开发板 -- ESP8266 NodeMcu ...

  5. 【保姆级教程】Docker基础操作篇-Dokerfile(含源码)

    Docker系列文章: 你好!Docker[概念+源码+保姆式教程] [保姆级教程]Docker进阶操作篇-Compose(含源码) Docker常用命令 [保姆级教程]VMware+CentOS 7 ...

  6. 图片适应窗口_毕业论文排版保姆级教程——图片和公式排版

    [小技巧]Origin作图过程中如何让图看起来更生动 2020-05-30 [小技巧]简单设置让你origin导出的图片不在有大白边 2020-05-29 [干货放送]萤火科研资源免费赠送第一期--必 ...

  7. 从购买服务器到网站搭建成功保姆级教程~超详细

    ??从购买服务器到网站搭建成功保姆级教程~真的超详细,各位看官细品 ??前言 ??预备知识 ??什么是云服务器? ??什么是域名? ??什么是SSL证书? ??服务器选配 ??阿里云[官网链接](ht ...

  8. 前端学习笔记 HTML5 保姆级教程

    HTML5 保姆级教程 前端学习路线: HTML→CSS→JavaScript→jQuery→HTML5→CSS3→ES6→Vue.js→webpack→Node.js 除了掌握这些技术,后期我还需要 ...

  9. 保姆级教程:手把手教你搭建个人网站

    保姆级教程:手把手教你搭建个人网站 前言 准备与搭建 1.Git管理工具的下载与安装 2.nodejs环境安装 3.hexo博客框架下载 npm换国内源 使用npm下载hexo博客框架 初始化mybl ...

最新文章

  1. C程序设计-----第1次作业
  2. Linux系统中如何关闭触摸鼠标
  3. JSP Cookie案例
  4. python时间模块哪个好arrow模块_python库: arrow (时间)
  5. 【收藏】Maven 生成打包可执行jar包
  6. 企业的无线安全问题综合解决方案
  7. 升级php7_PHP 5.6 已结束安全支持,你升级到 PHP 7 系列了吗?
  8. 2.vue的diff算法(2020.12.07)
  9. 魅族Flyme5系统内置原生铃声免费下载
  10. 谷粒商城:SPU管理规格显示404
  11. 【紫书第六章】二叉树、欧拉图基本概念与性质
  12. 安卓rom制作教程_【教程】安卓手机刷入第三方ROM通用教程
  13. 魔方cfop公式软件_按这七步训练,你可以快速玩转魔方!
  14. springboot后端接受图片到本地
  15. 2019中国区块链开发者大会 | Conflux 伍鸣:性能问题仍是区块链的应用阻碍
  16. 否定、合取、析取、条件、双条件定义及LaTex公式
  17. 寒假程序翻译1.27
  18. ps2摇杆模块控制小车_八个超赞的两轮平衡小车设计,小白最爱
  19. if与if else与if else if else之间的用法与区别(C++)
  20. golang syscall 系统调用认知

热门文章

  1. 佳佳GIS学习笔记2
  2. 智慧供应链专题——基于智慧大脑的供应链协同平台
  3. springmvc原理+springmvc面试题
  4. iPhone 13怎么关机?苹果iPhone 13关机图文教程
  5. 如何打造139团队(不同层次人员的选择与培养,大型研发团队,大型敏捷开发团队)
  6. 阿里巴巴经典智力问题
  7. spark笔记spark优化
  8. “蔚来杯“2022牛客暑期多校训练营7 L Maximum Range(强连通缩点+网络流输出方案)
  9. spring-上手spring
  10. ico格式的计算机图标,ico图标是什么格式的文件