当前位置: 首页 > news >正文

如何建设好一个网站网站颜色编号

如何建设好一个网站,网站颜色编号,企业小程序建设公司,网络推广公司经营范围本文开发环境: MCU型号:ESP8266IDE环境 : Arduino IDE 1.8.90.96寸 OELD模块 本文内容: esp8266 使用 u8g2图形库 驱动 OELD 显示字符和图标自定义软件IIC的接口 文章目录 一、简介二、u8g2 图形库1. u8g2 图形库的安装2. 运行一…

本文开发环境:

  • MCU型号:ESP8266
  • IDE环境 : Arduino IDE 1.8.9
  • 0.96寸 OELD模块

本文内容:

  1. esp8266 使用 u8g2图形库 驱动 OELD 显示字符和图标
  2. 自定义软件IIC的接口

文章目录

  • 一、简介
  • 二、u8g2 图形库
    • 1. u8g2 图形库的安装
    • 2. 运行一个示例
      • 2.1 接线
      • 2.2 打开一个示例
    • 3. 修改接线引脚

一、简介

使用ESP8266模块(LoLin)驱动0.96寸OLED:
在这里插入图片描述

二、u8g2 图形库

u8g2 是一个强大的图形库,支持多种控制器,当然包括本文所用 oled模块的驱动IC (SSD1306),图形库通过提供API函数的方法,使用户可以非常方便的显示各种各样图标,字符甚至动效等。详见 u8g2 wiki。在 wiki 中,我们可以看到该库提供的控制器:
在这里插入图片描述

1. u8g2 图形库的安装

在使用功 u8g2 库之前,需要在Arduino IDE(以下简称IDE)中安装 u8g2 图形库,该库和其他库的安装相同:

  • 在 IDE 中按住:Ctrl + Shift + I 打开库管理器:
    在这里插入图片描述
  • 在库管理中搜索 u8g2 并点击右下角 “安装” :
    在这里插入图片描述
    (本文已经安装最新版本,固右下角不显示安装按钮)
  • 测试库的安装
    在 IDE 编辑窗口中,输入以下简单的测试程序,并编译,通过即表示安装已经成功:
#include <Arduino.h>
#include <U8g2lib.h>     //引用 u8g2 图形库void setup(void) 
{
}void loop(void) 
{
}

2. 运行一个示例

本小结首先通过一个简单的示例,让OLED显示一个“HELLO WORLD!”字符串

2.1 接线

MCUOLED
D1SCL
D2SDA

在这里插入图片描述

2.2 打开一个示例

当我们安装好u8g2库以后,在【文件】-【示例】-【第三方库】中,就可以找到 u8g2 官方给我们提供的各种 demo:
在这里插入图片描述
我们在 full_buffer 目录中,选择一个简单的程序:HelloWorld :
在这里插入图片描述
如果我们直接编译的话,将会报错,原因是我们没有u8g2这个对象,之所以示例程序没有给我们创建,是因为它无法预知我们使用的是什么oled驱动器,接线方式如何,所以需要用户自己实例化一个u8g2对象,方法只需要在上文注释掉的内容中,找到合适的代码,取消注释即可,本文使用的oled控制器为SSD1306,IIC驱动,并使用默认的IIC口,无Reset引脚,故选择取消以下这一行的注释:
在这里插入图片描述
如上图所示,打开注释以后,既可编译,编译完成即可下载(由于官方的示例是只读的,所以需要另存为一份,或者是整体复制出来):

在运行一个示例以后,其他示例的方法是一致的,本文简介运行的示例为:Weather
在这里插入图片描述

重要提示
注意,这里是 page_buffer 中的 Weather 而不是 full_buffer 中的Weather ,在 1.8.13 测试中,full_buffer 的例子是无法正常运行的,原因应该是显存方式不同:
/*
U8g2lib Example Overview:
Frame Buffer Examples: clearBuffer/sendBuffer. Fast, but may not work with all Arduino boards because of RAM consumption
Page Buffer Examples: firstPage/nextPage. Less RAM usage, should work with all Arduino boards.
U8x8 Text Only Example: No RAM usage, direct communication with display controller. No graphics, 8x8 Text only.
This is a page buffer example.
*/
从上文提示可获取到的信息,Frame Buffer 的例子可能不合适所有的arduino板子,因为他需要更大的内存空间来保证更快的速度。

3. 修改接线引脚

上文我们直接将SCL和SDA和MCU的D1,D2连接,若我们想要使用其他的IO口来驱动OLED,只需要在实例化对象的时候,输入对应的SCL,和SDA脚即可。
比如,我们想要SDA接开发板上的D5,SCL接开发板上的D6,这个时候我们可以通过原理图查看,D5,D6对应的GPIO口编号:
在这里插入图片描述
这样,SDA接D5,对应接的是GPIO14,SCL接的是D6,对应接的是GPIO12我们就可以编写如下程序:

#include <Arduino.h>
#include <U8g2lib.h>#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endifU8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 12, /* data=*/ 14, /* reset=*/ U8X8_PIN_NONE);   // All Boards without Reset of the Displayvoid setup(void) {u8g2.begin();
}void loop(void) {u8g2.clearBuffer();         // clear the internal memoryu8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable fontu8g2.drawStr(0,10,"Hello SSD1306!");  // write something to the internal memoryu8g2.sendBuffer();          // transfer internal memory to the displaydelay(1000);  
}

运行如下:
在这里插入图片描述

http://www.yayakq.cn/news/810050/

相关文章:

  • 安溪县住房和城乡规划建设网站项目开发的五个阶段
  • wap网站开发用什么语言中国食品网
  • 网站空间费用一年多少游戏网站免费入口
  • 足彩推荐网站开发html下载安装
  • 网站商场系统软件公司企业邮箱优势
  • 沧州高端网站建设深圳房产 网站建设
  • 淄博网站建设兼职平罗县住房和城乡建设局网站
  • 樟木头仿做网站简单的手机网站模板下载
  • 深圳网站设计公司 学校城乡住房建设厅网站首页
  • 怎么劝客户做网站青少年活动中心网站建设依据
  • 新安网站建设收录优美的图片app
  • html做网站需要服务器吗宁波百度seo代理
  • 山东省建设厅招标网站首页wordpress怎么给别人建站
  • 建工作室网站全国大学生网页设计大赛
  • 建网站自学一呼百应推广平台
  • 优惠券网站开发哪家好网站上传视频怎么做
  • 网站上全景云台怎么做的jquery网站模板下载
  • 怎么制作页面边框如何优化网站打开速度
  • 做网站时如何建立栅格网站数据怎么备份
  • 网站开发中怎么样对接接口如何制作一个购物平台
  • 医疗类网站还有做seo怎样销售网站
  • 在线推广企业网站的方法成全视频免费观看在线看古装电视剧
  • 网站系统正在升级维护p2p网站开发的流程
  • 油漆工找活做的网站设计一份企业网络的组网方案
  • 公共体育课程网站建设苏州网站设计制作
  • 电子商务网站订单功能wordpress 搜索字数
  • 周村有做网站广告的吗贵阳网站建设设计公司哪家好
  • 易班网站建设广东住房和城乡建设厅官方网站
  • 建设食品网站阿里云虚拟主机可以做几个网站吗
  • 唐山做网站多少钱泰钢材企业网站源码